==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_5c1e3b9f-8cbe-443a-bdb5-92ebcaf0b08f]...done ==> Making package: curl 8.19.0-1.1 (Sat Mar 14 06:41:42 2026) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.19.0-1/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.19.0-1.1 (Sat Mar 14 05:42:24 2026) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (9) New Version Net Change core/debuginfod 0.194-2 0.42 MiB core/libmicrohttpd 1.0.2-1 0.61 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.34-1 0.14 MiB extra/zlib-ng 2.3.3-1 0.28 MiB extra/git 2.53.0-1 29.72 MiB extra/patchelf 0.18.0-4 0.26 MiB extra/valgrind 3.25.1-4 74.43 MiB Total Installed Size: 106.00 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing patchelf... installing libmicrohttpd... installing debuginfod... Optional dependencies for debuginfod elfutils=0.194: for translations installing valgrind... Optional dependencies for valgrind lib32-glibc: 32-bit ABI support [installed] python: cg_* scripts :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Updating the info directory file... ==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Creating working copy of curl git repo... Cloning into 'curl'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' libtoolize: Remember to add 'LT_INIT' to configure.ac. configure.ac:130: installing './compile' configure.ac:503: installing './config.guess' configure.ac:503: installing './config.sub' configure.ac:130: installing './install-sh' configure.ac:133: installing './missing' docs/examples/Makefile.am: installing './depcomp' ==> Starting build()... checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.19.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for sshd... no checking for sshd... no checking for sftp-server... no checking for sftp-server... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1502' (raw: '15.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking for code coverage support... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking whether to use libbacktrace... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.21.3 checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 checking for DES support in OpenSSL... yes checking for SRP support in OpenSSL... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend checking whether to use native CA store... no checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... yes checking if libraries can be versioned... yes checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2 options with pkg-config... found configure: -l is -lngtcp2 configure: -I is configure: -L is checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes checking for ngtcp2/ngtcp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2_crypto_ossl options with pkg-config... found configure: -l is -lngtcp2_crypto_ossl configure: -I is configure: -L is checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_ossl... yes checking for ngtcp2/ngtcp2_crypto.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking runtime libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is thread-safe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if localtime_r can be linked... yes checking if localtime_r is prototyped... yes checking if localtime_r is compilable... yes checking if localtime_r seems to work... yes checking if localtime_r usage allowed... yes checking if localtime_r might be used... yes checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for snprintf... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating projects/Makefile config.status: creating projects/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lngtcp2_crypto_ossl -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.19.0 SSL: enabled (OpenSSL) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Type checking: enabled (--disable-typecheck) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca native: no ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (ngtcp2 + nghttp3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd Making all in lib make[1]: Entering directory '/startdir/src/build-curl/lib' make all-am make[2]: Entering directory '/startdir/src/build-curl/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_share.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-multi_ntfy.lo CC libcurl_la-netrc.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-ratelimit.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_share.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-apple.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-vssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-basename.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-fopen.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-snprintf.lo CC curlx/libcurlu_la-strcopy.lo CC curlx/libcurlu_la-strdup.lo CC curlx/libcurlu_la-strerr.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-apple.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-vssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-basename.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-fopen.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-snprintf.lo CC curlx/libcurl_la-strcopy.lo CC curlx/libcurl_la-strdup.lo CC curlx/libcurl_la-strerr.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la make[2]: Leaving directory '/startdir/src/build-curl/lib' make[1]: Leaving directory '/startdir/src/build-curl/lib' Making all in docs make[1]: Entering directory '/startdir/src/build-curl/docs' RENDER mk-ca-bundle.1 RENDER curl-config.1 Making all in . RENDER runtests.1 RENDER testcurl.1 make[2]: Entering directory '/startdir/src/build-curl/docs' RENDER wcurl.1 make[2]: Leaving directory '/startdir/src/build-curl/docs' Making all in cmdline-opts make[2]: Entering directory '/startdir/src/build-curl/docs/cmdline-opts' GENERATE curl.1 GENERATE curl.txt make[2]: Leaving directory '/startdir/src/build-curl/docs/cmdline-opts' Making all in libcurl make[2]: Entering directory '/startdir/src/build-curl/docs/libcurl' Making all in opts make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl/opts' RENDER CURLINFO_ACTIVESOCKET.3 RENDER CURLINFO_APPCONNECT_TIME.3 RENDER CURLINFO_APPCONNECT_TIME_T.3 RENDER CURLINFO_CAINFO.3 RENDER CURLINFO_CAPATH.3 RENDER CURLINFO_CERTINFO.3 RENDER CURLINFO_CONDITION_UNMET.3 RENDER CURLINFO_CONNECT_TIME.3 RENDER CURLINFO_CONN_ID.3 RENDER CURLINFO_CONNECT_TIME_T.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 RENDER CURLINFO_CONTENT_TYPE.3 RENDER CURLINFO_COOKIELIST.3 RENDER CURLINFO_EARLYDATA_SENT_T.3 RENDER CURLINFO_EFFECTIVE_METHOD.3 RENDER CURLINFO_EFFECTIVE_URL.3 RENDER CURLINFO_FILETIME.3 RENDER CURLINFO_FILETIME_T.3 RENDER CURLINFO_FTP_ENTRY_PATH.3 RENDER CURLINFO_HEADER_SIZE.3 RENDER CURLINFO_HTTP_CONNECTCODE.3 RENDER CURLINFO_HTTP_VERSION.3 RENDER CURLINFO_HTTPAUTH_AVAIL.3 RENDER CURLINFO_HTTPAUTH_USED.3 RENDER CURLINFO_LASTSOCKET.3 RENDER CURLINFO_LOCAL_IP.3 RENDER CURLINFO_LOCAL_PORT.3 RENDER CURLINFO_NAMELOOKUP_TIME.3 RENDER CURLINFO_NAMELOOKUP_TIME_T.3 RENDER CURLINFO_NUM_CONNECTS.3 RENDER CURLINFO_OS_ERRNO.3 RENDER CURLINFO_PRETRANSFER_TIME.3 RENDER CURLINFO_PRETRANSFER_TIME_T.3 RENDER CURLINFO_POSTTRANSFER_TIME_T.3 RENDER CURLINFO_PRIMARY_IP.3 RENDER CURLINFO_PRIMARY_PORT.3 RENDER CURLINFO_PRIVATE.3 RENDER CURLINFO_PROTOCOL.3 RENDER CURLINFO_PROXY_ERROR.3 RENDER CURLINFO_PROXY_SSL_VERIFYRESULT.3 RENDER CURLINFO_PROXYAUTH_AVAIL.3 RENDER CURLINFO_PROXYAUTH_USED.3 RENDER CURLINFO_QUEUE_TIME_T.3 RENDER CURLINFO_REDIRECT_COUNT.3 RENDER CURLINFO_REDIRECT_TIME.3 RENDER CURLINFO_REDIRECT_TIME_T.3 RENDER CURLINFO_REDIRECT_URL.3 RENDER CURLINFO_REFERER.3 RENDER CURLINFO_REQUEST_SIZE.3 RENDER CURLINFO_RESPONSE_CODE.3 RENDER CURLINFO_RETRY_AFTER.3 RENDER CURLINFO_RTSP_CLIENT_CSEQ.3 RENDER CURLINFO_RTSP_CSEQ_RECV.3 RENDER CURLINFO_RTSP_SERVER_CSEQ.3 RENDER CURLINFO_RTSP_SESSION_ID.3 RENDER CURLINFO_SCHEME.3 RENDER CURLINFO_SIZE_DOWNLOAD.3 RENDER CURLINFO_SIZE_DOWNLOAD_T.3 RENDER CURLINFO_SIZE_UPLOAD.3 RENDER CURLINFO_SIZE_UPLOAD_T.3 RENDER CURLINFO_SPEED_DOWNLOAD.3 RENDER CURLINFO_SPEED_DOWNLOAD_T.3 RENDER CURLINFO_SPEED_UPLOAD.3 RENDER CURLINFO_SPEED_UPLOAD_T.3 RENDER CURLINFO_SSL_ENGINES.3 RENDER CURLINFO_SSL_VERIFYRESULT.3 RENDER CURLINFO_STARTTRANSFER_TIME.3 RENDER CURLINFO_STARTTRANSFER_TIME_T.3 RENDER CURLINFO_TLS_SESSION.3 RENDER CURLINFO_TLS_SSL_PTR.3 RENDER CURLINFO_TOTAL_TIME.3 RENDER CURLINFO_TOTAL_TIME_T.3 RENDER CURLINFO_USED_PROXY.3 RENDER CURLINFO_XFER_ID.3 RENDER CURLMINFO_XFERS_ADDED.3 RENDER CURLMINFO_XFERS_CURRENT.3 RENDER CURLMINFO_XFERS_DONE.3 RENDER CURLMINFO_XFERS_PENDING.3 RENDER CURLMINFO_XFERS_RUNNING.3 RENDER CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_MAX_CONCURRENT_STREAMS.3 RENDER CURLMOPT_MAX_HOST_CONNECTIONS.3 RENDER CURLMOPT_MAX_PIPELINE_LENGTH.3 RENDER CURLMOPT_MAX_TOTAL_CONNECTIONS.3 RENDER CURLMOPT_MAXCONNECTS.3 RENDER CURLMOPT_NETWORK_CHANGED.3 RENDER CURLMOPT_NOTIFYDATA.3 RENDER CURLMOPT_NOTIFYFUNCTION.3 RENDER CURLMOPT_PIPELINING.3 RENDER CURLMOPT_PIPELINING_SERVER_BL.3 RENDER CURLMOPT_PIPELINING_SITE_BL.3 RENDER CURLMOPT_PUSHDATA.3 RENDER CURLMOPT_PUSHFUNCTION.3 RENDER CURLMOPT_SOCKETDATA.3 RENDER CURLMOPT_SOCKETFUNCTION.3 RENDER CURLMOPT_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLOPT_ABSTRACT_UNIX_SOCKET.3 RENDER CURLOPT_ACCEPT_ENCODING.3 RENDER CURLOPT_ACCEPTTIMEOUT_MS.3 RENDER CURLOPT_ADDRESS_SCOPE.3 RENDER CURLOPT_ALTSVC.3 RENDER CURLOPT_ALTSVC_CTRL.3 RENDER CURLOPT_APPEND.3 RENDER CURLOPT_AUTOREFERER.3 RENDER CURLOPT_AWS_SIGV4.3 RENDER CURLOPT_BUFFERSIZE.3 RENDER CURLOPT_CAINFO.3 RENDER CURLOPT_CAINFO_BLOB.3 RENDER CURLOPT_CAPATH.3 RENDER CURLOPT_CA_CACHE_TIMEOUT.3 RENDER CURLOPT_CERTINFO.3 RENDER CURLOPT_CHUNK_BGN_FUNCTION.3 RENDER CURLOPT_CHUNK_DATA.3 RENDER CURLOPT_CHUNK_END_FUNCTION.3 RENDER CURLOPT_CLOSESOCKETDATA.3 RENDER CURLOPT_CLOSESOCKETFUNCTION.3 RENDER CURLOPT_CONNECT_ONLY.3 RENDER CURLOPT_CONNECT_TO.3 RENDER CURLOPT_CONNECTTIMEOUT.3 RENDER CURLOPT_CONNECTTIMEOUT_MS.3 RENDER CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 RENDER CURLOPT_CONV_FROM_UTF8_FUNCTION.3 RENDER CURLOPT_CONV_TO_NETWORK_FUNCTION.3 RENDER CURLOPT_COOKIE.3 RENDER CURLOPT_COOKIEFILE.3 RENDER CURLOPT_COOKIEJAR.3 RENDER CURLOPT_COOKIELIST.3 RENDER CURLOPT_COOKIESESSION.3 RENDER CURLOPT_COPYPOSTFIELDS.3 RENDER CURLOPT_CRLF.3 RENDER CURLOPT_CRLFILE.3 RENDER CURLOPT_CURLU.3 RENDER CURLOPT_CUSTOMREQUEST.3 RENDER CURLOPT_DEBUGDATA.3 RENDER CURLOPT_DEBUGFUNCTION.3 RENDER CURLOPT_DEFAULT_PROTOCOL.3 RENDER CURLOPT_DIRLISTONLY.3 RENDER CURLOPT_DISALLOW_USERNAME_IN_URL.3 RENDER CURLOPT_DNS_CACHE_TIMEOUT.3 RENDER CURLOPT_DNS_INTERFACE.3 RENDER CURLOPT_DNS_LOCAL_IP4.3 RENDER CURLOPT_DNS_LOCAL_IP6.3 RENDER CURLOPT_DNS_SERVERS.3 RENDER CURLOPT_DNS_SHUFFLE_ADDRESSES.3 RENDER CURLOPT_DNS_USE_GLOBAL_CACHE.3 RENDER CURLOPT_DOH_SSL_VERIFYHOST.3 RENDER CURLOPT_DOH_SSL_VERIFYPEER.3 RENDER CURLOPT_DOH_SSL_VERIFYSTATUS.3 RENDER CURLOPT_DOH_URL.3 RENDER CURLOPT_ECH.3 RENDER CURLOPT_EGDSOCKET.3 RENDER CURLOPT_ERRORBUFFER.3 RENDER CURLOPT_EXPECT_100_TIMEOUT_MS.3 RENDER CURLOPT_FAILONERROR.3 RENDER CURLOPT_FILETIME.3 RENDER CURLOPT_FNMATCH_DATA.3 RENDER CURLOPT_FNMATCH_FUNCTION.3 RENDER CURLOPT_FOLLOWLOCATION.3 RENDER CURLOPT_FORBID_REUSE.3 RENDER CURLOPT_FRESH_CONNECT.3 RENDER CURLOPT_FTP_ACCOUNT.3 RENDER CURLOPT_FTP_ALTERNATIVE_TO_USER.3 RENDER CURLOPT_FTP_CREATE_MISSING_DIRS.3 RENDER CURLOPT_FTP_FILEMETHOD.3 RENDER CURLOPT_FTP_SKIP_PASV_IP.3 RENDER CURLOPT_FTP_SSL_CCC.3 RENDER CURLOPT_FTP_USE_EPRT.3 RENDER CURLOPT_FTP_USE_EPSV.3 RENDER CURLOPT_FTP_USE_PRET.3 RENDER CURLOPT_FTPPORT.3 RENDER CURLOPT_FTPSSLAUTH.3 RENDER CURLOPT_GSSAPI_DELEGATION.3 RENDER CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 RENDER CURLOPT_HAPROXYPROTOCOL.3 RENDER CURLOPT_HAPROXY_CLIENT_IP.3 RENDER CURLOPT_HEADER.3 RENDER CURLOPT_HEADERDATA.3 RENDER CURLOPT_HEADERFUNCTION.3 RENDER CURLOPT_HEADEROPT.3 RENDER CURLOPT_HSTS.3 RENDER CURLOPT_HSTS_CTRL.3 RENDER CURLOPT_HSTSREADDATA.3 RENDER CURLOPT_HSTSREADFUNCTION.3 RENDER CURLOPT_HSTSWRITEDATA.3 RENDER CURLOPT_HSTSWRITEFUNCTION.3 RENDER CURLOPT_HTTP09_ALLOWED.3 RENDER CURLOPT_HTTP200ALIASES.3 RENDER CURLOPT_HTTP_CONTENT_DECODING.3 RENDER CURLOPT_HTTP_TRANSFER_DECODING.3 RENDER CURLOPT_HTTP_VERSION.3 RENDER CURLOPT_HTTPAUTH.3 RENDER CURLOPT_HTTPGET.3 RENDER CURLOPT_HTTPHEADER.3 RENDER CURLOPT_HTTPPOST.3 RENDER CURLOPT_HTTPPROXYTUNNEL.3 RENDER CURLOPT_IGNORE_CONTENT_LENGTH.3 RENDER CURLOPT_INFILESIZE.3 RENDER CURLOPT_INFILESIZE_LARGE.3 RENDER CURLOPT_INTERFACE.3 RENDER CURLOPT_INTERLEAVEDATA.3 RENDER CURLOPT_INTERLEAVEFUNCTION.3 RENDER CURLOPT_IOCTLDATA.3 RENDER CURLOPT_IOCTLFUNCTION.3 RENDER CURLOPT_IPRESOLVE.3 RENDER CURLOPT_ISSUERCERT.3 RENDER CURLOPT_ISSUERCERT_BLOB.3 RENDER CURLOPT_KEEP_SENDING_ON_ERROR.3 RENDER CURLOPT_KEYPASSWD.3 RENDER CURLOPT_KRBLEVEL.3 RENDER CURLOPT_LOCALPORT.3 RENDER CURLOPT_LOCALPORTRANGE.3 RENDER CURLOPT_LOGIN_OPTIONS.3 RENDER CURLOPT_LOW_SPEED_LIMIT.3 RENDER CURLOPT_LOW_SPEED_TIME.3 RENDER CURLOPT_MAIL_AUTH.3 RENDER CURLOPT_MAIL_FROM.3 RENDER CURLOPT_MAIL_RCPT.3 RENDER CURLOPT_MAIL_RCPT_ALLOWFAILS.3 RENDER CURLOPT_MAX_RECV_SPEED_LARGE.3 RENDER CURLOPT_MAX_SEND_SPEED_LARGE.3 RENDER CURLOPT_MAXAGE_CONN.3 RENDER CURLOPT_MAXCONNECTS.3 RENDER CURLOPT_MAXFILESIZE.3 RENDER CURLOPT_MAXFILESIZE_LARGE.3 RENDER CURLOPT_MAXLIFETIME_CONN.3 RENDER CURLOPT_MAXREDIRS.3 RENDER CURLOPT_MIME_OPTIONS.3 RENDER CURLOPT_MIMEPOST.3 RENDER CURLOPT_NETRC.3 RENDER CURLOPT_NETRC_FILE.3 RENDER CURLOPT_NEW_DIRECTORY_PERMS.3 RENDER CURLOPT_NEW_FILE_PERMS.3 RENDER CURLOPT_NOBODY.3 RENDER CURLOPT_NOPROGRESS.3 RENDER CURLOPT_NOPROXY.3 RENDER CURLOPT_NOSIGNAL.3 RENDER CURLOPT_OPENSOCKETDATA.3 RENDER CURLOPT_OPENSOCKETFUNCTION.3 RENDER CURLOPT_PASSWORD.3 RENDER CURLOPT_PATH_AS_IS.3 RENDER CURLOPT_PINNEDPUBLICKEY.3 RENDER CURLOPT_PIPEWAIT.3 RENDER CURLOPT_PORT.3 RENDER CURLOPT_POST.3 RENDER CURLOPT_POSTFIELDS.3 RENDER CURLOPT_POSTFIELDSIZE.3 RENDER CURLOPT_POSTFIELDSIZE_LARGE.3 RENDER CURLOPT_POSTQUOTE.3 RENDER CURLOPT_POSTREDIR.3 RENDER CURLOPT_PRE_PROXY.3 RENDER CURLOPT_PREQUOTE.3 RENDER CURLOPT_PREREQDATA.3 RENDER CURLOPT_PREREQFUNCTION.3 RENDER CURLOPT_PRIVATE.3 RENDER CURLOPT_PROGRESSDATA.3 RENDER CURLOPT_PROGRESSFUNCTION.3 RENDER CURLOPT_PROTOCOLS.3 RENDER CURLOPT_PROTOCOLS_STR.3 RENDER CURLOPT_PROXY.3 RENDER CURLOPT_PROXY_CAINFO.3 RENDER CURLOPT_PROXY_CAINFO_BLOB.3 RENDER CURLOPT_PROXY_CAPATH.3 RENDER CURLOPT_PROXY_CRLFILE.3 RENDER CURLOPT_PROXY_ISSUERCERT.3 RENDER CURLOPT_PROXY_ISSUERCERT_BLOB.3 RENDER CURLOPT_PROXY_KEYPASSWD.3 RENDER CURLOPT_PROXY_PINNEDPUBLICKEY.3 RENDER CURLOPT_PROXY_SERVICE_NAME.3 RENDER CURLOPT_PROXY_SSL_CIPHER_LIST.3 RENDER CURLOPT_PROXY_SSL_OPTIONS.3 RENDER CURLOPT_PROXY_SSL_VERIFYHOST.3 RENDER CURLOPT_PROXY_SSL_VERIFYPEER.3 RENDER CURLOPT_PROXY_SSLCERT.3 RENDER CURLOPT_PROXY_SSLCERT_BLOB.3 RENDER CURLOPT_PROXY_SSLCERTTYPE.3 RENDER CURLOPT_PROXY_SSLKEY_BLOB.3 RENDER CURLOPT_PROXY_SSLKEY.3 RENDER CURLOPT_PROXY_SSLKEYTYPE.3 RENDER CURLOPT_PROXY_SSLVERSION.3 RENDER CURLOPT_PROXY_TLS13_CIPHERS.3 RENDER CURLOPT_PROXY_TLSAUTH_PASSWORD.3 RENDER CURLOPT_PROXY_TLSAUTH_TYPE.3 RENDER CURLOPT_PROXY_TLSAUTH_USERNAME.3 RENDER CURLOPT_PROXY_TRANSFER_MODE.3 RENDER CURLOPT_PROXYAUTH.3 RENDER CURLOPT_PROXYHEADER.3 RENDER CURLOPT_PROXYPASSWORD.3 RENDER CURLOPT_PROXYPORT.3 RENDER CURLOPT_PROXYTYPE.3 RENDER CURLOPT_PROXYUSERNAME.3 RENDER CURLOPT_PROXYUSERPWD.3 RENDER CURLOPT_PUT.3 RENDER CURLOPT_QUICK_EXIT.3 RENDER CURLOPT_QUOTE.3 RENDER CURLOPT_RANDOM_FILE.3 RENDER CURLOPT_RANGE.3 RENDER CURLOPT_READDATA.3 RENDER CURLOPT_READFUNCTION.3 RENDER CURLOPT_REDIR_PROTOCOLS.3 RENDER CURLOPT_REDIR_PROTOCOLS_STR.3 RENDER CURLOPT_REFERER.3 RENDER CURLOPT_REQUEST_TARGET.3 RENDER CURLOPT_RESOLVE.3 RENDER CURLOPT_RESOLVER_START_DATA.3 RENDER CURLOPT_RESOLVER_START_FUNCTION.3 RENDER CURLOPT_RESUME_FROM.3 RENDER CURLOPT_RESUME_FROM_LARGE.3 RENDER CURLOPT_RTSP_CLIENT_CSEQ.3 RENDER CURLOPT_RTSP_REQUEST.3 RENDER CURLOPT_RTSP_SERVER_CSEQ.3 RENDER CURLOPT_RTSP_SESSION_ID.3 RENDER CURLOPT_RTSP_STREAM_URI.3 RENDER CURLOPT_RTSP_TRANSPORT.3 RENDER CURLOPT_SASL_AUTHZID.3 RENDER CURLOPT_SASL_IR.3 RENDER CURLOPT_SEEKDATA.3 RENDER CURLOPT_SEEKFUNCTION.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3 RENDER CURLOPT_SERVICE_NAME.3 RENDER CURLOPT_SHARE.3 RENDER CURLOPT_SOCKOPTDATA.3 RENDER CURLOPT_SOCKOPTFUNCTION.3 RENDER CURLOPT_SOCKS5_AUTH.3 RENDER CURLOPT_SOCKS5_GSSAPI_NEC.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.3 RENDER CURLOPT_SSH_AUTH_TYPES.3 RENDER CURLOPT_SSH_COMPRESSION.3 RENDER CURLOPT_SSH_HOSTKEYDATA.3 RENDER CURLOPT_SSH_HOSTKEYFUNCTION.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 RENDER CURLOPT_SSH_KEYDATA.3 RENDER CURLOPT_SSH_KEYFUNCTION.3 RENDER CURLOPT_SSH_KNOWNHOSTS.3 RENDER CURLOPT_SSH_PRIVATE_KEYFILE.3 RENDER CURLOPT_SSH_PUBLIC_KEYFILE.3 RENDER CURLOPT_SSL_CIPHER_LIST.3 RENDER CURLOPT_SSL_CTX_DATA.3 RENDER CURLOPT_SSL_CTX_FUNCTION.3 RENDER CURLOPT_SSL_EC_CURVES.3 RENDER CURLOPT_SSL_ENABLE_ALPN.3 RENDER CURLOPT_SSL_ENABLE_NPN.3 RENDER CURLOPT_SSL_FALSESTART.3 RENDER CURLOPT_SSL_OPTIONS.3 RENDER CURLOPT_SSL_SESSIONID_CACHE.3 RENDER CURLOPT_SSL_SIGNATURE_ALGORITHMS.3 RENDER CURLOPT_SSL_VERIFYHOST.3 RENDER CURLOPT_SSL_VERIFYPEER.3 RENDER CURLOPT_SSL_VERIFYSTATUS.3 RENDER CURLOPT_SSLCERT.3 RENDER CURLOPT_SSLCERT_BLOB.3 RENDER CURLOPT_SSLCERTTYPE.3 RENDER CURLOPT_SSLENGINE.3 RENDER CURLOPT_SSLENGINE_DEFAULT.3 RENDER CURLOPT_SSLKEY.3 RENDER CURLOPT_SSLKEY_BLOB.3 RENDER CURLOPT_SSLKEYTYPE.3 RENDER CURLOPT_SSLVERSION.3 RENDER CURLOPT_STDERR.3 RENDER CURLOPT_STREAM_DEPENDS.3 RENDER CURLOPT_STREAM_DEPENDS_E.3 RENDER CURLOPT_STREAM_WEIGHT.3 RENDER CURLOPT_SUPPRESS_CONNECT_HEADERS.3 RENDER CURLOPT_TCP_FASTOPEN.3 RENDER CURLOPT_TCP_KEEPALIVE.3 RENDER CURLOPT_TCP_KEEPIDLE.3 RENDER CURLOPT_TCP_KEEPINTVL.3 RENDER CURLOPT_TCP_KEEPCNT.3 RENDER CURLOPT_TCP_NODELAY.3 RENDER CURLOPT_TELNETOPTIONS.3 RENDER CURLOPT_TFTP_BLKSIZE.3 RENDER CURLOPT_TFTP_NO_OPTIONS.3 RENDER CURLOPT_TIMECONDITION.3 RENDER CURLOPT_TIMEOUT.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_PASSWORD.3 RENDER CURLOPT_TLSAUTH_TYPE.3 RENDER CURLOPT_TLSAUTH_USERNAME.3 RENDER CURLOPT_TRAILERDATA.3 RENDER CURLOPT_TRAILERFUNCTION.3 RENDER CURLOPT_TRANSFER_ENCODING.3 RENDER CURLOPT_TRANSFERTEXT.3 RENDER CURLOPT_UNIX_SOCKET_PATH.3 RENDER CURLOPT_UNRESTRICTED_AUTH.3 RENDER CURLOPT_UPKEEP_INTERVAL_MS.3 RENDER CURLOPT_UPLOAD.3 RENDER CURLOPT_UPLOAD_BUFFERSIZE.3 RENDER CURLOPT_UPLOAD_FLAGS.3 RENDER CURLOPT_URL.3 RENDER CURLOPT_USE_SSL.3 RENDER CURLOPT_USERAGENT.3 RENDER CURLOPT_USERNAME.3 RENDER CURLOPT_USERPWD.3 RENDER CURLOPT_VERBOSE.3 RENDER CURLOPT_WILDCARDMATCH.3 RENDER CURLOPT_WRITEDATA.3 RENDER CURLOPT_WRITEFUNCTION.3 RENDER CURLOPT_WS_OPTIONS.3 RENDER CURLOPT_XFERINFODATA.3 RENDER CURLOPT_XFERINFOFUNCTION.3 RENDER CURLOPT_XOAUTH2_BEARER.3 RENDER CURLSHOPT_LOCKFUNC.3 RENDER CURLSHOPT_SHARE.3 RENDER CURLSHOPT_UNLOCKFUNC.3 RENDER CURLSHOPT_UNSHARE.3 RENDER CURLSHOPT_USERDATA.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl/opts' make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl' RENDER curl_easy_cleanup.3 RENDER curl_easy_duphandle.3 RENDER curl_easy_escape.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_header.3 RENDER curl_easy_init.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_option_next.3 RENDER curl_easy_pause.3 RENDER curl_easy_perform.3 RENDER curl_easy_recv.3 RENDER curl_easy_reset.3 RENDER curl_easy_send.3 RENDER curl_easy_setopt.3 RENDER curl_easy_ssls_export.3 RENDER curl_easy_ssls_import.3 RENDER curl_easy_strerror.3 RENDER curl_easy_unescape.3 RENDER curl_easy_upkeep.3 RENDER curl_escape.3 RENDER curl_formadd.3 RENDER curl_formfree.3 RENDER curl_formget.3 RENDER curl_free.3 RENDER curl_getdate.3 RENDER curl_getenv.3 RENDER curl_global_cleanup.3 RENDER curl_global_init.3 RENDER curl_global_init_mem.3 RENDER curl_global_sslset.3 RENDER curl_global_trace.3 RENDER curl_mime_addpart.3 RENDER curl_mime_data.3 RENDER curl_mime_data_cb.3 RENDER curl_mime_encoder.3 RENDER curl_mime_filedata.3 RENDER curl_mime_filename.3 RENDER curl_mime_free.3 RENDER curl_mime_headers.3 RENDER curl_mime_init.3 RENDER curl_mime_name.3 RENDER curl_mime_subparts.3 RENDER curl_mime_type.3 RENDER curl_mprintf.3 RENDER curl_multi_add_handle.3 RENDER curl_multi_assign.3 RENDER curl_multi_cleanup.3 RENDER curl_multi_fdset.3 RENDER curl_multi_get_handles.3 RENDER curl_multi_get_offt.3 RENDER curl_multi_info_read.3 RENDER curl_multi_init.3 RENDER curl_multi_notify_disable.3 RENDER curl_multi_notify_enable.3 RENDER curl_multi_perform.3 RENDER curl_multi_poll.3 RENDER curl_multi_remove_handle.3 RENDER curl_multi_setopt.3 RENDER curl_multi_socket.3 RENDER curl_multi_socket_action.3 RENDER curl_multi_socket_all.3 RENDER curl_multi_strerror.3 RENDER curl_multi_timeout.3 RENDER curl_multi_wait.3 RENDER curl_multi_waitfds.3 RENDER curl_multi_wakeup.3 RENDER curl_pushheader_byname.3 RENDER curl_pushheader_bynum.3 RENDER curl_share_init.3 RENDER curl_share_cleanup.3 RENDER curl_share_setopt.3 RENDER curl_share_strerror.3 RENDER curl_slist_append.3 RENDER curl_slist_free_all.3 RENDER curl_strequal.3 RENDER curl_strnequal.3 RENDER curl_unescape.3 RENDER curl_url.3 RENDER curl_url_cleanup.3 RENDER curl_url_dup.3 RENDER curl_url_get.3 RENDER curl_url_set.3 RENDER curl_url_strerror.3 RENDER curl_version.3 RENDER curl_version_info.3 RENDER curl_ws_meta.3 RENDER curl_ws_recv.3 RENDER curl_ws_send.3 RENDER curl_ws_start_frame.3 RENDER libcurl-easy.3 RENDER libcurl-env-dbg.3 RENDER libcurl-env.3 RENDER libcurl-errors.3 RENDER libcurl-multi.3 RENDER libcurl-security.3 RENDER libcurl-share.3 RENDER libcurl-symbols.md RENDER libcurl-thread.3 RENDER libcurl-tutorial.3 RENDER libcurl-url.3 RENDER libcurl-ws.3 RENDER libcurl.3 RENDER libcurl-symbols.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[2]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[1]: Leaving directory '/startdir/src/build-curl/docs' Making all in src make[1]: Entering directory '/startdir/src/build-curl/src' CC curl-config2setopts.o CC curl-slist_wc.o CC curl-terminal.o CC curl-tool_cb_dbg.o CC curl-tool_cb_hdr.o CC curl-tool_cb_prg.o CC curl-tool_cb_rea.o CC curl-tool_cb_see.o CC curl-tool_cb_soc.o CC curl-tool_cb_wrt.o CC curl-tool_cfgable.o CC curl-tool_dirhie.o CC curl-tool_doswin.o CC curl-tool_easysrc.o CC curl-tool_filetime.o CC curl-tool_findfile.o CC curl-tool_formparse.o CC curl-tool_getparam.o CC curl-tool_getpass.o CC curl-tool_help.o CC curl-tool_helpers.o CC curl-tool_ipfs.o CC curl-tool_libinfo.o CC curl-tool_listhelp.o CC curl-tool_main.o CC curl-tool_msgs.o CC curl-tool_operate.o CC curl-tool_operhlp.o CC curl-tool_paramhlp.o CC curl-tool_parsecfg.o CC curl-tool_progress.o CC curl-tool_setopt.o CC curl-tool_ssls.o CC curl-tool_stderr.o CC curl-tool_urlglob.o CC curl-tool_util.o CC curl-tool_vms.o CC curl-tool_writeout.o CC curl-tool_writeout_json.o CC curl-tool_xattr.o CC curl-var.o echo '/* !checksrc! disable COPYRIGHT all */' > tool_hugehelp.c; \ echo '#include "tool_hugehelp.h"' >> tool_hugehelp.c echo '/* !checksrc! disable COPYRIGHT all */' > tool_ca_embed.c echo 'extern const void *curl_ca_embed; const void *curl_ca_embed;' >> tool_ca_embed.c CC ../lib/curlx/curl-base64.o CC ../lib/curlx/curl-basename.o CC ../lib/curlx/curl-dynbuf.o CC ../lib/curlx/curl-fopen.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-strcopy.o CC ../lib/curlx/curl-strdup.o CC ../lib/curlx/curl-strerr.o CC ../lib/curlx/curl-strparse.o CC ../lib/curlx/curl-timediff.o CC ../lib/curlx/curl-timeval.o CC ../lib/curlx/curl-version_win32.o CC ../lib/curlx/curl-wait.o CC ../lib/curlx/curl-warnless.o CC ../lib/curlx/curl-winapi.o CC curlinfo.o CC libcurltool_la-config2setopts.lo CC libcurltool_la-slist_wc.lo CC libcurltool_la-terminal.lo CC libcurltool_la-tool_cb_dbg.lo CC libcurltool_la-tool_cb_hdr.lo CC libcurltool_la-tool_cb_prg.lo CC libcurltool_la-tool_cb_rea.lo CC libcurltool_la-tool_cb_see.lo CC libcurltool_la-tool_cb_soc.lo CC libcurltool_la-tool_cb_wrt.lo CC libcurltool_la-tool_cfgable.lo CC libcurltool_la-tool_dirhie.lo CC libcurltool_la-tool_doswin.lo CC libcurltool_la-tool_easysrc.lo CC libcurltool_la-tool_filetime.lo CC libcurltool_la-tool_findfile.lo CC libcurltool_la-tool_formparse.lo CC libcurltool_la-tool_getparam.lo CC libcurltool_la-tool_getpass.lo CC libcurltool_la-tool_help.lo CC libcurltool_la-tool_helpers.lo CC libcurltool_la-tool_ipfs.lo CC libcurltool_la-tool_libinfo.lo CC libcurltool_la-tool_listhelp.lo CC libcurltool_la-tool_main.lo CC libcurltool_la-tool_msgs.lo CC libcurltool_la-tool_operate.lo CC libcurltool_la-tool_operhlp.lo CC libcurltool_la-tool_paramhlp.lo CC libcurltool_la-tool_parsecfg.lo CC libcurltool_la-tool_progress.lo CC libcurltool_la-tool_setopt.lo CC libcurltool_la-tool_ssls.lo CC libcurltool_la-tool_stderr.lo CC libcurltool_la-tool_urlglob.lo CC libcurltool_la-tool_util.lo CC libcurltool_la-tool_vms.lo CC libcurltool_la-tool_writeout.lo CC libcurltool_la-tool_writeout_json.lo CC libcurltool_la-tool_xattr.lo CC libcurltool_la-var.lo CC toolx/libcurltool_la-tool_time.lo CC ../lib/curlx/libcurltool_la-base64.lo CC ../lib/curlx/libcurltool_la-basename.lo CC ../lib/curlx/libcurltool_la-dynbuf.lo CC ../lib/curlx/libcurltool_la-fopen.lo CC ../lib/curlx/libcurltool_la-multibyte.lo CC ../lib/curlx/libcurltool_la-nonblock.lo CC ../lib/curlx/libcurltool_la-strcopy.lo CC ../lib/curlx/libcurltool_la-strdup.lo CC ../lib/curlx/libcurltool_la-strerr.lo CC ../lib/curlx/libcurltool_la-strparse.lo CC ../lib/curlx/libcurltool_la-timediff.lo CC ../lib/curlx/libcurltool_la-timeval.lo CC ../lib/curlx/libcurltool_la-version_win32.lo CC ../lib/curlx/libcurltool_la-wait.lo CC ../lib/curlx/libcurltool_la-warnless.lo CC ../lib/curlx/libcurltool_la-winapi.lo CC toolx/curl-tool_time.o CC curl-tool_hugehelp.o CC curl-tool_ca_embed.o CCLD curlinfo CCLD curl CCLD libcurltool.la make[1]: Leaving directory '/startdir/src/build-curl/src' Making all in scripts make[1]: Entering directory '/startdir/src/build-curl/scripts' /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell zsh > _curl /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell fish > curl.fish make[1]: Leaving directory '/startdir/src/build-curl/scripts' make[1]: Entering directory '/startdir/src/build-curl' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/startdir/src/build-curl' checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.19.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for sshd... no checking for sshd... no checking for sftp-server... no checking for sftp-server... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1502' (raw: '15.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking for code coverage support... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking whether to use libbacktrace... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.21.3 checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for BoringSSL... no checking for AWS-LC... no checking for LibreSSL... no checking for OpenSSL >= v3... checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 checking for DES support in OpenSSL... yes checking for SRP support in OpenSSL... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend checking whether to use native CA store... no checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2 options with pkg-config... found configure: -l is -lngtcp2 configure: -I is configure: -L is checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes checking for ngtcp2/ngtcp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2_crypto_ossl options with pkg-config... found configure: -l is -lngtcp2_crypto_ossl configure: -I is configure: -L is checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_ossl... yes checking for ngtcp2/ngtcp2_crypto.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking runtime libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is thread-safe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if localtime_r can be linked... yes checking if localtime_r is prototyped... yes checking if localtime_r is compilable... yes checking if localtime_r seems to work... yes checking if localtime_r usage allowed... yes checking if localtime_r might be used... yes checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for snprintf... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating projects/Makefile config.status: creating projects/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lngtcp2_crypto_ossl -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.19.0 SSL: enabled (OpenSSL) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Type checking: enabled (--disable-typecheck) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca native: no ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (ngtcp2 + nghttp3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd make: Entering directory '/startdir/src/build-curl-compat/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-compat/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_share.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-multi_ntfy.lo CC libcurl_la-netrc.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-ratelimit.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_share.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-apple.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-vssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-basename.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-fopen.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-snprintf.lo CC curlx/libcurlu_la-strcopy.lo CC curlx/libcurlu_la-strdup.lo CC curlx/libcurlu_la-strerr.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-apple.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-vssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-basename.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-fopen.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-snprintf.lo CC curlx/libcurl_la-strcopy.lo CC curlx/libcurl_la-strdup.lo CC curlx/libcurl_la-strerr.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-apple.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-gtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-x509asn1.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-basename.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-snprintf.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-compat/lib' make: Leaving directory '/startdir/src/build-curl-compat/lib' checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable debug build options... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.19.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for sshd... no checking for sshd... no checking for sftp-server... no checking for sftp-server... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to enable large file support... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1502' (raw: '15.2.1') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking for code coverage support... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smb... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking whether to use libbacktrace... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.21.3 checking if we can link against GSS-API library... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for gnutls options with pkg-config... found checking for gnutls_x509_crt_get_dn2 in -lgnutls... yes configure: detected GnuTLS version 3.8.12 checking for nettle_MD5Init in -lgnutls... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for nettle options with pkg-config... found checking for nettle_MD5Init in -lnettle... yes configure: detected nettle version 3.10.2 checking for gnutls_srp_verifier in -lgnutls... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend checking whether to use native CA store... no checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path in -lssh2... yes checking for libssh2.h... yes checking for RTMP_Init in -lrtmp... no checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2 options with pkg-config... found configure: -l is -lngtcp2 configure: -I is configure: -L is checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes checking for ngtcp2/ngtcp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2_crypto_gnutls options with pkg-config... found configure: -l is -lngtcp2_crypto_gnutls configure: -I is -I/usr/include/p11-kit-1 configure: -L is checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_gnutls... yes checking for ngtcp2/ngtcp2_crypto.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH configure: HTTP3 support is experimental checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking runtime libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/select.h... (cached) yes checking for select... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking if ftruncate can be linked... yes checking if ftruncate is prototyped... yes checking if ftruncate is compilable... yes checking if ftruncate usage allowed... yes checking if ftruncate might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is thread-safe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if localtime_r can be linked... yes checking if localtime_r is prototyped... yes checking if localtime_r is compilable... yes checking if localtime_r seems to work... yes checking if localtime_r usage allowed... yes checking if localtime_r might be used... yes checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for gettimeofday... yes checking for mach_absolute_time... no checking for pipe... yes checking for pipe2... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for utime... yes checking for utimes... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking for snprintf... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for arpa/inet.h... (cached) yes checking if inet_ntop can be linked... yes checking if inet_ntop is prototyped... yes checking if inet_ntop is compilable... yes checking if inet_ntop seems to work... yes checking if inet_ntop usage allowed... yes checking if inet_ntop might be used... yes checking if inet_pton can be linked... yes checking if inet_pton is prototyped... yes checking if inet_pton is compilable... yes checking if inet_pton seems to work... yes checking if inet_pton usage allowed... yes checking if inet_pton might be used... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking for fseeko... yes checking for gcc options needed to detect all undeclared functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws sig methods... yes checking whether to support NTLM... yes checking whether to enable TLS-SRP authentication... yes checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking whether to support WebSockets... yes checking whether hiding of library internal symbols will actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/server/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating projects/Makefile config.status: creating projects/vms/Makefile config.status: creating libcurl.pc config.status: creating curl-config config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE -isystem /usr/include/p11-kit-1 -isystem /usr/include/p11-kit-1 LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lngtcp2_crypto_gnutls -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.19.0 SSL: enabled (GnuTLS) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Type checking: enabled (--disable-typecheck) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca native: no ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca cert embed: no ca fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (ngtcp2 + nghttp3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd make: Entering directory '/startdir/src/build-curl-gnutls/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-gnutls/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-bufref.lo CC libcurl_la-bufq.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_rtmp.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_share.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-doh.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hostip.lo CC libcurl_la-hostip4.lo CC libcurl_la-hostip6.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-httpsrr.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-mime.lo CC libcurl_la-memdebug.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-multi_ntfy.lo CC libcurl_la-netrc.lo CC libcurl_la-noproxy.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-psl.lo CC libcurl_la-rand.lo CC libcurl_la-ratelimit.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-slist.lo CC libcurl_la-smb.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-system_win32.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-transfer.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-hash.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-asyn-ares.lo CC libcurlu_la-asyn-base.lo CC libcurlu_la-asyn-thrdd.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_rtmp.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_share.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-doh.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-ftp.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hostip.lo CC libcurlu_la-hostip4.lo CC libcurlu_la-hostip6.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-httpsrr.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-noproxy.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-psl.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smb.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-system_win32.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-transfer.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-hash.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vtls/libcurlu_la-apple.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-curl_ngtcp2.lo CC vquic/libcurlu_la-curl_quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-vssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-basename.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-fopen.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-snprintf.lo CC curlx/libcurlu_la-strcopy.lo CC curlx/libcurlu_la-strdup.lo CC curlx/libcurlu_la-strerr.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vtls/libcurl_la-apple.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-curl_ngtcp2.lo CC vquic/libcurl_la-curl_quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-vssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-basename.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-fopen.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-snprintf.lo CC curlx/libcurl_la-strcopy.lo CC curlx/libcurl_la-strdup.lo CC curlx/libcurl_la-strerr.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: .libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: .libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-apple.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-hostcheck.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-openssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-basename.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_ntop.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-inet_pton.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-snprintf.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols make[1]: Leaving directory '/startdir/src/build-curl-gnutls/lib' make: Leaving directory '/startdir/src/build-curl-gnutls/lib' ==> Starting check()... make[1]: Entering directory '/startdir/src/build-curl/tests' Making all in certs make[2]: Entering directory '/startdir/src/build-curl/tests/certs' /usr/bin/perl /startdir/src/curl/tests/certs/genserv.pl test test-client-cert.prm test-client-eku-only.prm test-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm /usr/bin/openssl OpenSSL 3.6.1 27 Jan 2026 (Library: OpenSSL 3.6.1 27 Jan 2026) Certificate request self-signature ok subject=C=NN, O=Edel curl Arctic Illudium Research Cloud, CN=Northern Nowhere Trust Anchor CA root generated: test 6000 days prime256v1 Certificate generated: CA=test 300days prime256v1 test-client-cert Certificate generated: CA=test 300days prime256v1 test-client-eku-only Certificate generated: CA=test 300days prime256v1 test-localhost Certificate generated: CA=test 300days prime256v1 test-localhost.nn Certificate generated: CA=test 300days prime256v1 test-localhost0h Certificate generated: CA=test 300days prime256v1 test-localhost-san-first Certificate generated: CA=test 300days prime256v1 test-localhost-san-last make[2]: Leaving directory '/startdir/src/build-curl/tests/certs' Making all in data make[2]: Entering directory '/startdir/src/build-curl/tests/data' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/data' Making all in server make[2]: Entering directory '/startdir/src/build-curl/tests/server' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include getpart.c util.c ../../lib/curlx/base64.c ../../lib/curlx/fopen.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/inet_pton.c ../../lib/curlx/multibyte.c ../../lib/curlx/nonblock.c ../../lib/curlx/snprintf.c ../../lib/curlx/strcopy.c ../../lib/curlx/strerr.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c ../../src/toolx/tool_time.c --test dnsd.c mqttd.c resolve.c rtspd.c sockfilt.c socksd.c sws.c tftpd.c > servers.c RUN checksrc CC servers.o CCLD servers make[2]: Leaving directory '/startdir/src/build-curl/tests/server' Making all in libtest make[2]: Entering directory '/startdir/src/build-curl/tests/libtest' /usr/bin/perl /startdir/src/curl/tests/libtest/mk-lib1521.pl < /startdir/src/curl/include/curl/curl.h lib1521.c /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include memptr.c testutil.c testtrace.c ../../lib/curl_threads.c ../../lib/curlx/fopen.c ../../lib/curlx/multibyte.c ../../lib/curlx/strcopy.c ../../lib/curlx/strerr.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/version_win32.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c ../../src/toolx/tool_time.c --test cli_ftp_upload.c cli_h2_pausing.c cli_h2_serverpush.c cli_h2_upgrade_extreme.c cli_hx_download.c cli_hx_upload.c cli_tls_session_reuse.c cli_upload_pausing.c cli_ws_data.c cli_ws_pingpong.c lib500.c lib501.c lib502.c lib503.c lib504.c lib505.c lib506.c lib507.c lib508.c lib509.c lib510.c lib511.c lib512.c lib513.c lib514.c lib515.c lib516.c lib517.c lib518.c lib519.c lib520.c lib521.c lib523.c lib524.c lib525.c lib526.c lib530.c lib533.c lib536.c lib537.c lib539.c lib540.c lib541.c lib542.c lib543.c lib544.c lib547.c lib549.c lib552.c lib553.c lib554.c lib555.c lib556.c lib557.c lib558.c lib559.c lib560.c lib562.c lib564.c lib566.c lib567.c lib568.c lib569.c lib570.c lib571.c lib572.c lib573.c lib574.c lib575.c lib576.c lib578.c lib579.c lib582.c lib583.c lib586.c lib589.c lib590.c lib591.c lib597.c lib598.c lib599.c lib643.c lib650.c lib651.c lib652.c lib653.c lib654.c lib655.c lib658.c lib659.c lib661.c lib666.c lib667.c lib668.c lib670.c lib674.c lib676.c lib677.c lib678.c lib694.c lib695.c lib751.c lib753.c lib758.c lib757.c lib766.c lib1156.c lib1301.c lib1308.c lib1485.c lib1500.c lib1501.c lib1502.c lib1506.c lib1507.c lib1508.c lib1509.c lib1510.c lib1511.c lib1512.c lib1513.c lib1514.c lib1515.c lib1517.c lib1518.c lib1520.c lib1522.c lib1523.c lib1525.c lib1526.c lib1527.c lib1528.c lib1529.c lib1530.c lib1531.c lib1532.c lib1533.c lib1534.c lib1535.c lib1536.c lib1537.c lib1538.c lib1540.c lib1541.c lib1542.c lib1545.c lib1549.c lib1550.c lib1551.c lib1552.c lib1553.c lib1554.c lib1555.c lib1556.c lib1557.c lib1558.c lib1559.c lib1560.c lib1564.c lib1565.c lib1567.c lib1568.c lib1569.c lib1571.c lib1576.c lib1582.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1662.c lib1900.c lib1901.c lib1902.c lib1903.c lib1905.c lib1906.c lib1907.c lib1908.c lib1910.c lib1911.c lib1912.c lib1913.c lib1915.c lib1916.c lib1918.c lib1919.c lib1920.c lib1933.c lib1934.c lib1935.c lib1936.c lib1937.c lib1938.c lib1939.c lib1940.c lib1945.c lib1947.c lib1948.c lib1955.c lib1956.c lib1957.c lib1958.c lib1959.c lib1960.c lib1964.c lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib2023.c lib2032.c lib2082.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2402.c lib2404.c lib2405.c lib2502.c lib2700.c lib3010.c lib3025.c lib3026.c lib3027.c lib3033.c lib3034.c lib3100.c lib3101.c lib3102.c lib3103.c lib3104.c lib3105.c lib3207.c lib3208.c lib1521.c > libtests.c RUN checksrc CC libtests.o CCLD libtests make[2]: Leaving directory '/startdir/src/build-curl/tests/libtest' Making all in http make[2]: Entering directory '/startdir/src/build-curl/tests/http' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/http' Making all in unit make[2]: Entering directory '/startdir/src/build-curl/tests/unit' (cd ../../lib && make unitprotos.h) RUN checksrc make[3]: Entering directory '/startdir/src/build-curl/lib' UNITPR unitprotos.h make[3]: Leaving directory '/startdir/src/build-curl/lib' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --test unit1300.c unit1302.c unit1303.c unit1304.c unit1305.c unit1307.c unit1309.c unit1323.c unit1330.c unit1395.c unit1396.c unit1397.c unit1398.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1605.c unit1606.c unit1607.c unit1608.c unit1609.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1616.c unit1620.c unit1636.c unit1650.c unit1651.c unit1652.c unit1653.c unit1654.c unit1655.c unit1656.c unit1657.c unit1658.c unit1660.c unit1661.c unit1663.c unit1664.c unit1979.c unit1980.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit2605.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c unit3216.c > units.c CC units.o CCLD units make[2]: Leaving directory '/startdir/src/build-curl/tests/unit' Making all in tunit make[2]: Entering directory '/startdir/src/build-curl/tests/tunit' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --test tool1394.c tool1604.c tool1621.c tool1622.c tool1623.c > tunits.c RUN checksrc CC tunits.o CCLD tunits make[2]: Leaving directory '/startdir/src/build-curl/tests/tunit' make[2]: Entering directory '/startdir/src/build-curl/tests' (cd certs && make) make[3]: Entering directory '/startdir/src/build-curl/tests/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/startdir/src/build-curl/tests/certs' make[2]: Leaving directory '/startdir/src/build-curl/tests' srcdir=/startdir/src/curl/tests /usr/bin/perl -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -a -p ~flaky ~timing-dependent -v -a -k -p -j24 !433 Using curl: ../src/curl CMD (256): valgrind >/dev/null 2>&1 CMD (0): valgrind --help 2>&1 | grep -- --tool >/dev/null 2>&1 CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log ********* System characteristics ******** * curl 8.19.0 (x86_64-pc-linux-gnu) * libcurl/8.19.0 OpenSSL/3.6.1 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.68.0 ngtcp2/1.21.0 nghttp3/1.15.0 mit-krb5/1.21.3 * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss * Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd * Disabled: win32-ca-searchpath, win32-ca-search-safe, override-dns, ssl-sessions * Host: * System: Linux arch-nspawn-2708520 6.12.61-1-lts #1 SMP PREEMPT_DYNAMIC Sun, 07 Dec 2025 09:50:46 +0000 x86_64 GNU/Linux * OS: linux * Perl: v5.42.0 (/usr/bin/perl) * Args: -a -p ~flaky ~timing-dependent -v -a -k -p -j24 !433 * Jobs: 24 * Env: Valgrind * Seed: 233927 * Servers: HTTP-IPv6 HTTP-unix FTP-IPv6 ***************************************** DISABLED: test 323 DISABLED: test 594 DISABLED: test 836 DISABLED: test 882 DISABLED: test 938 DISABLED: test 1182 DISABLED: test 1184 DISABLED: test 1209 DISABLED: test 1211 DISABLED: test 1307 DISABLED: test 1316 DISABLED: test 1512 DISABLED: test 1801 DISABLED: test 2043 test 0096 SKIPPED: curl lacks TrackMemory support test 0159 SKIPPED: curl lacks Debug support test 0355 SKIPPED: curl lacks Debug support test 0356 SKIPPED: curl lacks Debug support test 0375 SKIPPED: curl has proxy support test 0445 SKIPPED: curl lacks ldap support test 0506 SKIPPED: curl has threaded-resolver support test 0558 SKIPPED: curl lacks TrackMemory support Warning: test573 result is ignored due to flaky Warning: test587 result is ignored due to flaky Warning: test776 result is ignored due to flaky test 0777 SKIPPED: curl lacks ssl-sessions support test 0959 SKIPPED: curl has IDN support test 0960 SKIPPED: curl has IDN support test 0961 SKIPPED: curl has IDN support test 1026 SKIPPED: curl lacks manual support Warning: test1086 result is ignored due to flaky Warning: test1086 result is ignored due to timing-dependent Warning: test1112 result is ignored due to timing-dependent Warning: test1113 result is ignored due to flaky Warning: test1162 result is ignored due to flaky Warning: test1163 result is ignored due to flaky test 1179 SKIPPED: curl lacks manual support Warning: test1208 result is ignored due to flaky Warning: test1208 result is ignored due to timing-dependent test 1330 SKIPPED: curl lacks TrackMemory support test 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support Warning: test1510 result is ignored due to flaky test 1560 SKIPPED: curl lacks ldap support Warning: test1592 result is ignored due to flaky Warning: test1592 result is ignored due to timing-dependent Warning: test1631 result is ignored due to flaky Warning: test1632 result is ignored due to flaky test 1703 SKIPPED: curl lacks Unicode support Warning: test2032 result is ignored due to flaky Warning: test2032 result is ignored due to timing-dependent test 2033 SKIPPED: curl lacks Schannel support test 2070 SKIPPED: curl lacks Schannel support test 2079 SKIPPED: curl lacks Schannel support test 2102 SKIPPED: curl lacks override-dns support test 2103 SKIPPED: curl lacks override-dns support test 2104 SKIPPED: curl lacks override-dns support Warning: test2405 result is ignored due to flaky Warning: test2407 result is ignored due to flaky test 2500 SKIPPED: curl lacks nghttpx-h3 support test 2503 SKIPPED: curl lacks nghttpx-h3 support test 4000 SKIPPED: curl lacks ECH support test 4001 SKIPPED: curl lacks ECH support Runner 74781 starting Runner 74780 starting Runner 74779 starting Runner 74778 starting Runner 74777 starting Runner 74776 starting Runner 74775 starting Runner 74774 starting Runner 74773 starting Runner 74772 starting Runner 74771 starting Runner 74770 starting Runner 74769 starting Runner 74768 starting Runner 74767 starting Runner 74766 starting Runner 74765 starting Runner 74764 starting Runner 74763 starting Runner 74762 starting Runner 74761 starting Runner 74760 starting Runner 74759 starting Runner 74758 starting CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:46741/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 Hmmm, the tests are taking a while to finish. Here is the status: runtests.pl internal state: 24 busy test runner(s) of 24 Runner 1 (id 74758) running test 24 in state 4 Runner 2 (id 74759) running test 23 in state 4 Runner 3 (id 74760) running test 22 in state 4 Runner 4 (id 74761) running test 21 in state 4 Runner 5 (id 74762) running test 20 in state 4 Runner 6 (id 74763) running test 19 in state 4 Runner 7 (id 74764) running test 18 in state 4 Runner 8 (id 74765) running test 17 in state 4 Runner 9 (id 74766) running test 16 in state 4 Runner 10 (id 74767) running test 15 in state 4 Runner 11 (id 74768) running test 14 in state 4 Runner 12 (id 74769) running test 13 in state 4 Runner 13 (id 74770) running test 12 in state 4 Runner 14 (id 74771) running test 11 in state 4 Runner 15 (id 74772) running test 10 in state 4 Runner 16 (id 74773) running test 9 in state 4 Runner 17 (id 74774) running test 8 in state 4 Runner 18 (id 74775) running test 7 in state 4 Runner 19 (id 74776) running test 6 in state 4 Runner 20 (id 74777) running test 5 in state 4 Runner 21 (id 74778) running test 4 in state 4 Runner 22 (id 74779) running test 3 in state 4 Runner 23 (id 74780) running test 2 in state 4 Runner 24 (id 74781) running test 1 in state 4 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:33217/2 > log/23/stdout2 2> log/23/stderr2 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind25 ../src/curl -q --output log/10/curl25.out --include --trace-ascii log/10/trace25 --trace-time http://127.0.0.1:46741/want/25 -L --max-redirs 5 > log/10/stdout25 2> log/10/stderr25 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_server.pid" --logfile "log/10/http_server.log" --logdir "log/10" --portfile log/10/server/http_server.port --config log/10/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74905 port 46741 * pid http => 74905 74905 test 0015...[--write-out test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:46741/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 15: stdout FAILED: --- log/10/check-expected 2026-03-14 05:45:36.134616065 +0000 +++ log/10/check-generated 2026-03-14 05:45:36.134616065 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -Repeated nonsense-headers[LF] -http://127.0.0.1:46741/want/15 200 26[LF] == Contents of files in the log/10/ directory after test 15 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Content-Length: 26[CR][LF] [CR][LF] Repeated nonsense-headers[LF] http://127.0.0.1:46741/want/15 200 26[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:46741/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 === End of file commands.log === Start of file http_server.log 05:45:22.096970 Running HTTP IPv4 version on port 46741 05:45:22.098055 Wrote pid 74905 to log/10/server/http_server.pid 05:45:22.098086 Wrote port 46741 to log/10/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 15 === End of file server.cmd === Start of file valgrind15 ==75584== ==75584== Process terminating with default action of signal 4 (SIGILL) ==75584== Illegal opcode at address 0x4014883 ==75584== at 0x4014883: getparameter (tool_getparam.c:2899) ==75584== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75584== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75584== by 0x4004208: main (tool_main.c:189) === End of file valgrind15 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_server.pid" --logfile "log/23/http_server.log" --logdir "log/23" --portfile log/23/server/http_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74783 port 33217 * pid http => 74783 74783 test 0002...[HTTP GET with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:33217/2 > log/23/stdout2 2> log/23/stderr2 2: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 2 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:33217/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 05:45:21.858391 Running HTTP IPv4 version on port 33217 05:45:21.858447 Wrote pid 74783 to log/23/server/http_server.pid 05:45:21.858477 Wrote port 33217 to log/23/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 2 === End of file server.cmd === Start of file valgrind2 ==74844== ==74844== Process terminating with default action of signal 4 (SIGILL) ==74844== Illegal opcode at address 0x4014883 ==74844== at 0x4014883: getparameter (tool_getparam.c:2899) ==74844== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==74844== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==74844== by 0x4004208: main (tool_main.c:189) === End of file valgrind2 test 0025...[looping HTTP Location: following with --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind25 ../src/curl -q --output log/10/curl25.out --include --trace-ascii log/10/trace25 --trace-time http://127.0.0.1:46741/want/25 -L --max-redirs 5 > log/10/stdout25 2> log/10/stderr25 25: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 25 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind25 ../src/curl -q --output log/10/curl25.out --include --trace-ascii log/10/trace25 --trace-time http://127.0.0.1:46741/want/25 -L --max-redirs 5 > log/10/stdout25 2> log/10/stderr25 === End of file commands.log === Start of file http_server.log 05:45:35.631595 ====> Client connect 05:45:35.631633 accept_connection 3 returned 4 05:45:35.631651 accept_connection 3 returned 0 05:45:35.631667 Read 93 bytes 05:45:35.631682 Process 93 bytes request 05:45:35.631707 Got request: GET /verifiedserver HTTP/1.1 05:45:35.631717 Are-we-friendly question received 05:45:35.631747 Wrote request (93 bytes) input to log/10/server.input 05:45:35.631769 Identifying ourselves as friends 05:45:35.631841 Response sent (56 bytes) and written to log/10/server.response 05:45:35.631858 special request received, no persistency 05:45:35.631868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 50612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 25 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind25 ==76104== ==76104== Process terminating with default action of signal 4 (SIGILL) ==76104== Illegal opcode at address 0x4014883 ==76104== at 0x4014883: getparameter (tool_getparam.c:2899) ==76104== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76104== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76104== by 0x4004208: main (tool_main.c:189) === End of file valgrind25 test 0020...[attempt connect to non-existing hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 curl returned 132, when expecting 6CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:34289/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind26 ../src/curl -q --output log/23/curl26.out --include --trace-ascii log/23/trace26 --trace-time http://127.0.0.1:33217/want/26 -o - -o - > log/23/stdout26 2> log/23/stderr26 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:39013/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 20: exit FAILED == Contents of files in the log/5/ directory after test 20 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 === End of file commands.log === Start of file server.cmd Testnum 20 === End of file server.cmd === Start of file valgrind20 ==75092== ==75092== Process terminating with default action of signal 4 (SIGILL) ==75092== Illegal opcode at address 0x4014883 ==75092== at 0x4014883: getparameter (tool_getparam.c:2899) ==75092== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75092== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75092== by 0x4004208: main (tool_main.c:189) === End of file valgrind20 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_server.pid" --logfile "log/13/http_server.log" --logdir "log/13" --portfile log/13/server/http_server.port --config log/13/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74841 port 34289 * pid http => 74841 74841 test 0012...[HTTP range support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:34289/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 12: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 12 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:34289/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 05:45:22.885900 Running HTTP IPv4 version on port 34289 05:45:22.886000 Wrote pid 74841 to log/13/server/http_server.pid 05:45:22.886036 Wrote port 34289 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 12 === End of file server.cmd === Start of file valgrind12 ==75433== ==75433== Process terminating with default action of signal 4 (SIGILL) ==75433== Illegal opcode at address 0x4014883 ==75433== at 0x4014883: getparameter (tool_getparam.c:2899) ==75433== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75433== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75433== by 0x4004208: main (tool_main.c:189) === End of file valgrind12 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_server.pid" --logfile "log/4/http_server.log" --logdir "log/4" --portfile log/4/server/http_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 75090 port 40253 * pid http => 75090 75090 test 0021...[use curl with multiple request methods] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 curl returned 132, when expecting 2 21: exit FAILED == Contents of files in the log/4/ directory after test 21 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 === End of file commands.log === Start of file http_server.log 05:45:22.420627 Running HTTP IPv4 version on port 40253 05:45:22.420730 Wrote pid 75090 to log/4/server/http_server.pid 05:45:22.420762 Wrote port 40253 to log/4/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 21 === End of file server.cmd === Start of file valgrind21 ==75740== ==75740== Process terminating with default action of signal 4 (SIGILL) ==75740== Illegal opcode at address 0x4014883 ==75740== at 0x4014883: getparameter (tool_getparam.c:2899) ==75740== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75740== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75740== by 0x4004208: main (tool_main.c:189) === End of file valgrind21 test 0026...[specify more -o than URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind26 ../src/curl -q --output log/23/curl26.out --include --trace-ascii log/23/trace26 --trace-time http://127.0.0.1:33217/want/26 -o - -o - > log/23/stdout26 2> log/23/stderr26 26: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 26 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind26 ../src/curl -q --output log/23/curl26.out --include --trace-ascii log/23/trace26 --trace-time http://127.0.0.1:33217/want/26 -o - -o - > log/23/stdout26 2> log/23/stderr26 === End of file commands.log === Start of file http_server.log 05:45:37.712118 ====> Client connect 05:45:37.712154 accept_connection 3 returned 4 05:45:37.712171 accept_connection 3 returned 0 05:45:37.712185 Read 93 bytes 05:45:37.712199 Process 93 bytes request 05:45:37.712220 Got request: GET /verifiedserver HTTP/1.1 05:45:37.712229 Are-we-friendly question received 05:45:37.712257 Wrote request (93 bytes) input to log/23/server.input 05:45:37.712278 Identifying ourselves as friends 05:45:37.712351 Response sent (56 bytes) and written to log/23/server.response 05:45:37.712368 special request received, no persistency 05:45:37.712377 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 34014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 26 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind26 ==76172== ==76172== Process terminating with default action of signal 4 (SIGILL) ==76172== Illegal opcode at address 0x4014883 ==76172== at 0x4014883: getparameter (tool_getparam.c:2899) ==76172== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76172== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76172== by 0x4004208: main (tool_main.c:189) === End of file valgrind26 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -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://127.0.0.1:42891/4 http://127.0.0.1:42891/4 > log/21/stdout4 2> log/21/stderr4 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:39591/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_server.pid" --logfile "log/7/http_server.log" --logdir "log/7" --portfile log/7/server/http_server.port --config log/7/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 75077 port 39013 * pid http => 75077 75077 test 0018...[multiple requests using {} in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:39013/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2026-03-14 05:45:38.587949398 +0000 +++ log/7/check-generated 2026-03-14 05:45:38.587949398 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -moo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -foo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -hoo[LF] == Contents of files in the log/7/ directory after test 18 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] moo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] foo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] hoo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:39013/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 05:45:22.388719 Running HTTP IPv4 version on port 39013 05:45:22.388798 Wrote pid 75077 to log/7/server/http_server.pid 05:45:22.388834 Wrote port 39013 to log/7/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 18 === End of file server.cmd === Start of file valgrind18 ==75733== ==75733== Process terminating with default action of signal 4 (SIGILL) ==75733== Illegal opcode at address 0x4014883 ==75733== at 0x4014883: getparameter (tool_getparam.c:2899) ==75733== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75733== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75733== by 0x4004208: main (tool_main.c:189) === End of file valgrind18 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/21/server/http_server.pid" --logfile "log/21/http_server.log" --logdir "log/21" --portfile log/21/server/http_server.port --config log/21/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74785 port 42891 * pid http => 74785 74785 test 0004...[Replaced internal and added custom HTTP headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -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://127.0.0.1:42891/4 http://127.0.0.1:42891/4 > log/21/stdout4 2> log/21/stderr4 4: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 4 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -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://127.0.0.1:42891/4 http://127.0.0.1:42891/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 05:45:21.060896 Running HTTP IPv4 version on port 42891 05:45:21.060959 Wrote pid 74785 to log/21/server/http_server.pid 05:45:21.060981 Wrote port 42891 to log/21/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 4 === End of file server.cmd === Start of file valgrind4 ==74917== ==74917== Process terminating with default action of signal 4 (SIGILL) ==74917== Illegal opcode at address 0x4014883 ==74917== at 0x4014883: getparameter (tool_getparam.c:2899) ==74917== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==74917== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==74917== by 0x4004208: main (tool_main.c:189) === End of file valgrind4 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_server.pid" --logfile "log/3/http_server.log" --logdir "log/3" --portfile log/3/server/http_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 75189 port 39591 * pid http => 75189 75189 test 0022...[get HTTP with URL > 10000 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:39591/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 22: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 22 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:39591/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:41799/none.htfml > log/2/stdout23 2> log/2/stderr23 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:33593/1 > log/24/stdout1 2> log/24/stderr1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 05:45:23.511990 Running HTTP IPv4 version on port 39591 05:45:23.512083 Wrote pid 75189 to log/3/server/http_server.pid 05:45:23.512115 Wrote port 39591 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 22 === End of file server.cmd === Start of file valgrind22 ==75810== ==75810== Process terminating with default action of signal 4 (SIGILL) ==75810== Illegal opcode at address 0x4014883 ==75810== at 0x4014883: getparameter (tool_getparam.c:2899) ==75810== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75810== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75810== by 0x4004208: main (tool_main.c:189) === End of file valgrind22 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_server.pid" --logfile "log/2/http_server.log" --logdir "log/2" --portfile log/2/server/http_server.port --config log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 75277 port 41799 * pid http => 75277 75277 test 0023...[unsupported protocol:// URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:41799/none.htfml > log/2/stdout23 2> log/2/stderr23 curl returned 132, when expecting 1 23: exit FAILED == Contents of files in the log/2/ directory after test 23 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:41799/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 05:45:23.602859 Running HTTP IPv4 version on port 41799 05:45:23.602967 Wrote pid 75277 to log/2/server/http_server.pid 05:45:23.602997 Wrote port 41799 to log/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 23 === End of file server.cmd === Start of file valgrind23 ==75880== ==75880== Process terminating with default action of signal 4 (SIGILL) ==75880== Illegal opcode at address 0x4014883 ==75880== at 0x4014883: getparameter (tool_getparam.c:2899) ==75880== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75880== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75880== by 0x4004208: main (tool_main.c:189) === End of file valgrind23 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_server.pid" --logfile "log/24/http_server.log" --logdir "log/24" --portfile log/24/server/http_server.port --config log/24/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74782 port 33593 * pid http => 74782 74782 test 0001...[HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:33593/1 > log/24/stdout1 2> log/24/stderr1 1: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time httCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind27 ../src/curl -q --output log/10/curl27.out --include --trace-ascii log/10/trace27 --trace-time "http://127.0.0.1:46741/want/{27,27,27}" -b none > log/10/stdout27 2> log/10/stderr27 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:41477/3 > log/22/stdout3 2> log/22/stderr3 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind29 ../src/curl -q --output log/13/curl29.out --include --trace-ascii log/13/trace29 --trace-time http://127.0.0.1:34289/want/29 -m 2 > log/13/stdout29 2> log/13/stderr29 RUN: Process with pid 74841 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind30 ../src/curl -q --output log/4/curl30.out --include --trace-ascii log/4/trace30 --trace-time http://127.0.0.1:40253/want/30 > log/4/stdout30 2> log/4/stderr30 p://127.0.0.1:33593/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 05:45:21.759374 Running HTTP IPv4 version on port 33593 05:45:21.759450 Wrote pid 74782 to log/24/server/http_server.pid 05:45:21.759471 Wrote port 33593 to log/24/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1 === End of file server.cmd === Start of file valgrind1 ==74794== ==74794== Process terminating with default action of signal 4 (SIGILL) ==74794== Illegal opcode at address 0x4014883 ==74794== at 0x4014883: getparameter (tool_getparam.c:2899) ==74794== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==74794== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==74794== by 0x4004208: main (tool_main.c:189) === End of file valgrind1 test 0027...[Get same cookie page several times] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind27 ../src/curl -q --output log/10/curl27.out --include --trace-ascii log/10/trace27 --trace-time "http://127.0.0.1:46741/want/{27,27,27}" -b none > log/10/stdout27 2> log/10/stderr27 27: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 27 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind27 ../src/curl -q --output log/10/curl27.out --include --trace-ascii log/10/trace27 --trace-time "http://127.0.0.1:46741/want/{27,27,27}" -b none > log/10/stdout27 2> log/10/stderr27 === End of file commands.log === Start of file http_server.log 05:45:37.182472 ====> Client connect 05:45:37.182506 accept_connection 3 returned 4 05:45:37.182525 accept_connection 3 returned 0 05:45:37.182540 Read 93 bytes 05:45:37.182552 Process 93 bytes request 05:45:37.182564 Got request: GET /verifiedserver HTTP/1.1 05:45:37.182573 Are-we-friendly question received 05:45:37.182601 Wrote request (93 bytes) input to log/10/server.input 05:45:37.182620 Identifying ourselves as friends 05:45:37.182683 Response sent (56 bytes) and written to log/10/server.response 05:45:37.182695 special request received, no persistency 05:45:37.182705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 27 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind27 ==76241== ==76241== Process terminating with default action of signal 4 (SIGILL) ==76241== Illegal opcode at address 0x4014883 ==76241== at 0x4014883: getparameter (tool_getparam.c:2899) ==76241== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76241== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76241== by 0x4004208: main (tool_main.c:189) === End of file valgrind27 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_server.pid" --logfile "log/22/http_server.log" --logdir "log/22" --portfile log/22/server/http_server.port --config log/22/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74784 port 41477 * pid http => 74784 74784 test 0003...[HTTP POST with auth and contents but with content-length set to 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:41477/3 > log/22/stdout3 2> log/22/stderr3 3: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 3 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:41477/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 05:45:21.959649 Running HTTP IPv4 version on port 41477 05:45:21.959702 Wrote pid 74784 to log/22/server/http_server.pid 05:45:21.959723 Wrote port 41477 to log/22/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 3 === End of file server.cmd === Start of file valgrind3 ==74864== ==74864== Process terminating with default action of signal 4 (SIGILL) ==74864== Illegal opcode at address 0x4014883 ==74864== at 0x4014883: getparameter (tool_getparam.c:2899) ==74864== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==74864== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==74864== by 0x4004208: main (tool_main.c:189) === End of file valgrind3 test 0019...[attempt connect to non-listening socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 curl returned 132, when expecting 7 19: exit FAILED == Contents of files in the log/6/ directory after test 19 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 === End of file commands.log === Start of file server.cmd Testnum 19 === End of file server.cmd === Start of file valgrind19 ==75082== ==75082== Process terminating with default action of signal 4 (SIGILL) ==75082== Illegal opcode at address 0x4014883 ==75082== at 0x4014883: getparameter (tool_getparam.c:2899) ==75082== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75082== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75082== by 0x4004208: main (tool_main.c:189) === End of file valgrind19 test 0030...[HTTP with no data in server reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind30 ../src/curl -q --output log/4/curl30.out --include --trace-ascii log/4/trace30 --trace-time http://127.0.0.1:40253/want/30 > log/4/stdout30 2> log/4/stderr30 30: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 30 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:36353/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 RUN: Process with pid 74841 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind32 ../src/curl -q --output log/7/curl32.out --include --trace-ascii log/7/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:39013/32 -G > log/7/stdout32 2> log/7/stderr32 d.supp --num-callers=16 --log-file=log/4/valgrind30 ../src/curl -q --output log/4/curl30.out --include --trace-ascii log/4/trace30 --trace-time http://127.0.0.1:40253/want/30 > log/4/stdout30 2> log/4/stderr30 === End of file commands.log === Start of file http_server.log 05:45:37.946135 ====> Client connect 05:45:37.946174 accept_connection 3 returned 4 05:45:37.946193 accept_connection 3 returned 0 05:45:37.946209 Read 93 bytes 05:45:37.946219 Process 93 bytes request 05:45:37.946246 Got request: GET /verifiedserver HTTP/1.1 05:45:37.946256 Are-we-friendly question received 05:45:37.946283 Wrote request (93 bytes) input to log/4/server.input 05:45:37.946302 Identifying ourselves as friends 05:45:37.946379 Response sent (56 bytes) and written to log/4/server.response 05:45:37.946395 special request received, no persistency 05:45:37.946405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 47670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 30 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind30 ==76355== ==76355== Process terminating with default action of signal 4 (SIGILL) ==76355== Illegal opcode at address 0x4014883 ==76355== at 0x4014883: getparameter (tool_getparam.c:2899) ==76355== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76355== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76355== by 0x4004208: main (tool_main.c:189) === End of file valgrind30 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/12/server/http_server.pid" --logfile "log/12/http_server.log" --logdir "log/12" --portfile log/12/server/http_server.port --config log/12/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74843 port 36353 * pid http => 74843 74843 test 0013...[HTTP custom request 'DELETE'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:36353/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 13: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 13 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:36353/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 05:45:22.889263 Running HTTP IPv4 version on port 36353 05:45:22.889346 Wrote pid 74843 to log/12/server/http_server.pid 05:45:22.889377 Wrote port 36353 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 13 === End of file server.cmd === Start of file valgrind13 ==75434== ==75434== Process terminating with default action of signal 4 (SIGILL) ==75434== Illegal opcode at address 0x4014883 ==75434== at 0x4014883: getparameter (tool_getparam.c:2899) ==75434== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75434== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75434== by 0x4004208: main (tool_main.c:189) === End of file valgrind13 test 0029...[HTTP with 2 secs timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind29 ../src/curl -q --output log/13/curl29.out --include --trace-ascii log/13/trace29 --trace-time http://127.0.0.1:34289/want/29 -m 2 > log/13/stdout29 2> log/13/stderr29 29: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 29 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind29 ../src/curl -q --output log/13/curl29.out --include --trace-ascii log/13/trace29 --trace-time http://127.0.0.1:34289/want/29 -m 2 > log/13/stdout29 2> log/13/stderr29 === End of file commands.log === Start of file http_server.log 05:45:38.913774 ====> Client connect 05:45:38.913823 accept_connection 3 returned 4 05:45:38.913846 accept_connection 3 returned 0 05:45:38.913865 Read 93 bytes 05:45:38.913880 Process 93 bytes request 05:45:38.913913 Got request: GET /verifiedserver HTTP/1.1 05:45:38.913925 Are-we-friendly question received 05:45:38.913951 Wrote request (93 bytes) input to log/13/server.input 05:45:38.913970 Identifying ourselves as friends 05:45:38.914067 Response sent (56 bytes) and written to log/13/server.response 05:45:38.914083 special request received, no persistency 05:45:38.914092 ====> Client disconnect 0 exit_signal_handler: called 05:45:40.455019 signalled to die 05:45:40.467390 ========> IPv4 sws (port 34289 pid: 74841) exits with signal (15) 05:45:40.467431 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34289... * Established connection to 127.0.0.1 (127.0.0.1 port 34289) from 127.0.0.1 port 34240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34289 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34289 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74841 === End of file http_verify.out === Start of file server.cmd Testnum 29 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74841 === End of file server.response === Start of file valgrind29 ==76335== ==76335== Process terminating with default action of signal 4 (SIGILL) ==76335== Illegal opcode at address 0x4014883 ==76335== at 0x4014883: getparameter (tool_getparam.c:2899) ==76335== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76335== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76335== by 0x4004208: main (tool_main.c:189) === End of file valgrind29 test 0032...[HTTP with -d and -G] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind32 ../src/curl -q --output log/7/curl32.out --include --trace-ascii log/7/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:39013/32 -G > log/7/stdout32 2> log/7/stderr32 32: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 32 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind32 ../src/curl -q --output log/7/curl32.out --include --trace-ascii log/7/trace32 --traceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind31 ../src/curl -q --output log/23/curl31.out --include --trace-ascii log/23/trace31 --trace-time http://test31.curl:33217/we/want/31 -b none -c log/23/jar31.txt --resolve test31.curl:33217:127.0.0.1 > log/23/stdout31 2> log/23/stderr31 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:39913/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind33 ../src/curl -q --output log/21/curl33.out --include --trace-ascii log/21/trace33 --trace-time http://127.0.0.1:42891/33 -Tlog/21/test33.txt -C 50 > log/21/stdout33 2> log/21/stderr33 -time -d "foo=moo&moo=poo" http://127.0.0.1:39013/32 -G > log/7/stdout32 2> log/7/stderr32 === End of file commands.log === Start of file http_server.log 05:45:38.104571 ====> Client connect 05:45:38.104611 accept_connection 3 returned 4 05:45:38.104629 accept_connection 3 returned 0 05:45:38.107244 Read 93 bytes 05:45:38.107269 Process 93 bytes request 05:45:38.107289 Got request: GET /verifiedserver HTTP/1.1 05:45:38.107298 Are-we-friendly question received 05:45:38.107347 Wrote request (93 bytes) input to log/7/server.input 05:45:38.107370 Identifying ourselves as friends 05:45:38.107432 Response sent (56 bytes) and written to log/7/server.response 05:45:38.107446 special request received, no persistency 05:45:38.107455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 36446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 32 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind32 ==76466== ==76466== Process terminating with default action of signal 4 (SIGILL) ==76466== Illegal opcode at address 0x4014883 ==76466== at 0x4014883: getparameter (tool_getparam.c:2899) ==76466== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76466== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76466== by 0x4004208: main (tool_main.c:189) === End of file valgrind32 setenv TZ = GMT test 0031...[HTTP with weirdly formatted cookies and cookiejar storage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind31 ../src/curl -q --output log/23/curl31.out --include --trace-ascii log/23/trace31 --trace-time http://test31.curl:33217/we/want/31 -b none -c log/23/jar31.txt --resolve test31.curl:33217:127.0.0.1 > log/23/stdout31 2> log/23/stderr31 31: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 31 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind31 ../src/curl -q --output log/23/curl31.out --include --trace-ascii log/23/trace31 --trace-time http://test31.curl:33217/we/want/31 -b none -c log/23/jar31.txt --resolve test31.curl:33217:127.0.0.1 > log/23/stdout31 2> log/23/stderr31 === End of file commands.log === Start of file http_server.log 05:45:39.082837 ====> Client connect 05:45:39.082875 accept_connection 3 returned 4 05:45:39.082893 accept_connection 3 returned 0 05:45:39.082909 Read 93 bytes 05:45:39.082919 Process 93 bytes request 05:45:39.082933 Got request: GET /verifiedserver HTTP/1.1 05:45:39.082943 Are-we-friendly question received 05:45:39.082972 Wrote request (93 bytes) input to log/23/server.input 05:45:39.082991 Identifying ourselves as friends 05:45:39.083057 Response sent (56 bytes) and written to log/23/server.response 05:45:39.083069 special request received, no persistency 05:45:39.083078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 60316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 31 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind31 ==76456== ==76456== Process terminating with default action of signal 4 (SIGILL) ==76456== Illegal opcode at address 0x4014883 ==76456== at 0x4014883: getparameter (tool_getparam.c:2899) ==76456== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76456== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76456== by 0x4004208: main (tool_main.c:189) === End of file valgrind31 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_server.pid" --logfile "log/18/http_server.log" --logdir "log/18" --portfile log/18/server/http_server.port --config log/18/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74788 port 39913 * pid http => 74788 74788 test 0007...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:39913/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 7: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 7 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:39913/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 === End of file commands.log === Start of file http_server.log 05:45:21.362776 Running HTTP IPv4 version on port 39913 05:45:21.362825 Wrote pid 74788 to log/18/server/http_server.pid 05:45:21.362846 Wrote port 39913 to log/18/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 7 === End of file server.cmd === Start of file valgrind7 ==75081== ==75081== Process terminating with default action of signal 4 (SIGILL) ==75081== Illegal opcode at address 0x4014883 ==75081== at 0x4014883: getparameter (tool_getparam.c:2899) ==75081== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75081== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75081== by 0x4004208: main (tool_main.c:189) === End of file valgrind7 test 0033...[HTTP PUT with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind33 ../src/curl -q --output log/21/curl33.out --include --trace-ascii log/21/trace33 --trace-time http://127.0.0.1:42891/33 -Tlog/21/test33.txt -C 50 > log/21/stdout33 2> log/21/stderr33 33: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 33 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind33 ../src/curl -q --output log/21/curl33.out --include --trace-ascii log/21/trace33 --trace-time http://127.0.0.1:42891/33 -Tlog/21/test33.txt -C 50 > log/21CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind34 ../src/curl -q --output log/3/curl34.out --include --trace-ascii log/3/trace34 --trace-time http://127.0.0.1:39591/34 > log/3/stdout34 2> log/3/stderr34 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind28 ../src/curl -q --output log/5/curl28.out --include --trace-ascii log/5/trace28 --trace-time http://127.0.0.1:35621/want/28 -L > log/5/stdout28 2> log/5/stderr28 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind35 ../src/curl -q --output log/2/curl35.out --include --trace-ascii log/2/trace35 --trace-time http://127.0.0.1:41799/we/want/35 --data-binary @log/2/test35.txt > log/2/stdout35 2> log/2/stderr35 /stdout33 2> log/21/stderr33 === End of file commands.log === Start of file http_server.log 05:45:38.432601 ====> Client connect 05:45:38.432633 accept_connection 3 returned 4 05:45:38.432648 accept_connection 3 returned 0 05:45:38.432661 Read 93 bytes 05:45:38.432670 Process 93 bytes request 05:45:38.432695 Got request: GET /verifiedserver HTTP/1.1 05:45:38.432704 Are-we-friendly question received 05:45:38.432739 Wrote request (93 bytes) input to log/21/server.input 05:45:38.432757 Identifying ourselves as friends 05:45:38.432816 Response sent (56 bytes) and written to log/21/server.response 05:45:38.432830 special request received, no persistency 05:45:38.432839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 36690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 ==76587== ==76587== Process terminating with default action of signal 4 (SIGILL) ==76587== Illegal opcode at address 0x4014883 ==76587== at 0x4014883: getparameter (tool_getparam.c:2899) ==76587== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76587== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76587== by 0x4004208: main (tool_main.c:189) === End of file valgrind33 test 0034...[HTTP GET with chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind34 ../src/curl -q --output log/3/curl34.out --include --trace-ascii log/3/trace34 --trace-time http://127.0.0.1:39591/34 > log/3/stdout34 2> log/3/stderr34 34: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 34 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind34 ../src/curl -q --output log/3/curl34.out --include --trace-ascii log/3/trace34 --trace-time http://127.0.0.1:39591/34 > log/3/stdout34 2> log/3/stderr34 === End of file commands.log === Start of file http_server.log 05:45:39.590406 ====> Client connect 05:45:39.590446 accept_connection 3 returned 4 05:45:39.590464 accept_connection 3 returned 0 05:45:39.590479 Read 93 bytes 05:45:39.590498 Process 93 bytes request 05:45:39.590525 Got request: GET /verifiedserver HTTP/1.1 05:45:39.590534 Are-we-friendly question received 05:45:39.590559 Wrote request (93 bytes) input to log/3/server.input 05:45:39.590579 Identifying ourselves as friends 05:45:39.590660 Response sent (56 bytes) and written to log/3/server.response 05:45:39.590673 special request received, no persistency 05:45:39.590683 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 56172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 34 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind34 ==76642== ==76642== Process terminating with default action of signal 4 (SIGILL) ==76642== Illegal opcode at address 0x4014883 ==76642== at 0x4014883: getparameter (tool_getparam.c:2899) ==76642== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76642== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76642== by 0x4004208: main (tool_main.c:189) === End of file valgrind34 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_server.pid" --logfile "log/5/http_server.log" --logdir "log/5" --portfile log/5/server/http_server.port --config log/5/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 76297 port 35621 * pid http => 76297 76297 test 0028...[HTTP Location: following with extra spaces in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind28 ../src/curl -q --output log/5/curl28.out --include --trace-ascii log/5/trace28 --trace-time http://127.0.0.1:35621/want/28 -L > log/5/stdout28 2> log/5/stderr28 28: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 28 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind28 ../src/curl -q --output log/5/curl28.out --include --trace-ascii log/5/trace28 --trace-time http://127.0.0.1:35621/want/28 -L > log/5/stdout28 2> log/5/stderr28 === End of file commands.log === Start of file http_server.log 05:45:38.628603 Running HTTP IPv4 version on port 35621 05:45:38.628738 Wrote pid 76297 to log/5/server/http_server.pid 05:45:38.628794 Wrote port 35621 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 28 === End of file server.cmd === Start of file valgrind28 ==76671== ==76671== Process terminating with default action of signal 4 (SIGILL) ==76671== Illegal opcode at address 0x4014883 ==76671== at 0x4014883: getparameter (tool_getparam.c:2899) ==76671== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76671== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76671== by 0x4004208: main (tool_main.c:189) === End of file valgrind28 test 0035...[HTTP POST binary data with embedded NUL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind35 ../src/curl -q --output log/2/curl35.out --include --trace-ascii log/2/trace35 --trace-time http://127.0.0.1:41799/we/want/35 --data-binary @log/2/test35.txt > log/2/stdout35 2> log/2/stderr35 35: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 35 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind35 ../src/curl -q --output log/2/curl35.out --include --trace-ascii log/2/trace35 --trace-time http://127.0.0.1:41799/we/want/35 --data-binary @log/2/test35.txt > log/2/stdout35 2> log/2/stderr35 === End of file commands.log === Start of file http_server.log 05:45:39.659097 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind36 ../src/curl -q --output log/24/curl36.out --include --trace-ascii log/24/trace36 --trace-time http://127.0.0.1:33593/36 > log/24/stdout36 2> log/24/stderr36 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind37 ../src/curl -q --output log/10/curl37.out --include --trace-ascii log/10/trace37 --trace-time http://127.0.0.1:46741/37 > log/10/stdout37 2> log/10/stderr37 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind38 ../src/curl -q --include --trace-ascii log/22/trace38 --trace-time http://127.0.0.1:41477/want/38 -C - --no-include -o log/22/fewl38.txt > log/22/stdout38 2> log/22/stderr38 ==> Client connect 05:45:39.659132 accept_connection 3 returned 4 05:45:39.659151 accept_connection 3 returned 0 05:45:39.659166 Read 93 bytes 05:45:39.659179 Process 93 bytes request 05:45:39.659202 Got request: GET /verifiedserver HTTP/1.1 05:45:39.659211 Are-we-friendly question received 05:45:39.659239 Wrote request (93 bytes) input to log/2/server.input 05:45:39.659259 Identifying ourselves as friends 05:45:39.659335 Response sent (56 bytes) and written to log/2/server.response 05:45:39.659348 special request received, no persistency 05:45:39.659357 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 35 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file test35.txt This is binary data with an embedded NUL byte === End of file test35.txt === Start of file valgrind35 ==76734== ==76734== Process terminating with default action of signal 4 (SIGILL) ==76734== Illegal opcode at address 0x4014883 ==76734== at 0x4014883: getparameter (tool_getparam.c:2899) ==76734== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76734== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76734== by 0x4004208: main (tool_main.c:189) === End of file valgrind35 test 0036...[HTTP GET with bad chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind36 ../src/curl -q --output log/24/curl36.out --include --trace-ascii log/24/trace36 --trace-time http://127.0.0.1:33593/36 > log/24/stdout36 2> log/24/stderr36 36: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 36 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind36 ../src/curl -q --output log/24/curl36.out --include --trace-ascii log/24/trace36 --trace-time http://127.0.0.1:33593/36 > log/24/stdout36 2> log/24/stderr36 === End of file commands.log === Start of file http_server.log 05:45:39.676458 ====> Client connect 05:45:39.676494 accept_connection 3 returned 4 05:45:39.676511 accept_connection 3 returned 0 05:45:39.676526 Read 93 bytes 05:45:39.676543 Process 93 bytes request 05:45:39.676566 Got request: GET /verifiedserver HTTP/1.1 05:45:39.676576 Are-we-friendly question received 05:45:39.676604 Wrote request (93 bytes) input to log/24/server.input 05:45:39.676625 Identifying ourselves as friends 05:45:39.676693 Response sent (56 bytes) and written to log/24/server.response 05:45:39.676708 special request received, no persistency 05:45:39.676717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 35012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 36 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind36 ==76749== ==76749== Process terminating with default action of signal 4 (SIGILL) ==76749== Illegal opcode at address 0x4014883 ==76749== at 0x4014883: getparameter (tool_getparam.c:2899) ==76749== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76749== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76749== by 0x4004208: main (tool_main.c:189) === End of file valgrind36 test 0037...[HTTP GET with nothing returned from server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind37 ../src/curl -q --output log/10/curl37.out --include --trace-ascii log/10/trace37 --trace-time http://127.0.0.1:46741/37 > log/10/stdout37 2> log/10/stderr37 37: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 37 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind37 ../src/curl -q --output log/10/curl37.out --include --trace-ascii log/10/trace37 --trace-time http://127.0.0.1:46741/37 > log/10/stdout37 2> log/10/stderr37 === End of file commands.log === Start of file http_server.log 05:45:38.862619 ====> Client connect 05:45:38.862649 accept_connection 3 returned 4 05:45:38.862665 accept_connection 3 returned 0 05:45:38.862679 Read 93 bytes 05:45:38.862689 Process 93 bytes request 05:45:38.862703 Got request: GET /verifiedserver HTTP/1.1 05:45:38.862712 Are-we-friendly question received 05:45:38.862735 Wrote request (93 bytes) input to log/10/server.input 05:45:38.862751 Identifying ourselves as friends 05:45:38.862804 Response sent (56 bytes) and written to log/10/server.response 05:45:38.862814 special request received, no persistency 05:45:38.862823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 37 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind37 ==76877== ==76877== Process terminating with default action of signal 4 (SIGILL) ==76877== Illegal opcode at address 0x4014883 ==76877== at 0x4014883: getparameter (tool_getparam.c:2899) ==76877== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76877== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76877== by 0x4004208: main (tool_main.c:189) === End of file valgrind37 test 0038...[HTTP resume request without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind38 ../src/curl -q --include --trace-ascii log/22/trace38 --trace-time http://127.0.0.1:41477/want/38 -C - --no-include -o log/22/fewl38.txt > log/22/stdout38 2> log/22/stderr38 38: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind40 ../src/curl -q --output log/4/curl40.out --include --trace-ascii log/4/trace40 --trace-time http://127.0.0.1:40253/we/are/all/twits/40 -L > log/4/stdout40 2> log/4/stderr40 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:33885 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind41 ../src/curl -q --output log/12/curl41.out --include --trace-ascii log/12/trace41 --trace-time http://127.0.0.1:36353/want/41 -F moo=@boo > log/12/stdout41 2> log/12/stderr41 / directory after test 38 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind38 ../src/curl -q --include --trace-ascii log/22/trace38 --trace-time http://127.0.0.1:41477/want/38 -C - --no-include -o log/22/fewl38.txt > log/22/stdout38 2> log/22/stderr38 === End of file commands.log === Start of file fewl38.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl38.txt === Start of file http_server.log 05:45:40.195769 ====> Client connect 05:45:40.195808 accept_connection 3 returned 4 05:45:40.195824 accept_connection 3 returned 0 05:45:40.197321 Read 93 bytes 05:45:40.197340 Process 93 bytes request 05:45:40.197364 Got request: GET /verifiedserver HTTP/1.1 05:45:40.197374 Are-we-friendly question received 05:45:40.197425 Wrote request (93 bytes) input to log/22/server.input 05:45:40.197447 Identifying ourselves as friends 05:45:40.197509 Response sent (56 bytes) and written to log/22/server.response 05:45:40.197522 special request received, no persistency 05:45:40.197531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 48812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 38 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind38 ==76974== ==76974== Process terminating with default action of signal 4 (SIGILL) ==76974== Illegal opcode at address 0x4014883 ==76974== at 0x4014883: getparameter (tool_getparam.c:2899) ==76974== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==76974== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==76974== by 0x4004208: main (tool_main.c:189) === End of file valgrind38 test 0040...[HTTP redirect with whitespace after ? (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind40 ../src/curl -q --output log/4/curl40.out --include --trace-ascii log/4/trace40 --trace-time http://127.0.0.1:40253/we/are/all/twits/40 -L > log/4/stdout40 2> log/4/stderr40 40: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 40 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind40 ../src/curl -q --output log/4/curl40.out --include --trace-ascii log/4/trace40 --trace-time http://127.0.0.1:40253/we/are/all/twits/40 -L > log/4/stdout40 2> log/4/stderr40 === End of file commands.log === Start of file http_server.log 05:45:39.557104 ====> Client connect 05:45:39.557151 accept_connection 3 returned 4 05:45:39.557174 accept_connection 3 returned 0 05:45:39.557191 Read 93 bytes 05:45:39.557202 Process 93 bytes request 05:45:39.557216 Got request: GET /verifiedserver HTTP/1.1 05:45:39.557226 Are-we-friendly question received 05:45:39.557255 Wrote request (93 bytes) input to log/4/server.input 05:45:39.557274 Identifying ourselves as friends 05:45:39.557922 Response sent (56 bytes) and written to log/4/server.response 05:45:39.557940 special request received, no persistency 05:45:39.557949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 47682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 40 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind40 ==77067== ==77067== Process terminating with default action of signal 4 (SIGILL) ==77067== Illegal opcode at address 0x4014883 ==77067== at 0x4014883: getparameter (tool_getparam.c:2899) ==77067== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77067== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77067== by 0x4004208: main (tool_main.c:189) === End of file valgrind40 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_server.pid" --logfile "log/9/http_server.log" --logdir "log/9" --portfile log/9/server/http_server.port --config log/9/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74958 port 33885 * pid http => 74958 74958 test 0016...[HTTP with proxy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:33885 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 16: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 16 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:33885 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 === End of file commands.log === Start of file http_server.log 05:45:22.197564 Running HTTP IPv4 version on port 33885 05:45:22.197643 Wrote pid 74958 to log/9/server/http_server.pid 05:45:22.197675 Wrote port 33885 to log/9/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 16 === End of file server.cmd === Start of file valgrind16 ==75653== ==75653== Process terminating with default action of signal 4 (SIGILL) ==75653== Illegal opcode at address 0x4014883 ==75653== at 0x4014883: getparameter (tool_getparam.c:2899) ==75653== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75653== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75653== by 0x4004208: main (tool_main.c:189) === End of file valgrind16 test 0041...[HTTP formpost with missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind41 ../src/curl -q --output log/12/curl41.out --include --trace-ascii log/12/trace41 --trace-tiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:38929/we/want/that/page/5#5 -x 127.0.0.1:38929 > log/20/stdout5 2> log/20/stderr5 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:44673/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:35549/want/11 -L > log/14/stdout11 2> log/14/stderr11 me http://127.0.0.1:36353/want/41 -F moo=@boo > log/12/stdout41 2> log/12/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/12/ directory after test 41 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind41 ../src/curl -q --output log/12/curl41.out --include --trace-ascii log/12/trace41 --trace-time http://127.0.0.1:36353/want/41 -F moo=@boo > log/12/stdout41 2> log/12/stderr41 === End of file commands.log === Start of file http_server.log 05:45:40.573296 ====> Client connect 05:45:40.573332 accept_connection 3 returned 4 05:45:40.573348 accept_connection 3 returned 0 05:45:40.573362 Read 93 bytes 05:45:40.573371 Process 93 bytes request 05:45:40.573395 Got request: GET /verifiedserver HTTP/1.1 05:45:40.573405 Are-we-friendly question received 05:45:40.573432 Wrote request (93 bytes) input to log/12/server.input 05:45:40.573450 Identifying ourselves as friends 05:45:40.573513 Response sent (56 bytes) and written to log/12/server.response 05:45:40.573527 special request received, no persistency 05:45:40.573535 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 41586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 41 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind41 ==77069== ==77069== Process terminating with default action of signal 4 (SIGILL) ==77069== Illegal opcode at address 0x4014883 ==77069== at 0x4014883: getparameter (tool_getparam.c:2899) ==77069== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77069== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77069== by 0x4004208: main (tool_main.c:189) === End of file valgrind41 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_server.pid" --logfile "log/20/http_server.log" --logdir "log/20" --portfile log/20/server/http_server.port --config log/20/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74786 port 38929 * pid http => 74786 74786 test 0005...[HTTP over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:38929/we/want/that/page/5#5 -x 127.0.0.1:38929 > log/20/stdout5 2> log/20/stderr5 5: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 5 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:38929/we/want/that/page/5#5 -x 127.0.0.1:38929 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 05:45:21.162396 Running HTTP IPv4 version on port 38929 05:45:21.162467 Wrote pid 74786 to log/20/server/http_server.pid 05:45:21.162487 Wrote port 38929 to log/20/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 5 === End of file server.cmd === Start of file valgrind5 ==74961== ==74961== Process terminating with default action of signal 4 (SIGILL) ==74961== Illegal opcode at address 0x4014883 ==74961== at 0x4014883: getparameter (tool_getparam.c:2899) ==74961== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==74961== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==74961== by 0x4004208: main (tool_main.c:189) === End of file valgrind5 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_server.pid" --logfile "log/16/http_server.log" --logdir "log/16" --portfile log/16/server/http_server.port --config log/16/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74790 port 44673 * pid http => 74790 74790 test 0009...[HTTP RFC1867-type formposting] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:44673/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 9: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 9 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:44673/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 === End of file commands.log === Start of file http_server.log 05:45:22.567150 Running HTTP IPv4 version on port 44673 05:45:22.567217 Wrote pid 74790 to log/16/server/http_server.pid 05:45:22.567239 Wrote port 44673 to log/16/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 9 === End of file server.cmd === Start of file test9.txt foo- This is a moo- bar === End of file test9.txt === Start of file valgrind9 ==75280== ==75280== Process terminating with default action of signal 4 (SIGILL) ==75280== Illegal opcode at address 0x4014883 ==75280== at 0x4014883: getparameter (tool_getparam.c:2899) ==75280== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75280== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75280== by 0x4004208: main (tool_main.c:189) === End of file valgrind9 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/14/server/http_server.pid" --logfile "log/14/http_server.log" --logdir "log/14" --portfile log/14/server/http_server.port --config log/14/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74793 port 35549 * pid http => 74793 74793 test 0011...[simple HTTP Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:35549/want/11 -L > log/14/stdout11 2> log/14/stderr11 11: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 11 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind43 ../src/curl -q --output log/7/curl43.out --include --trace-ascii log/7/trace43 --trace-time http://127.0.0.1:39013/want/43 -L -x 127.0.0.1:39013 > log/7/stdout43 2> log/7/stderr43 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind44 ../src/curl -q --output log/23/curl44.out --include --trace-ascii log/23/trace44 --trace-time http://127.0.0.1:33217/we/want/44 -F name=daniel -F tool=curl -F file=@log/23/test44.txt -H "Expect:" > log/23/stdout44 2> log/23/stderr44 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind47 ../src/curl -q --output log/3/curl47.out --include --trace-ascii log/3/trace47 --trace-time http://127.0.0.1:39591/47 -0 > log/3/stdout47 2> log/3/stderr47 /valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:35549/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 05:45:22.765874 Running HTTP IPv4 version on port 35549 05:45:22.765936 Wrote pid 74793 to log/14/server/http_server.pid 05:45:22.765960 Wrote port 35549 to log/14/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 11 === End of file server.cmd === Start of file valgrind11 ==75382== ==75382== Process terminating with default action of signal 4 (SIGILL) ==75382== Illegal opcode at address 0x4014883 ==75382== at 0x4014883: getparameter (tool_getparam.c:2899) ==75382== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75382== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75382== by 0x4004208: main (tool_main.c:189) === End of file valgrind11 test 0043...[HTTP Location: following over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind43 ../src/curl -q --output log/7/curl43.out --include --trace-ascii log/7/trace43 --trace-time http://127.0.0.1:39013/want/43 -L -x 127.0.0.1:39013 > log/7/stdout43 2> log/7/stderr43 43: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 43 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind43 ../src/curl -q --output log/7/curl43.out --include --trace-ascii log/7/trace43 --trace-time http://127.0.0.1:39013/want/43 -L -x 127.0.0.1:39013 > log/7/stdout43 2> log/7/stderr43 === End of file commands.log === Start of file http_server.log 05:45:39.816127 ====> Client connect 05:45:39.816311 accept_connection 3 returned 4 05:45:39.816328 accept_connection 3 returned 0 05:45:39.816343 Read 93 bytes 05:45:39.816352 Process 93 bytes request 05:45:39.816364 Got request: GET /verifiedserver HTTP/1.1 05:45:39.816374 Are-we-friendly question received 05:45:39.816400 Wrote request (93 bytes) input to log/7/server.input 05:45:39.816417 Identifying ourselves as friends 05:45:39.816476 Response sent (56 bytes) and written to log/7/server.response 05:45:39.816486 special request received, no persistency 05:45:39.816494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 36450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 43 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind43 ==77206== ==77206== Process terminating with default action of signal 4 (SIGILL) ==77206== Illegal opcode at address 0x4014883 ==77206== at 0x4014883: getparameter (tool_getparam.c:2899) ==77206== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77206== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77206== by 0x4004208: main (tool_main.c:189) === End of file valgrind43 test 0044...[HTTP RFC1867-type formposting without Expect: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind44 ../src/curl -q --output log/23/curl44.out --include --trace-ascii log/23/trace44 --trace-time http://127.0.0.1:33217/we/want/44 -F name=daniel -F tool=curl -F file=@log/23/test44.txt -H "Expect:" > log/23/stdout44 2> log/23/stderr44 44: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 44 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind44 ../src/curl -q --output log/23/curl44.out --include --trace-ascii log/23/trace44 --trace-time http://127.0.0.1:33217/we/want/44 -F name=daniel -F tool=curl -F file=@log/23/test44.txt -H "Expect:" > log/23/stdout44 2> log/23/stderr44 === End of file commands.log === Start of file http_server.log 05:45:40.793825 ====> Client connect 05:45:40.793881 accept_connection 3 returned 4 05:45:40.793901 accept_connection 3 returned 0 05:45:40.795301 Read 93 bytes 05:45:40.795321 Process 93 bytes request 05:45:40.795335 Got request: GET /verifiedserver HTTP/1.1 05:45:40.795345 Are-we-friendly question received 05:45:40.795376 Wrote request (93 bytes) input to log/23/server.input 05:45:40.795395 Identifying ourselves as friends 05:45:40.795460 Response sent (56 bytes) and written to log/23/server.response 05:45:40.795472 special request received, no persistency 05:45:40.795481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 60318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 44 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file test44.txt foo- This is a moo- bar === End of file test44.txt === Start of file valgrind44 ==77199== ==77199== Process terminating with default action of signal 4 (SIGILL) ==77199== Illegal opcode at address 0x4014883 ==77199== at 0x4014883: getparameter (tool_getparam.c:2899) ==77199== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77199== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77199== by 0x4004208: main (tool_main.c:189) === End of file valgrind44 test 0047...[simple HTTP 1.0 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind47 ../src/curl -q --output log/3/curl47.out --include --trace-ascii log/3/trace47 --trace-time http://127.0.0.1:39591/47 -0 > log/3/stdout47 2> log/3/stderr47 47: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 47 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind47 ../src/curl -q --output log/3/curl47.out --include --trace-ascii log/3/trace47 --trace-time http://127.0.0.1:39591/47 -0 > log/3/stdout47 2> log/3/stderr47 === End of file commands.log === Start of file http_server.log 05:45:41.285920 ====> Client connect 05:45:41.285950 accept_connection 3 returned 4 05:45:41.285967 accept_connection 3 returned 0 05:45:41.285982 Read 93 bytes 05:45:41.285991 Process 93 bytes request 05:45:41.286005 Got requeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind45 ../src/curl -q --output log/18/curl45.out --include --trace-ascii log/18/trace45 --trace-time 127.0.0.1:39913/want/45 -L > log/18/stdout45 2> log/18/stderr45 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:35701/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind49 ../src/curl -q --output log/2/curl49.out --include --trace-ascii log/2/trace49 --trace-time http://127.0.0.1:41799/we/are/all/twits/49 -L > log/2/stdout49 2> log/2/stderr49 st: GET /verifiedserver HTTP/1.1 05:45:41.286014 Are-we-friendly question received 05:45:41.286038 Wrote request (93 bytes) input to log/3/server.input 05:45:41.286054 Identifying ourselves as friends 05:45:41.286108 Response sent (56 bytes) and written to log/3/server.response 05:45:41.286117 special request received, no persistency 05:45:41.286125 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 56180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 47 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind47 ==77457== ==77457== Process terminating with default action of signal 4 (SIGILL) ==77457== Illegal opcode at address 0x4014883 ==77457== at 0x4014883: getparameter (tool_getparam.c:2899) ==77457== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77457== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77457== by 0x4004208: main (tool_main.c:189) === End of file valgrind47 test 0045...[simple HTTP Location: without protocol in initial URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind45 ../src/curl -q --output log/18/curl45.out --include --trace-ascii log/18/trace45 --trace-time 127.0.0.1:39913/want/45 -L > log/18/stdout45 2> log/18/stderr45 45: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 45 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind45 ../src/curl -q --output log/18/curl45.out --include --trace-ascii log/18/trace45 --trace-time 127.0.0.1:39913/want/45 -L > log/18/stdout45 2> log/18/stderr45 === End of file commands.log === Start of file http_server.log 05:45:39.950418 ====> Client connect 05:45:39.950471 accept_connection 3 returned 4 05:45:39.950494 accept_connection 3 returned 0 05:45:39.950511 Read 93 bytes 05:45:39.950527 Process 93 bytes request 05:45:39.950554 Got request: GET /verifiedserver HTTP/1.1 05:45:39.950565 Are-we-friendly question received 05:45:39.950597 Wrote request (93 bytes) input to log/18/server.input 05:45:39.950619 Identifying ourselves as friends 05:45:39.950717 Response sent (56 bytes) and written to log/18/server.response 05:45:39.950738 special request received, no persistency 05:45:39.950748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 47966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 45 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind45 ==77288== ==77288== Process terminating with default action of signal 4 (SIGILL) ==77288== Illegal opcode at address 0x4014883 ==77288== at 0x4014883: getparameter (tool_getparam.c:2899) ==77288== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77288== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77288== by 0x4004208: main (tool_main.c:189) === End of file valgrind45 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_server.pid" --logfile "log/19/http_server.log" --logdir "log/19" --portfile log/19/server/http_server.port --config log/19/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74787 port 35701 * pid http => 74787 74787 test 0006...[HTTP with simple cookie send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:35701/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 6: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 6 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:35701/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 === End of file commands.log === Start of file http_server.log 05:45:21.262135 Running HTTP IPv4 version on port 35701 05:45:21.262186 Wrote pid 74787 to log/19/server/http_server.pid 05:45:21.262210 Wrote port 35701 to log/19/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 6 === End of file server.cmd === Start of file valgrind6 ==75020== ==75020== Process terminating with default action of signal 4 (SIGILL) ==75020== Illegal opcode at address 0x4014883 ==75020== at 0x4014883: getparameter (tool_getparam.c:2899) ==75020== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75020== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75020== by 0x4004208: main (tool_main.c:189) === End of file valgrind6 test 0049...[HTTP follow redirect with ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind49 ../src/curl -q --output log/2/curl49.out --include --trace-ascii log/2/trace49 --trace-time http://127.0.0.1:41799/we/are/all/twits/49 -L > log/2/stdout49 2> log/2/stderr49 49: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 49 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind49 ../src/curl -q --output log/2/curl49.out --include --trace-ascii log/2/trace49 --trace-time http://127.0.0.1:41799/we/are/all/twits/49 -L > log/2/stdout49 2> log/2/stderr49 === End of file commands.log === Start of file http_server.log 05:45:41.469462 ====> Client connect 05:45:41.469494 accept_connection 3 returned 4 05:45:41.469511 accept_connection 3 returned 0 05:45:41.469524 Read 93 bytes 05:45:41.469534 Process 93 bytes request 05:45:41.469545 Got request: GET /verifiedserver HTTP/1.1 05:45:41.469554 Are-we-friendly question received 05:45:41.469579 Wrote request (93 bytes) input to log/2/server.input 05:45:41.469596 Identifying ourselves as fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:41505/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind39 ../src/curl -q --output log/6/curl39.out --include --trace-ascii log/6/trace39 --trace-time http://127.0.0.1:33035/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/6/stdout39 2> log/6/stderr39 riends 05:45:41.469654 Response sent (56 bytes) and written to log/2/server.response 05:45:41.469665 special request received, no persistency 05:45:41.469673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 49 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind49 ==77646== ==77646== Process terminating with default action of signal 4 (SIGILL) ==77646== Illegal opcode at address 0x4014883 ==77646== at 0x4014883: getparameter (tool_getparam.c:2899) ==77646== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77646== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77646== by 0x4004208: main (tool_main.c:189) === End of file valgrind49 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_server.pid" --logfile "log/17/http_server.log" --logdir "log/17" --portfile log/17/server/http_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74789 port 41505 * pid http => 74789 74789 prechecked /usr/bin/perl -e 'if("127.0.0.1" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' test 0008...[HTTP with cookie parsing from header file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:41505/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 8: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 8 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:41505/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 === End of file commands.log === Start of file heads8.txt HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes 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=/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: name with space=is weird but; path=/we/want; Set-Cookie: trailingspace = removed; path=/we/want; Set-Cookie: nocookie=yes; path=/WE; 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: cookie1=-junk Set-Cookie: cookie2=-junk Set-Cookie: cookie3=-junk Set-Cookie: cookie4=-junk Set-Cookie: cookie5=-junk Set-Cookie: cookie6=-junk Set-Cookie: cookie7=-junk Set-Cookie: cookie8=-junk Set-Cookie: cookie9=junk-- Set-Cookie: cookie11= -junk Set-Cookie: cookie12= -junk Set-Cookie: cookie14=-junk Set-Cookie: cookie15=-junk Set-Cookie: cookie16=-junk Set-Cookie: cookie17=-junk Set-Cookie: cookie18=-junk Set-Cookie: cookie19=-junk Set-Cookie: cookie20=-junk Set-Cookie: cookie21=-junk Set-Cookie: cookie22=-junk Set-Cookie: cookie23=-junk Set-Cookie: cookie24=-junk Set-Cookie: cookie25=-junk Set-Cookie: cookie26= -junk Set-Cookie: cookie27=-junk Set-Cookie: cookie28=-junk Set-Cookie: cookie29=-junk Set-Cookie: cookie30=-junk Set-Cookie: cookie31=-junk Set-Cookie: cookie31=-junk === End of file heads8.txt === Start of file http_server.log 05:45:22.465035 Running HTTP IPv4 version on port 41505 05:45:22.465090 Wrote pid 74789 to log/17/server/http_server.pid 05:45:22.465122 Wrote port 41505 to log/17/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 8 === End of file server.cmd === Start of file valgrind8 ==75190== ==75190== Process terminating with default action of signal 4 (SIGILL) ==75190== Illegal opcode at address 0x4014883 ==75190== at 0x4014883: getparameter (tool_getparam.c:2899) ==75190== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75190== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75190== by 0x4004208: main (tool_main.c:189) === End of file valgrind8 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 76952 port 33035 * pid http => 76952 76952 test 0039...[HTTP RFC1867-type formposting with filename= and type=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind39 ../src/curl -q --output log/6/curl39.out --include --trace-ascii log/6/trace39 --trace-time http://127.0.0.1:33035/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/6/stdout39 2> log/6/stderr39 39: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 39 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind39 ../src/curl -q --output log/6/curl39.out --include --trace-ascii log/6/trace39 --trace-time http://127.0.0.1:33035/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/6/stdout39 2> log/6/stderr39 === End of file commands.log === Start of file http_server.log 05:45:39.140940 Running HTTP IPv4 version on port 33035 05:45:39.141065 Wrote pid 76952 to log/6/server/http_server.pid 05:45:39.141098 Wrote port 33035 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 39 === End of file server.cmd === Start of file test39.txt foo bar This is a bar foo bar foo === End of file test39.txt === Start of file valgrind39 ==77372== ==77372== Process terminating with default action of signal 4 (SIGILL) ==77372== Illegal opcode at address 0x4014883 ==77372== at 0x4014883: getparameter (tool_getparam.c:2899) ==77372== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77372== by 0xCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind46 ../src/curl -q --output log/21/curl46.out --include --trace-ascii log/21/trace46 --trace-time domain..tld:42891/want/46 --resolve domain..tld:42891:127.0.0.1 -c log/21/jar46 -b log/21/injar46 > log/21/stdout46 2> log/21/stderr46 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind42 ../src/curl -q --output log/13/curl42.out --include --trace-ascii log/13/trace42 --trace-time http://127.0.0.1:45359/we/are/all/twits/42 -L > log/13/stdout42 2> log/13/stderr42 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind48 ../src/curl -q --output log/5/curl48.out --include --trace-ascii log/5/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35621/48 -G -I http://127.0.0.1:35621/48 > log/5/stdout48 2> log/5/stderr48 4004208: UnknownInlinedFun (tool_operate.c:2293) ==77372== by 0x4004208: main (tool_main.c:189) === End of file valgrind39 setenv TZ = GMT test 0046...[HTTP with bad domain name, get cookies and store in cookie jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind46 ../src/curl -q --output log/21/curl46.out --include --trace-ascii log/21/trace46 --trace-time domain..tld:42891/want/46 --resolve domain..tld:42891:127.0.0.1 -c log/21/jar46 -b log/21/injar46 > log/21/stdout46 2> log/21/stderr46 46: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 46 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind46 ../src/curl -q --output log/21/curl46.out --include --trace-ascii log/21/trace46 --trace-time domain..tld:42891/want/46 --resolve domain..tld:42891:127.0.0.1 -c log/21/jar46 -b log/21/injar46 > log/21/stdout46 2> log/21/stderr46 === End of file commands.log === Start of file http_server.log 05:45:40.243752 ====> Client connect 05:45:40.243791 accept_connection 3 returned 4 05:45:40.243808 accept_connection 3 returned 0 05:45:40.243822 Read 93 bytes 05:45:40.243832 Process 93 bytes request 05:45:40.243844 Got request: GET /verifiedserver HTTP/1.1 05:45:40.243853 Are-we-friendly question received 05:45:40.243878 Wrote request (93 bytes) input to log/21/server.input 05:45:40.243895 Identifying ourselves as friends 05:45:40.243957 Response sent (56 bytes) and written to log/21/server.response 05:45:40.243967 special request received, no persistency 05:45:40.243976 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 36696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file injar46 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This is generated by libcurl! Do not edit. www.fake.come FALSE / FALSE 22147483647 cookiecliente si www.loser.com FALSE / FALSE 22139150993 UID 99 domain..tld FALSE / FALSE 22139150993 mooo indeed #HttpOnly_domain..tld FALSE /want FALSE 22139150993 mooo2 indeed2 domain..tld FALSE /want FALSE 0 empty === End of file injar46 === Start of file server.cmd Testnum 46 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind46 ==77439== ==77439== Process terminating with default action of signal 4 (SIGILL) ==77439== Illegal opcode at address 0x4014883 ==77439== at 0x4014883: getparameter (tool_getparam.c:2899) ==77439== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77439== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77439== by 0x4004208: main (tool_main.c:189) === End of file valgrind46 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_server.pid" --logfile "log/13/http_server.log" --logdir "log/13" --portfile log/13/server/http_server.port --config log/13/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 77064 port 45359 * pid http => 77064 77064 test 0042...[HTTP redirect with whitespace in path (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind42 ../src/curl -q --output log/13/curl42.out --include --trace-ascii log/13/trace42 --trace-time http://127.0.0.1:45359/we/are/all/twits/42 -L > log/13/stdout42 2> log/13/stderr42 42: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 42 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind42 ../src/curl -q --output log/13/curl42.out --include --trace-ascii log/13/trace42 --trace-time http://127.0.0.1:45359/we/are/all/twits/42 -L > log/13/stdout42 2> log/13/stderr42 === End of file commands.log === Start of file http_server.log 05:45:40.598751 Running HTTP IPv4 version on port 45359 05:45:40.598857 Wrote pid 77064 to log/13/server/http_server.pid 05:45:40.598896 Wrote port 45359 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 42 === End of file server.cmd === Start of file valgrind42 ==77711== ==77711== Process terminating with default action of signal 4 (SIGILL) ==77711== Illegal opcode at address 0x4014883 ==77711== at 0x4014883: getparameter (tool_getparam.c:2899) ==77711== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77711== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77711== by 0x4004208: main (tool_main.c:189) === End of file valgrind42 test 0048...[HTTP with -d and -G and -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind48 ../src/curl -q --output log/5/curl48.out --include --trace-ascii log/5/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35621/48 -G -I http://127.0.0.1:35621/48 > log/5/stdout48 2> log/5/stderr48 48: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 48 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind48 ../src/curl -q --output log/5/curl48.out --include --trace-ascii log/5/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35621/48 -G -I http://127.0.0.1:35621/48 > log/5/stdout48 2> log/5/stderr48 === End of file commands.log === Start of file http_server.log 05:45:41.330418 ====> Client connect 05:45:41.330467 accept_connection 3 returned 4 05:45:41.330484 accept_connection 3 returned 0 05:45:41.330498 Read 93 bytes 05:45:41.330513 Process 93 bytes request 05:45:41.330534 Got request: GET /verifiedserver HTTP/1.1 05:45:41.330545 Are-we-friendly question received 05:45:41.330573 Wrote request (93 bytes) input to log/5/server.input 05:45:41.330596 Identifying ourselves as friends 05:45:41.330672 Response sent (56 bytes) and written to log/5/server.response 05:45:41.330688 special request received, no persistency 05:45:41.330697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 55218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 48 === End of file server.cmd === SCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:45623/that.site.com/17 log/8/stdout17 2> log/8/stderr17 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind50 ../src/curl -q --output log/24/curl50.out --include --trace-ascii log/24/trace50 --trace-time http://127.0.0.1:33593/we/are/all/twits/50 -L > log/24/stdout50 2> log/24/stderr50 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:34551/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind51 ../src/curl -q --output log/10/curl51.out --include --trace-ascii log/10/trace51 --trace-time http://127.0.0.1:46741/we/are/all/twits/51 -L > log/10/stdout51 2> log/10/stderr51 tart of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind48 ==77492== ==77492== Process terminating with default action of signal 4 (SIGILL) ==77492== Illegal opcode at address 0x4014883 ==77492== at 0x4014883: getparameter (tool_getparam.c:2899) ==77492== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77492== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77492== by 0x4004208: main (tool_main.c:189) === End of file valgrind48 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_server.pid" --logfile "log/8/http_server.log" --logdir "log/8" --portfile log/8/server/http_server.port --config log/8/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 75019 port 45623 * pid http => 75019 75019 test 0017...[HTTP with config file on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:45623/that.site.com/17 log/8/stdout17 2> log/8/stderr17 17: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 17 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:45623/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 05:45:22.290966 Running HTTP IPv4 version on port 45623 05:45:22.291069 Wrote pid 75019 to log/8/server/http_server.pid 05:45:22.291112 Wrote port 45623 to log/8/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 17 === End of file server.cmd === Start of file stdin-for-17 # 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 === End of file stdin-for-17 === Start of file valgrind17 ==75691== ==75691== Process terminating with default action of signal 4 (SIGILL) ==75691== Illegal opcode at address 0x4014883 ==75691== at 0x4014883: getparameter (tool_getparam.c:2899) ==75691== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75691== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75691== by 0x4004208: main (tool_main.c:189) === End of file valgrind17 test 0050...[HTTP follow redirect with ../../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind50 ../src/curl -q --output log/24/curl50.out --include --trace-ascii log/24/trace50 --trace-time http://127.0.0.1:33593/we/are/all/twits/50 -L > log/24/stdout50 2> log/24/stderr50 50: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 50 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind50 ../src/curl -q --output log/24/curl50.out --include --trace-ascii log/24/trace50 --trace-time http://127.0.0.1:33593/we/are/all/twits/50 -L > log/24/stdout50 2> log/24/stderr50 === End of file commands.log === Start of file http_server.log 05:45:41.466846 ====> Client connect 05:45:41.466978 accept_connection 3 returned 4 05:45:41.467009 accept_connection 3 returned 0 05:45:41.467024 Read 93 bytes 05:45:41.467033 Process 93 bytes request 05:45:41.467046 Got request: GET /verifiedserver HTTP/1.1 05:45:41.467055 Are-we-friendly question received 05:45:41.467082 Wrote request (93 bytes) input to log/24/server.input 05:45:41.467099 Identifying ourselves as friends 05:45:41.467166 Response sent (56 bytes) and written to log/24/server.response 05:45:41.467179 special request received, no persistency 05:45:41.467189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 35018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 50 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind50 ==77643== ==77643== Process terminating with default action of signal 4 (SIGILL) ==77643== Illegal opcode at address 0x4014883 ==77643== at 0x4014883: getparameter (tool_getparam.c:2899) ==77643== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77643== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77643== by 0x4004208: main (tool_main.c:189) === End of file valgrind50 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_server.pid" --logfile "log/11/http_server.log" --logdir "log/11" --portfile log/11/server/http_server.port --config log/11/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74865 port 34551 * pid http => 74865 74865 test 0014...[HTTP HEAD with Connection: close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:34551/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 14: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 14 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:34551/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 05:45:22.993501 Running HTTP IPv4 version on port 34551 05:45:22.993618 Wrote pid 74865 to log/11/server/http_server.pid 05:45:22.993653 Wrote port 34551 to log/11/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 14 === End of file server.cmd === Start of file valgrind14 ==75521== ==75521== Process terminating with default action of signal 4 (SIGILL) ==75521== Illegal opcode at address 0x4014883 ==75521== at 0x4014883: getparameter (tool_getparam.c:2899) ==75521== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75521== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75521== by 0x4004208: main (tool_main.c:189) === End of file valgrind14 test 0051...[HTTP follow redirect with excessive ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:38765/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind52 ../src/curl -q --output log/22/curl52.out --include --trace-ascii log/22/trace52 --trace-time http://127.0.0.1:41477/we/are/all/twits/52 -L > log/22/stdout52 2> log/22/stderr52 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:43413/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 ns=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind51 ../src/curl -q --output log/10/curl51.out --include --trace-ascii log/10/trace51 --trace-time http://127.0.0.1:46741/we/are/all/twits/51 -L > log/10/stdout51 2> log/10/stderr51 51: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 51 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind51 ../src/curl -q --output log/10/curl51.out --include --trace-ascii log/10/trace51 --trace-time http://127.0.0.1:46741/we/are/all/twits/51 -L > log/10/stdout51 2> log/10/stderr51 === End of file commands.log === Start of file http_server.log 05:45:40.633744 ====> Client connect 05:45:40.633777 accept_connection 3 returned 4 05:45:40.633793 accept_connection 3 returned 0 05:45:40.633807 Read 93 bytes 05:45:40.633816 Process 93 bytes request 05:45:40.633829 Got request: GET /verifiedserver HTTP/1.1 05:45:40.633838 Are-we-friendly question received 05:45:40.633862 Wrote request (93 bytes) input to log/10/server.input 05:45:40.633879 Identifying ourselves as friends 05:45:40.633940 Response sent (56 bytes) and written to log/10/server.response 05:45:40.633950 special request received, no persistency 05:45:40.633958 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 51 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind51 ==77768== ==77768== Process terminating with default action of signal 4 (SIGILL) ==77768== Illegal opcode at address 0x4014883 ==77768== at 0x4014883: getparameter (tool_getparam.c:2899) ==77768== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77768== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77768== by 0x4004208: main (tool_main.c:189) === End of file valgrind51 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_server.pid" --logfile "log/1/http_server.log" --logdir "log/1" --portfile log/1/server/http_server.port --config log/1/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 75330 port 38765 * pid http => 75330 75330 test 0024...[HTTP GET fail silently on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:38765/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 24: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 24 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:38765/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 05:45:23.702935 Running HTTP IPv4 version on port 38765 05:45:23.703028 Wrote pid 75330 to log/1/server/http_server.pid 05:45:23.703061 Wrote port 38765 to log/1/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 24 === End of file server.cmd === Start of file valgrind24 ==75920== ==75920== Process terminating with default action of signal 4 (SIGILL) ==75920== Illegal opcode at address 0x4014883 ==75920== at 0x4014883: getparameter (tool_getparam.c:2899) ==75920== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75920== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75920== by 0x4004208: main (tool_main.c:189) === End of file valgrind24 test 0052...[HTTP follow redirect with ./-prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind52 ../src/curl -q --output log/22/curl52.out --include --trace-ascii log/22/trace52 --trace-time http://127.0.0.1:41477/we/are/all/twits/52 -L > log/22/stdout52 2> log/22/stderr52 52: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 52 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind52 ../src/curl -q --output log/22/curl52.out --include --trace-ascii log/22/trace52 --trace-time http://127.0.0.1:41477/we/are/all/twits/52 -L > log/22/stdout52 2> log/22/stderr52 === End of file commands.log === Start of file http_server.log 05:45:42.057078 ====> Client connect 05:45:42.057125 accept_connection 3 returned 4 05:45:42.057144 accept_connection 3 returned 0 05:45:42.057160 Read 93 bytes 05:45:42.057170 Process 93 bytes request 05:45:42.057184 Got request: GET /verifiedserver HTTP/1.1 05:45:42.057193 Are-we-friendly question received 05:45:42.057219 Wrote request (93 bytes) input to log/22/server.input 05:45:42.057236 Identifying ourselves as friends 05:45:42.057303 Response sent (56 bytes) and written to log/22/server.response 05:45:42.057313 special request received, no persistency 05:45:42.057322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 48826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 52 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind52 ==77904== ==77904== Process terminating with default action of signal 4 (SIGILL) ==77904== Illegal opcode at address 0x4014883 ==77904== at 0x4014883: getparameter (tool_getparam.c:2899) ==77904== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77904== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77904== by 0x4004208: main (tool_main.c:189) === End of file valgrind52 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_server.pid" --logfile "log/15/http_server.log" --logdir "log/15" --portfile log/15/server/http_server.port --config log/15/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 74791 port 43413 * pCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind54 ../src/curl -q --output log/9/curl54.out --include --trace-ascii log/9/trace54 --trace-time http://127.0.0.1:33885/want/54 -L > log/9/stdout54 2> log/9/stderr54 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind58 ../src/curl -q --output log/14/curl58.out --include --trace-ascii log/14/trace58 --trace-time http://127.0.0.1:35549/we/want/ -T log/14/58te[]st.txt -g > log/14/stdout58 2> log/14/stderr58 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind55 ../src/curl -q --output log/12/curl55.out --include --trace-ascii log/12/trace55 --trace-time http://127.0.0.1:36353/55 -L > log/12/stdout55 2> log/12/stderr55 id http => 74791 74791 test 0010...[simple HTTP PUT from file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:43413/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 10: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 10 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:43413/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 === End of file commands.log === Start of file http_server.log 05:45:22.671117 Running HTTP IPv4 version on port 43413 05:45:22.671178 Wrote pid 74791 to log/15/server/http_server.pid 05:45:22.671202 Wrote port 43413 to log/15/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 10 === End of file server.cmd === Start of file test10.txt Weird file to upload for testing the PUT feature === End of file test10.txt === Start of file valgrind10 ==75336== ==75336== Process terminating with default action of signal 4 (SIGILL) ==75336== Illegal opcode at address 0x4014883 ==75336== at 0x4014883: getparameter (tool_getparam.c:2899) ==75336== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==75336== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==75336== by 0x4004208: main (tool_main.c:189) === End of file valgrind10 test 0054...[HTTP with blank Location:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind54 ../src/curl -q --output log/9/curl54.out --include --trace-ascii log/9/trace54 --trace-time http://127.0.0.1:33885/want/54 -L > log/9/stdout54 2> log/9/stderr54 54: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 54 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind54 ../src/curl -q --output log/9/curl54.out --include --trace-ascii log/9/trace54 --trace-time http://127.0.0.1:33885/want/54 -L > log/9/stdout54 2> log/9/stderr54 === End of file commands.log === Start of file http_server.log 05:45:41.328760 ====> Client connect 05:45:41.328796 accept_connection 3 returned 4 05:45:41.328814 accept_connection 3 returned 0 05:45:41.328830 Read 93 bytes 05:45:41.328840 Process 93 bytes request 05:45:41.328865 Got request: GET /verifiedserver HTTP/1.1 05:45:41.328876 Are-we-friendly question received 05:45:41.328903 Wrote request (93 bytes) input to log/9/server.input 05:45:41.328925 Identifying ourselves as friends 05:45:41.328987 Response sent (56 bytes) and written to log/9/server.response 05:45:41.328997 special request received, no persistency 05:45:41.329006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 50626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 54 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind54 ==78031== ==78031== Process terminating with default action of signal 4 (SIGILL) ==78031== Illegal opcode at address 0x4014883 ==78031== at 0x4014883: getparameter (tool_getparam.c:2899) ==78031== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78031== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78031== by 0x4004208: main (tool_main.c:189) === End of file valgrind54 test 0058...[HTTP PUT from file with weird letters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind58 ../src/curl -q --output log/14/curl58.out --include --trace-ascii log/14/trace58 --trace-time http://127.0.0.1:35549/we/want/ -T log/14/58te[]st.txt -g > log/14/stdout58 2> log/14/stderr58 58: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 58 === Start of file 58te[]st.txt a few bytes === End of file 58te[]st.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind58 ../src/curl -q --output log/14/curl58.out --include --trace-ascii log/14/trace58 --trace-time http://127.0.0.1:35549/we/want/ -T log/14/58te[]st.txt -g > log/14/stdout58 2> log/14/stderr58 === End of file commands.log === Start of file http_server.log 05:45:42.713555 ====> Client connect 05:45:42.713601 accept_connection 3 returned 4 05:45:42.713623 accept_connection 3 returned 0 05:45:42.723682 Read 93 bytes 05:45:42.723730 Process 93 bytes request 05:45:42.723758 Got request: GET /verifiedserver HTTP/1.1 05:45:42.723768 Are-we-friendly question received 05:45:42.724200 Wrote request (93 bytes) input to log/14/server.input 05:45:42.724235 Identifying ourselves as friends 05:45:42.724313 Response sent (56 bytes) and written to log/14/server.response 05:45:42.724327 special request received, no persistency 05:45:42.724337 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 60502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 58 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind58 ==78263== ==78263== Process terminating with default action of signal 4 (SIGILL) ==78263== Illegal opcode at address 0x4014883 ==78263== at 0x4014883: getparameter (tool_getparam.c:2899) ==78263== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78263== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78263== by 0x4004208: main (tool_main.c:189) === End of file valgrind58 test 0055...[HTTP follow redirect with single slash in path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind55 ../src/curl -q --output log/12/curl55.out --include --trace-ascii log/12/trace55 --trace-time http://127.0.0.1:36353/55 -L > log/12/stdout55 2> log/12/stderrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind53 ../src/curl -q --output log/4/curl53.out --include --trace-ascii log/4/trace53 --trace-time 127.0.0.1:40253/want/53 -b log/4/injar53 -j > log/4/stdout53 2> log/4/stderr53 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind57 ../src/curl -q --include --trace-ascii log/16/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:44673/57 -o log/16/out57 > log/16/stdout57 2> log/16/stderr57 55 55: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 55 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind55 ../src/curl -q --output log/12/curl55.out --include --trace-ascii log/12/trace55 --trace-time http://127.0.0.1:36353/55 -L > log/12/stdout55 2> log/12/stderr55 === End of file commands.log === Start of file http_server.log 05:45:42.412202 ====> Client connect 05:45:42.412235 accept_connection 3 returned 4 05:45:42.412251 accept_connection 3 returned 0 05:45:42.412265 Read 93 bytes 05:45:42.412275 Process 93 bytes request 05:45:42.412288 Got request: GET /verifiedserver HTTP/1.1 05:45:42.412297 Are-we-friendly question received 05:45:42.412325 Wrote request (93 bytes) input to log/12/server.input 05:45:42.412341 Identifying ourselves as friends 05:45:42.412393 Response sent (56 bytes) and written to log/12/server.response 05:45:42.412403 special request received, no persistency 05:45:42.412411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 41592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 55 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind55 ==78072== ==78072== Process terminating with default action of signal 4 (SIGILL) ==78072== Illegal opcode at address 0x4014883 ==78072== at 0x4014883: getparameter (tool_getparam.c:2899) ==78072== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78072== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78072== by 0x4004208: main (tool_main.c:189) === End of file valgrind55 test 0053...[HTTP, junk session cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind53 ../src/curl -q --output log/4/curl53.out --include --trace-ascii log/4/trace53 --trace-time 127.0.0.1:40253/want/53 -b log/4/injar53 -j > log/4/stdout53 2> log/4/stderr53 53: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 53 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind53 ../src/curl -q --output log/4/curl53.out --include --trace-ascii log/4/trace53 --trace-time 127.0.0.1:40253/want/53 -b log/4/injar53 -j > log/4/stdout53 2> log/4/stderr53 === End of file commands.log === Start of file http_server.log 05:45:41.190396 ====> Client connect 05:45:41.190431 accept_connection 3 returned 4 05:45:41.190447 accept_connection 3 returned 0 05:45:41.190461 Read 93 bytes 05:45:41.190471 Process 93 bytes request 05:45:41.190482 Got request: GET /verifiedserver HTTP/1.1 05:45:41.190491 Are-we-friendly question received 05:45:41.190514 Wrote request (93 bytes) input to log/4/server.input 05:45:41.190530 Identifying ourselves as friends 05:45:41.190588 Response sent (56 bytes) and written to log/4/server.response 05:45:41.190597 special request received, no persistency 05:45:41.190606 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 47684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file injar53 127.0.0.1 FALSE / FALSE 22139150993 mooo indeed 127.0.0.1 FALSE / FALSE 0 moo1 indeed 127.0.0.1 FALSE / FALSE 1 moo2 indeed === End of file injar53 === Start of file server.cmd Testnum 53 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind53 ==77961== ==77961== Process terminating with default action of signal 4 (SIGILL) ==77961== Illegal opcode at address 0x4014883 ==77961== at 0x4014883: getparameter (tool_getparam.c:2899) ==77961== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==77961== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==77961== by 0x4004208: main (tool_main.c:189) === End of file valgrind53 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind56 ../src/curl -q --output log/20/curl56.out --include --trace-ascii log/20/trace56 --trace-time -K - 127.0.0.1:38929/that.site.com/56 log/20/stdout56 2> log/20/stderr56 test 0057...[HTTP content-type with spaces in] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind57 ../src/curl -q --include --trace-ascii log/16/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:44673/57 -o log/16/out57 > log/16/stdout57 2> log/16/stderr57 57: stdout FAILED: --- log/16/check-expected 2026-03-14 05:45:44.371282727 +0000 +++ log/16/check-generated 2026-03-14 05:45:44.371282727 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/16/ directory after test 57 === Start of file check-expected text/html; charset=ISO-8859-4[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind57 ../src/curl -q --include --trace-ascii log/16/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:44673/57 -o log/16/out57 > log/16/stdout57 2> log/16/stderr57 === End of file commands.log === Start of file http_server.log 05:45:42.671424 ====> Client connect 05:45:42.671458 accept_connection 3 returned 4 05:45:42.671474 accept_connection 3 returned 0 05:45:42.671489 Read 93 bytes 05:45:42.671499 Process 93 bytes request 05:45:42.671520 Got request: GET /verifiedserver HTTP/1.1 05:45:42.671529 Are-we-friendly question received 05:45:42.671556 Wrote request (93 bytes) input to log/16/server.input 05:45:42.671575 Identifying ourselves as friends 05:45:42.671635 Response sent (56 bytes) and written to log/16/server.response 05:45:42.671649 special request received, no persistency 05:45:42.671657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 47238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 57 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind57 ==78230== ==78230== Process terminating with default action of signal 4 (SIGILL) ==78230== Illegal opcode at address 0x4014883 ==78230== at 0x4014883: getparameter (tool_getparam.c:2899) ==78230== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78230== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78230== by 0x4004208: main (tool_main.c:189) === End of file valgrind57 test 0056...[HTTP POST with *HUGE* request and chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind56 ../src/curl -q --output log/20/curl56.out --include --trace-ascii log/20/trace56 --trace-time -K - 127.0.0.1:38929/that.site.com/56 log/20/stdout56 2> log/20/stderr56 56: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 56 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind56 ../src/curl -q --output log/20/curl56.out --include --trace-ascii log/20/trace56 --trace-time -K - 127.0.0.1:38929/that.site.com/56 log/20/stdout56 2> log/20/stderr56 === End of file commands.log === Start of file http_server.log 05:45:41.623742 ====> Client connect 05:45:41.623780 accept_connection 3 returned 4 05:45:41.623796 accept_connection 3 returned 0 05:45:41.623812 Read 93 bytes 05:45:41.623820 Process 93 bytes request 05:45:41.623837 Got request: GET /verifiedserver HTTP/1.1 05:45:41.623846 Are-we-friendly question received 05:45:41.623868 Wrote request (93 bytes) input to log/20/server.input 05:45:41.623887 Identifying ourselves as friends 05:45:41.623958 Response sent (56 bytes) and written to log/20/server.response 05:45:41.623971 special request received, no persistency 05:45:41.623979 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 45266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 56 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stdin-for-56 data "we post this" # enforce chunky post header "Transfer-Encoding: chunked" # Set the user-agent using a short-option: -A "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind60 ../src/curl -q --output log/23/curl60.out --include --trace-ascii log/23/trace60 --trace-time http://127.0.0.1:33217/bzz/60 -T - -H "Content-Length: 1" log/23/stdout60 2> log/23/stderr60 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" === End of file stdin-for-56 === Start of file valgrind56 ==78200== ==78200== Process terminating with default action of signal 4 (SIGILL) ==78200== Illegal opcode at address 0x4014883 ==78200== at 0x4014883: getparameter (tool_getparam.c:2899) ==78200== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78200== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78200== by 0x4004208: main (tool_main.c:189) === End of file valgrind56 test 0060...[HTTP PUT from stdin with wrong content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind60 ../src/curl -q --output log/23/curl60.out --include --trace-ascii log/23/trace60 --trace-time httCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind61 ../src/curl -q --output log/3/curl61.out --include --trace-ascii log/3/trace61 --trace-time http://127.0.0.1:39591/we/want/61 -c log/3/jar61.txt -H "Host: www.host.foo.com" > log/3/stdout61 2> log/3/stderr61 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind64 ../src/curl -q --output log/2/curl64.out --include --trace-ascii log/2/trace64 --trace-time 'http://127.0.0.1:41799/64"' -u testuser:testpass --digest > log/2/stdout64 2> log/2/stderr64 p://127.0.0.1:33217/bzz/60 -T - -H "Content-Length: 1" log/23/stdout60 2> log/23/stderr60 60: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 60 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind60 ../src/curl -q --output log/23/curl60.out --include --trace-ascii log/23/trace60 --trace-time http://127.0.0.1:33217/bzz/60 -T - -H "Content-Length: 1" log/23/stdout60 2> log/23/stderr60 === End of file commands.log === Start of file http_server.log 05:45:43.208860 ====> Client connect 05:45:43.208893 accept_connection 3 returned 4 05:45:43.208909 accept_connection 3 returned 0 05:45:43.208923 Read 93 bytes 05:45:43.208933 Process 93 bytes request 05:45:43.208945 Got request: GET /verifiedserver HTTP/1.1 05:45:43.208954 Are-we-friendly question received 05:45:43.208979 Wrote request (93 bytes) input to log/23/server.input 05:45:43.208996 Identifying ourselves as friends 05:45:43.209055 Response sent (56 bytes) and written to log/23/server.response 05:45:43.209066 special request received, no persistency 05:45:43.209074 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 60332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 60 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stdin-for-60 more than one byte === End of file stdin-for-60 === Start of file valgrind60 ==78503== ==78503== Process terminating with default action of signal 4 (SIGILL) ==78503== Illegal opcode at address 0x4014883 ==78503== at 0x4014883: getparameter (tool_getparam.c:2899) ==78503== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78503== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78503== by 0x4004208: main (tool_main.c:189) === End of file valgrind60 setenv TZ = GMT test 0061...[HTTP with various cookies and custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind61 ../src/curl -q --output log/3/curl61.out --include --trace-ascii log/3/trace61 --trace-time http://127.0.0.1:39591/we/want/61 -c log/3/jar61.txt -H "Host: www.host.foo.com" > log/3/stdout61 2> log/3/stderr61 61: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 61 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind61 ../src/curl -q --output log/3/curl61.out --include --trace-ascii log/3/trace61 --trace-time http://127.0.0.1:39591/we/want/61 -c log/3/jar61.txt -H "Host: www.host.foo.com" > log/3/stdout61 2> log/3/stderr61 === End of file commands.log === Start of file http_server.log 05:45:43.192578 ====> Client connect 05:45:43.192614 accept_connection 3 returned 4 05:45:43.192630 accept_connection 3 returned 0 05:45:43.192644 Read 93 bytes 05:45:43.192655 Process 93 bytes request 05:45:43.192667 Got request: GET /verifiedserver HTTP/1.1 05:45:43.192676 Are-we-friendly question received 05:45:43.192700 Wrote request (93 bytes) input to log/3/server.input 05:45:43.192718 Identifying ourselves as friends 05:45:43.192774 Response sent (56 bytes) and written to log/3/server.response 05:45:43.192785 special request received, no persistency 05:45:43.192794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 56192 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 61 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind61 ==78496== ==78496== Process terminating with default action of signal 4 (SIGILL) ==78496== Illegal opcode at address 0x4014883 ==78496== at 0x4014883: getparameter (tool_getparam.c:2899) ==78496== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78496== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78496== by 0x4004208: main (tool_main.c:189) === End of file valgrind61 test 0064...[HTTP with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind64 ../src/curl -q --output log/2/curl64.out --include --trace-ascii log/2/trace64 --trace-time 'http://127.0.0.1:41799/64"' -u testuser:testpass --digest > log/2/stdout64 2> log/2/stderr64 64: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 64 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind64 ../src/curl -q --output log/2/curl64.out --include --trace-ascii log/2/trace64 --trace-time 'http://127.0.0.1:41799/64"' -u testuser:testpass --digest > log/2/stdout64 2> log/2/stderr64 === End of file commands.log === Start of file http_server.log 05:45:43.408578 ====> Client connect 05:45:43.408612 accept_connection 3 returned 4 05:45:43.408629 accept_connection 3 returned 0 05:45:43.408644 Read 93 bytes 05:45:43.408654 Process 93 bytes request 05:45:43.408668 Got request: GET /verifiedserver HTTP/1.1 05:45:43.408677 Are-we-friendly question received 05:45:43.408702 Wrote request (93 bytes) input to log/2/server.input 05:45:43.408718 Identifying ourselves as friends 05:45:43.408779 Response sent (56 bytes) and written to log/2/server.response 05:45:43.408789 special request received, no persistency 05:45:43.408798 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 64 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind64 ==78703== ==78703== Process terminating with defaultCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind65 ../src/curl -q --output log/17/curl65.out --include --trace-ascii log/17/trace65 --trace-time http://127.0.0.1:41505/65 -u testuser:test2pass --digest > log/17/stdout65 2> log/17/stderr65 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind63 ../src/curl -q --output log/19/curl63.out --include --trace-ascii log/19/trace63 --trace-time http://we.want.that.site.com/63 > log/19/stdout63 2> log/19/stderr63 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind70 ../src/curl -q --output log/8/curl70.out --include --trace-ascii log/8/trace70 --trace-time http://127.0.0.1:45623/70 -u testuser:testpass --anyauth > log/8/stdout70 2> log/8/stderr70 action of signal 4 (SIGILL) ==78703== Illegal opcode at address 0x4014883 ==78703== at 0x4014883: getparameter (tool_getparam.c:2899) ==78703== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78703== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78703== by 0x4004208: main (tool_main.c:189) === End of file valgrind64 test 0065...[HTTP with Digest authorization with bad password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind65 ../src/curl -q --output log/17/curl65.out --include --trace-ascii log/17/trace65 --trace-time http://127.0.0.1:41505/65 -u testuser:test2pass --digest > log/17/stdout65 2> log/17/stderr65 65: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 65 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind65 ../src/curl -q --output log/17/curl65.out --include --trace-ascii log/17/trace65 --trace-time http://127.0.0.1:41505/65 -u testuser:test2pass --digest > log/17/stdout65 2> log/17/stderr65 === End of file commands.log === Start of file http_server.log 05:45:43.464038 ====> Client connect 05:45:43.464087 accept_connection 3 returned 4 05:45:43.464107 accept_connection 3 returned 0 05:45:43.464124 Read 93 bytes 05:45:43.464134 Process 93 bytes request 05:45:43.464160 Got request: GET /verifiedserver HTTP/1.1 05:45:43.464170 Are-we-friendly question received 05:45:43.464198 Wrote request (93 bytes) input to log/17/server.input 05:45:43.464219 Identifying ourselves as friends 05:45:43.464311 Response sent (56 bytes) and written to log/17/server.response 05:45:43.464327 special request received, no persistency 05:45:43.464336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 37018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 65 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind65 ==78776== ==78776== Process terminating with default action of signal 4 (SIGILL) ==78776== Illegal opcode at address 0x4014883 ==78776== at 0x4014883: getparameter (tool_getparam.c:2899) ==78776== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78776== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78776== by 0x4004208: main (tool_main.c:189) === End of file valgrind65 setenv http_proxy = http://fake:user@127.0.0.1:35701/ test 0063...[HTTP with proxy authorization set in environment] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind63 ../src/curl -q --output log/19/curl63.out --include --trace-ascii log/19/trace63 --trace-time http://we.want.that.site.com/63 > log/19/stdout63 2> log/19/stderr63 63: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 63 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind63 ../src/curl -q --output log/19/curl63.out --include --trace-ascii log/19/trace63 --trace-time http://we.want.that.site.com/63 > log/19/stdout63 2> log/19/stderr63 === End of file commands.log === Start of file http_server.log 05:45:42.306975 ====> Client connect 05:45:42.307131 accept_connection 3 returned 4 05:45:42.307148 accept_connection 3 returned 0 05:45:42.307796 Read 93 bytes 05:45:42.307811 Process 93 bytes request 05:45:42.307836 Got request: GET /verifiedserver HTTP/1.1 05:45:42.307845 Are-we-friendly question received 05:45:42.307873 Wrote request (93 bytes) input to log/19/server.input 05:45:42.307894 Identifying ourselves as friends 05:45:42.307955 Response sent (56 bytes) and written to log/19/server.response 05:45:42.307969 special request received, no persistency 05:45:42.307978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 35676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 63 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind63 ==78573== ==78573== Process terminating with default action of signal 4 (SIGILL) ==78573== Illegal opcode at address 0x4014883 ==78573== at 0x4014883: getparameter (tool_getparam.c:2899) ==78573== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78573== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78573== by 0x4004208: main (tool_main.c:189) === End of file valgrind63 test 0070...[HTTP with Digest *OR* NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind70 ../src/curl -q --output log/8/curl70.out --include --trace-ascii log/8/trace70 --trace-time http://127.0.0.1:45623/70 -u testuser:testpass --anyauth > log/8/stdout70 2> log/8/stderr70 70: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 70 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind70 ../src/curl -q --output log/8/curl70.out --include --trace-ascii log/8/trace70 --trace-time http://127.0.0.1:45623/70 -u testuser:testpass --anyauth > log/8/stdout70 2> log/8/stderr70 === End of file commands.log === Start of file http_server.log 05:45:43.011007 ====> Client connect 05:45:43.011051 accept_connection 3 returned 4 05:45:43.011070 accept_connection 3 returned 0 05:45:43.011085 Read 93 bytes 05:45:43.011095 Process 93 bytes request 05:45:43.011125 Got request: GET /verifiedserver HTTP/1.1 05:45:43.011136 Are-we-friendly question received 05:45:43.011164 Wrote request (93 bytes) input to log/8/server.input 05:45:43.011186 Identifying ourselves as friends 05:45:43.011257 Response sent (56 bytes) and written to log/8/server.response 05:45:43.011273 special request received, no persistency 05:45:43.011282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 53752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind69 ../src/curl -q --output log/5/curl69.out --include --trace-ascii log/5/trace69 --trace-time http://127.0.0.1:35621/69 -u testuser:testpass --anyauth > log/5/stdout69 2> log/5/stderr69 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind66 ../src/curl -q --output log/6/curl66.out --include --trace-ascii log/6/trace66 --trace-time http://127.0.0.1:33035/66 --http0.9 > log/6/stdout66 2> log/6/stderr66 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind59 ../src/curl -q --output log/7/curl59.out --include --trace-ascii log/7/trace59 --trace-time "http://127.0.0.1:39013?mooo/59" > log/7/stdout59 2> log/7/stderr59 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind62 ../src/curl -q --output log/18/curl62.out --include --trace-ascii log/18/trace62 --trace-time http://127.0.0.1:39913/we/want/62 http://127.0.0.1:39913/we/want/62?hoge=fuga -b log/18/jar62.txt -H "Host: www.host.foo.com" > log/18/stdout62 2> log/18/stderr62 */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 70 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind70 ==79068== ==79068== Process terminating with default action of signal 4 (SIGILL) ==79068== Illegal opcode at address 0x4014883 ==79068== at 0x4014883: getparameter (tool_getparam.c:2899) ==79068== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79068== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79068== by 0x4004208: main (tool_main.c:189) === End of file valgrind70 test 0069...[HTTP with NTLM, Basic or Wild-and-crazy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind69 ../src/curl -q --output log/5/curl69.out --include --trace-ascii log/5/trace69 --trace-time http://127.0.0.1:35621/69 -u testuser:testpass --anyauth > log/5/stdout69 2> log/5/stderr69 69: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 69 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind69 ../src/curl -q --output log/5/curl69.out --include --trace-ascii log/5/trace69 --trace-time http://127.0.0.1:35621/69 -u testuser:testpass --anyauth > log/5/stdout69 2> log/5/stderr69 === End of file commands.log === Start of file http_server.log 05:45:43.958322 ====> Client connect 05:45:43.958357 accept_connection 3 returned 4 05:45:43.958373 accept_connection 3 returned 0 05:45:43.958388 Read 93 bytes 05:45:43.958397 Process 93 bytes request 05:45:43.958412 Got request: GET /verifiedserver HTTP/1.1 05:45:43.958421 Are-we-friendly question received 05:45:43.958458 Wrote request (93 bytes) input to log/5/server.input 05:45:43.958474 Identifying ourselves as friends 05:45:43.958532 Response sent (56 bytes) and written to log/5/server.response 05:45:43.958542 special request received, no persistency 05:45:43.958551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 55224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 69 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind69 ==79035== ==79035== Process terminating with default action of signal 4 (SIGILL) ==79035== Illegal opcode at address 0x4014883 ==79035== at 0x4014883: getparameter (tool_getparam.c:2899) ==79035== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79035== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79035== by 0x4004208: main (tool_main.c:189) === End of file valgrind69 test 0066...[HTTP GET without headers in the response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind66 ../src/curl -q --output log/6/curl66.out --include --trace-ascii log/6/trace66 --trace-time http://127.0.0.1:33035/66 --http0.9 > log/6/stdout66 2> log/6/stderr66 66: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 66 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind66 ../src/curl -q --output log/6/curl66.out --include --trace-ascii log/6/trace66 --trace-time http://127.0.0.1:33035/66 --http0.9 > log/6/stdout66 2> log/6/stderr66 === End of file commands.log === Start of file http_server.log 05:45:42.485996 ====> Client connect 05:45:42.486028 accept_connection 3 returned 4 05:45:42.486043 accept_connection 3 returned 0 05:45:42.486058 Read 93 bytes 05:45:42.486072 Process 93 bytes request 05:45:42.486095 Got request: GET /verifiedserver HTTP/1.1 05:45:42.486104 Are-we-friendly question received 05:45:42.486131 Wrote request (93 bytes) input to log/6/server.input 05:45:42.486151 Identifying ourselves as friends 05:45:42.486259 Response sent (56 bytes) and written to log/6/server.response 05:45:42.486276 special request received, no persistency 05:45:42.486285 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 35872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 66 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind66 ==78773== ==78773== Process terminating with default action of signal 4 (SIGILL) ==78773== Illegal opcode at address 0x4014883 ==78773== at 0x4014883: getparameter (tool_getparam.c:2899) ==78773== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78773== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78773== by 0x4004208: main (tool_main.c:189) === End of file valgrind66 test 0059...[HTTP URL with slash but with "parameter"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind59 ../src/curl -q --output log/7/curl59.out --include --trace-ascii log/7/trace59 --trace-time "http://127.0.0.1:39013?mooo/59" > log/7/stdout59 2> log/7/stderr59 59: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 59 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind59 ../src/curl -q --output log/7/curl59.out --include --trace-ascii log/7/trace59 --trace-time "http://127.0.0.1:39013?mooo/59" > log/7/stdout59 2> log/7/stderr59 === End of file commands.log === Start of file http_server.log 05:45:41.887091 ====> Client connect 05:45:41.887138 accept_connection 3 returned 4 05:45:41.887157 accept_connection 3 returned 0 05:45:41.887175 Read 93 bytes 05:45:41.887186 Process 93 bytes request 05:45:41.887200 Got request: GET /verifiedserver HTTP/1.1 05:45:41.887209 Are-we-friendly question received 05:45:41.887234 Wrote request (93 bytes) input to log/7/server.input 05:45:41.887251 Identifying ourselves as friends 05:45:41.887335 Response sent (56 bytes) and written to loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind75 ../src/curl -q --include --trace-ascii log/22/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/22/weee#1.dump" --stderr - > log/22/stdout75 2> log/22/stderr75 g/7/server.response 05:45:41.887346 special request received, no persistency 05:45:41.887355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 36464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 59 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind59 ==78386== ==78386== Process terminating with default action of signal 4 (SIGILL) ==78386== Illegal opcode at address 0x4014883 ==78386== at 0x4014883: getparameter (tool_getparam.c:2899) ==78386== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78386== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78386== by 0x4004208: main (tool_main.c:189) === End of file valgrind59 test 0062...[HTTP, send cookies when using custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind62 ../src/curl -q --output log/18/curl62.out --include --trace-ascii log/18/trace62 --trace-time http://127.0.0.1:39913/we/want/62 http://127.0.0.1:39913/we/want/62?hoge=fuga -b log/18/jar62.txt -H "Host: www.host.foo.com" > log/18/stdout62 2> log/18/stderr62 62: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 62 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind62 ../src/curl -q --output log/18/curl62.out --include --trace-ascii log/18/trace62 --trace-time http://127.0.0.1:39913/we/want/62 http://127.0.0.1:39913/we/want/62?hoge=fuga -b log/18/jar62.txt -H "Host: www.host.foo.com" > log/18/stdout62 2> log/18/stderr62 === End of file commands.log === Start of file http_server.log 05:45:42.213733 ====> Client connect 05:45:42.213775 accept_connection 3 returned 4 05:45:42.213795 accept_connection 3 returned 0 05:45:42.213812 Read 93 bytes 05:45:42.213821 Process 93 bytes request 05:45:42.213835 Got request: GET /verifiedserver HTTP/1.1 05:45:42.213844 Are-we-friendly question received 05:45:42.213869 Wrote request (93 bytes) input to log/18/server.input 05:45:42.213886 Identifying ourselves as friends 05:45:42.213962 Response sent (56 bytes) and written to log/18/server.response 05:45:42.213972 special request received, no persistency 05:45:42.213981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 47978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file jar62.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. #HttpOnly_.foo.com TRUE /we/want/ FALSE 22147483647 test yes .host.foo.com TRUE /we/want/ FALSE 22147483647 test2 yes .fake.host.foo.com TRUE /we/want/ FALSE 22147483647 test4 yes .foo.com TRUE /moo TRUE 0 test3 maybe === End of file jar62.txt === Start of file server.cmd Testnum 62 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind62 ==78497== ==78497== Process terminating with default action of signal 4 (SIGILL) ==78497== Illegal opcode at address 0x4014883 ==78497== at 0x4014883: getparameter (tool_getparam.c:2899) ==78497== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78497== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78497== by 0x4004208: main (tool_main.c:189) === End of file valgrind62 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind68 ../src/curl -q --output log/13/curl68.out --include --trace-ascii log/13/trace68 --trace-time http://127.0.0.1:45359/68 -u testuser:testpass --ntlm > log/13/stdout68 2> log/13/stderr68 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind72 ../src/curl -q --output log/11/curl72.out --include --trace-ascii log/11/trace72 --trace-time http://127.0.0.1:34551/72 -u testuser:testpass --anyauth > log/11/stdout72 2> log/11/stderr72 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind74 ../src/curl -q --include --trace-ascii log/1/trace74 --trace-time "http://127.0.0.1:38765/{74,740001}" -o "log/1/dumpit#1.dump" > log/1/stdout74 2> log/1/stderr74 test 0075...[HTTP, urlglob retrieval with bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind75 ../src/curl -q --include --trace-ascii log/22/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/22/weee#1.dump" --stderr - > log/22/stdout75 2> log/22/stderr75 75: stdout FAILED: --- log/22/check-expected 2026-03-14 05:45:45.674616060 +0000 +++ log/22/check-generated 2026-03-14 05:45:45.674616060 +0000 @@ -1,3 +0,0 @@ -curl: (3) bad range in URL position 47:[CR][LF] -http://a-site-never-accessed.example.org/[2-1][CR][LF] - ^[CR][LF] == Contents of files in the log/22/ directory after test 75 === Start of file check-expected curl: (3) bad range in URL position 47:[CR][LF] http://a-site-never-accessed.example.org/[2-1][CR][LF] ^[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind75 ../src/curl -q --include --trace-ascii log/22/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/22/weee#1.dump" --stderr - > log/22/stdout75 2> log/22/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==79300== ==79300== Process terminating with default action of signal 4 (SIGILL) ==79300== Illegal opcode at address 0x4014883 ==79300== at 0x4014883: getparameter (tool_getparam.c:2899) ==79300== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79300== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79300== by 0x4004208: main (tool_main.c:189) === End of file valgrind75 test 0068...[HTTP with NTLM authorization and wrong password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind68 ../src/curl -q --output log/13/curl68.out --include --trace-ascii log/13/trace68 --trace-time http://127.0.0.1:45359/68 -u testuser:testpass --ntlm > log/13/stdout68 2> log/13/stderr68 68: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 68 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind68 ../src/curl -q --output log/13/curl68.out --include --trace-ascii log/13/trace68 --trace-time http://127.0.0.1:45359/68 -u testuser:testpass --ntlm > log/13/stdout68 2> log/13/stderr68 === End of file commands.log === Start of file http_server.log 05:45:43.890397 ====> Client connect 05:45:43.890436 accept_connection 3 returned 4 05:45:43.890453 accept_connection 3 returned 0 05:45:43.890470 Read 93 bytes 05:45:43.890480 Process 93 bytes request 05:45:43.890501 Got request: GET /verifiedserver HTTP/1.1 05:45:43.890510 Are-we-friendly question received 05:45:43.890533 Wrote request (93 bytes) input to log/13/server.input 05:45:43.890553 Identifying ourselves as friends 05:45:43.890641 Response sent (56 bytes) and written to log/13/server.response 05:45:43.890654 special request received, no persistency 05:45:43.890662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 45502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 68 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind68 ==79026== ==79026== Process terminating with default action of signal 4 (SIGILL) ==79026== Illegal opcode at address 0x4014883 ==79026== at 0x4014883: getparameter (tool_getparam.c:2899) ==79026== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79026== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79026== by 0x4004208: main (tool_main.c:189) === End of file valgrind68 test 0072...[HTTP with Digest *OR* Basic authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind72 ../src/curl -q --output log/11/curl72.out --include --trace-ascii log/11/trace72 --trace-time http://127.0.0.1:34551/72 -u testuser:testpass --anyauth > log/11/stdout72 2> log/11/stderr72 72: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 72 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind72 ../src/curl -q --output log/11/curl72.out --include --trace-ascii log/11/trace72 --trace-time http://127.0.0.1:34551/72 -u testuser:testpass --anyauth > log/11/stdout72 2> log/11/stderr72 === End of file commands.log === Start of file http_server.log 05:45:44.180397 ====> Client connect 05:45:44.180468 accept_connection 3 returned 4 05:45:44.180486 accept_connection 3 returned 0 05:45:44.180502 Read 93 bytes 05:45:44.180512 Process 93 bytes request 05:45:44.180537 Got request: GET /verifiedserver HTTP/1.1 05:45:44.180547 Are-we-friendly question received 05:45:44.180572 Wrote request (93 bytes) input to log/11/server.input 05:45:44.180591 Identifying ourselves as friends 05:45:44.180666 Response sent (56 bytes) and written to log/11/server.response 05:45:44.180680 special request received, no persistency 05:45:44.180689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 58022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 72 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind72 ==79211== ==79211== Process terminating with default action of signal 4 (SIGILL) ==79211== Illegal opcode at address 0x4014883 ==79211== at 0x4014883: getparameter (tool_getparam.c:2899) ==79211== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79211== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79211== by 0x4004208: main (tool_main.c:189) === End of file valgrind72 test 0074...[HTTP, urlglob {}-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind74 ../src/curl -q --include --trace-ascii log/1/trace74 --trace-time "http://127.0.0.1:38765/{74,740001}" -o "log/1/dumpit#1.dump" > log/1/stdout74 2>CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind67 ../src/curl -q --output log/21/curl67.out --include --trace-ascii log/21/trace67 --trace-time http://127.0.0.1:42891/67 -u testuser:testpass --ntlm > log/21/stdout67 2> log/21/stderr67 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind71 ../src/curl -q --output log/24/curl71.out --include --trace-ascii log/24/trace71 --trace-time http://127.0.0.1:33593/we/want/71 -K - log/24/stdout71 2> log/24/stderr71 log/1/stderr74 74: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 74 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind74 ../src/curl -q --include --trace-ascii log/1/trace74 --trace-time "http://127.0.0.1:38765/{74,740001}" -o "log/1/dumpit#1.dump" > log/1/stdout74 2> log/1/stderr74 === End of file commands.log === Start of file http_server.log 05:45:44.367053 ====> Client connect 05:45:44.367088 accept_connection 3 returned 4 05:45:44.367104 accept_connection 3 returned 0 05:45:44.367120 Read 93 bytes 05:45:44.367130 Process 93 bytes request 05:45:44.367154 Got request: GET /verifiedserver HTTP/1.1 05:45:44.367163 Are-we-friendly question received 05:45:44.367189 Wrote request (93 bytes) input to log/1/server.input 05:45:44.367208 Identifying ourselves as friends 05:45:44.367281 Response sent (56 bytes) and written to log/1/server.response 05:45:44.367295 special request received, no persistency 05:45:44.367303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 74 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind74 ==79361== ==79361== Process terminating with default action of signal 4 (SIGILL) ==79361== Illegal opcode at address 0x4014883 ==79361== at 0x4014883: getparameter (tool_getparam.c:2899) ==79361== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79361== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79361== by 0x4004208: main (tool_main.c:189) === End of file valgrind74 test 0067...[HTTP with NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind67 ../src/curl -q --output log/21/curl67.out --include --trace-ascii log/21/trace67 --trace-time http://127.0.0.1:42891/67 -u testuser:testpass --ntlm > log/21/stdout67 2> log/21/stderr67 67: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 67 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind67 ../src/curl -q --output log/21/curl67.out --include --trace-ascii log/21/trace67 --trace-time http://127.0.0.1:42891/67 -u testuser:testpass --ntlm > log/21/stdout67 2> log/21/stderr67 === End of file commands.log === Start of file http_server.log 05:45:42.710418 ====> Client connect 05:45:42.710465 accept_connection 3 returned 4 05:45:42.710482 accept_connection 3 returned 0 05:45:42.710499 Read 93 bytes 05:45:42.710507 Process 93 bytes request 05:45:42.710520 Got request: GET /verifiedserver HTTP/1.1 05:45:42.710528 Are-we-friendly question received 05:45:42.710551 Wrote request (93 bytes) input to log/21/server.input 05:45:42.710567 Identifying ourselves as friends 05:45:42.710648 Response sent (56 bytes) and written to log/21/server.response 05:45:42.710658 special request received, no persistency 05:45:42.710666 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 36700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 67 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind67 ==78934== ==78934== Process terminating with default action of signal 4 (SIGILL) ==78934== Illegal opcode at address 0x4014883 ==78934== at 0x4014883: getparameter (tool_getparam.c:2899) ==78934== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==78934== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==78934== by 0x4004208: main (tool_main.c:189) === End of file valgrind67 test 0071...[HTTP and -F upload in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind71 ../src/curl -q --output log/24/curl71.out --include --trace-ascii log/24/trace71 --trace-time http://127.0.0.1:33593/we/want/71 -K - log/24/stdout71 2> log/24/stderr71 71: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 71 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind71 ../src/curl -q --output log/24/curl71.out --include --trace-ascii log/24/trace71 --trace-time http://127.0.0.1:33593/we/want/71 -K - log/24/stdout71 2> log/24/stderr71 === End of file commands.log === Start of file http_server.log 05:45:44.163725 ====> Client connect 05:45:44.163763 accept_connection 3 returned 4 05:45:44.163782 accept_connection 3 returned 0 05:45:44.163799 Read 93 bytes 05:45:44.163810 Process 93 bytes request 05:45:44.163825 Got request: GET /verifiedserver HTTP/1.1 05:45:44.163835 Are-we-friendly question received 05:45:44.163864 Wrote request (93 bytes) input to log/24/server.input 05:45:44.163883 Identifying ourselves as friends 05:45:44.163950 Response sent (56 bytes) and written to log/24/server.response 05:45:44.163962 special request received, no persistency 05:45:44.163971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 35028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 71 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/24/test71.txt user-agent = "" === End of file stdin-for-71 === Start of file test71.txt foo- This is a moo- bar === End of file test71.txt === Start of file valgrind71 ==79180== ==79180== Process terminating with default action of signal 4 (SIGILL) ==79180== Illegal opcode at addrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind81 ../src/curl -q --output log/16/curl81.out --include --trace-ascii log/16/trace81 --trace-time http://127.0.0.1:44673/81 --proxy-user testuser:testpass -x http://127.0.0.1:44673 --proxy-ntlm > log/16/stdout81 2> log/16/stderr81 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind82 ../src/curl -q --output log/20/curl82.out --include --trace-ascii log/20/trace82 --trace-time http://127.0.0.1:38929/82 --proxy-user testuser:testpass -x http://127.0.0.1:38929 > log/20/stdout82 2> log/20/stderr82 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind77 ../src/curl -q --output log/9/curl77.out --include --trace-ascii log/9/trace77 --trace-time http://127.0.0.1:33885/77 -z "dec 12 12:00:00 1999 GMT" > log/9/stdout77 2> log/9/stderr77 ess 0x4014883 ==79180== at 0x4014883: getparameter (tool_getparam.c:2899) ==79180== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79180== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79180== by 0x4004208: main (tool_main.c:189) === End of file valgrind71 test 0081...[HTTP with proxy using NTLM authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind81 ../src/curl -q --output log/16/curl81.out --include --trace-ascii log/16/trace81 --trace-time http://127.0.0.1:44673/81 --proxy-user testuser:testpass -x http://127.0.0.1:44673 --proxy-ntlm > log/16/stdout81 2> log/16/stderr81 81: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 81 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind81 ../src/curl -q --output log/16/curl81.out --include --trace-ascii log/16/trace81 --trace-time http://127.0.0.1:44673/81 --proxy-user testuser:testpass -x http://127.0.0.1:44673 --proxy-ntlm > log/16/stdout81 2> log/16/stderr81 === End of file commands.log === Start of file http_server.log 05:45:44.937116 ====> Client connect 05:45:44.937157 accept_connection 3 returned 4 05:45:44.937176 accept_connection 3 returned 0 05:45:44.937194 Read 93 bytes 05:45:44.937205 Process 93 bytes request 05:45:44.937218 Got request: GET /verifiedserver HTTP/1.1 05:45:44.937228 Are-we-friendly question received 05:45:44.937257 Wrote request (93 bytes) input to log/16/server.input 05:45:44.937274 Identifying ourselves as friends 05:45:44.937348 Response sent (56 bytes) and written to log/16/server.response 05:45:44.937359 special request received, no persistency 05:45:44.937367 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 47240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 81 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind81 ==79807== ==79807== Process terminating with default action of signal 4 (SIGILL) ==79807== Illegal opcode at address 0x4014883 ==79807== at 0x4014883: getparameter (tool_getparam.c:2899) ==79807== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79807== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79807== by 0x4004208: main (tool_main.c:189) === End of file valgrind81 test 0082...[HTTP with proxy requiring NTLM, but we send Basic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind82 ../src/curl -q --output log/20/curl82.out --include --trace-ascii log/20/trace82 --trace-time http://127.0.0.1:38929/82 --proxy-user testuser:testpass -x http://127.0.0.1:38929 > log/20/stdout82 2> log/20/stderr82 82: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 82 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind82 ../src/curl -q --output log/20/curl82.out --include --trace-ascii log/20/trace82 --trace-time http://127.0.0.1:38929/82 --proxy-user testuser:testpass -x http://127.0.0.1:38929 > log/20/stdout82 2> log/20/stderr82 === End of file commands.log === Start of file http_server.log 05:45:44.083063 ====> Client connect 05:45:44.083118 accept_connection 3 returned 4 05:45:44.083140 accept_connection 3 returned 0 05:45:44.083158 Read 93 bytes 05:45:44.083169 Process 93 bytes request 05:45:44.083182 Got request: GET /verifiedserver HTTP/1.1 05:45:44.083192 Are-we-friendly question received 05:45:44.083222 Wrote request (93 bytes) input to log/20/server.input 05:45:44.083242 Identifying ourselves as friends 05:45:44.083329 Response sent (56 bytes) and written to log/20/server.response 05:45:44.083342 special request received, no persistency 05:45:44.083351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 45268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 82 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind82 ==79876== ==79876== Process terminating with default action of signal 4 (SIGILL) ==79876== Illegal opcode at address 0x4014883 ==79876== at 0x4014883: getparameter (tool_getparam.c:2899) ==79876== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79876== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79876== by 0x4004208: main (tool_main.c:189) === End of file valgrind82 test 0077...[HTTP with -z "older date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind77 ../src/curl -q --output log/9/curl77.out --include --trace-ascii log/9/trace77 --trace-time http://127.0.0.1:33885/77 -z "dec 12 12:00:00 1999 GMT" > log/9/stdout77 2> log/9/stderr77 77: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 77 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind77 ../src/curl -q --output log/9/curl77.out --include --trace-ascii log/9/trace77 --trace-time http://127.0.0.1:33885/77 -z "dec 12 12:00:00 1999 GMT" > log/9/stdout77 2> log/9/stderr77 === End of file commands.log === Start of file http_server.log 05:45:43.627072 ====> Client connect 05:45:43.627114 accept_connection 3 returned 4 05:45:43.627133 accept_connection 3 returned 0 05:45:43.627149 Read 93 bytes 05:45:43.627159 Process 93 bytes request 05:45:43.627173 Got request: GET /verifiedserver HTTP/1.1 05:45:43.627182 Are-we-friendly question received 05:45:43.627205 Wrote request (93 bytes) input to log/9/server.input 05:45:43.627221 Identifying ourselves as friends 05:45:43.627309 Response sent (56 bytes) and written to log/9/server.response 05:45:43.627322 special request received, no persistency 05:45:43.627332 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 50634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:3388CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind78 ../src/curl -q --output log/14/curl78.out --include --trace-ascii log/14/trace78 --trace-time http://127.0.0.1:35549/78 -z "dec 12 11:00:00 1999 GMT" > log/14/stdout78 2> log/14/stderr78 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind73 ../src/curl -q --output log/10/curl73.out --include --trace-ascii log/10/trace73 --trace-time http://127.0.0.1:46741/we/want/73 -c log/10/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/10/stdout73 2> log/10/stderr73 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind76 ../src/curl -q --output log/15/curl76.out --include --trace-ascii log/15/trace76 --trace-time http://127.0.0.1:43413/76 -u testuser:testpass --anyauth > log/15/stdout76 2> log/15/stderr76 5 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 77 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind77 ==79550== ==79550== Process terminating with default action of signal 4 (SIGILL) ==79550== Illegal opcode at address 0x4014883 ==79550== at 0x4014883: getparameter (tool_getparam.c:2899) ==79550== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79550== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79550== by 0x4004208: main (tool_main.c:189) === End of file valgrind77 test 0078...[HTTP with -z "newer date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind78 ../src/curl -q --output log/14/curl78.out --include --trace-ascii log/14/trace78 --trace-time http://127.0.0.1:35549/78 -z "dec 12 11:00:00 1999 GMT" > log/14/stdout78 2> log/14/stderr78 78: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 78 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind78 ../src/curl -q --output log/14/curl78.out --include --trace-ascii log/14/trace78 --trace-time http://127.0.0.1:35549/78 -z "dec 12 11:00:00 1999 GMT" > log/14/stdout78 2> log/14/stderr78 === End of file commands.log === Start of file http_server.log 05:45:44.662736 ====> Client connect 05:45:44.662776 accept_connection 3 returned 4 05:45:44.662795 accept_connection 3 returned 0 05:45:44.662812 Read 93 bytes 05:45:44.662822 Process 93 bytes request 05:45:44.662837 Got request: GET /verifiedserver HTTP/1.1 05:45:44.662847 Are-we-friendly question received 05:45:44.662875 Wrote request (93 bytes) input to log/14/server.input 05:45:44.662895 Identifying ourselves as friends 05:45:44.662959 Response sent (56 bytes) and written to log/14/server.response 05:45:44.662972 special request received, no persistency 05:45:44.662982 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 60504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 78 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind78 ==79564== ==79564== Process terminating with default action of signal 4 (SIGILL) ==79564== Illegal opcode at address 0x4014883 ==79564== at 0x4014883: getparameter (tool_getparam.c:2899) ==79564== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79564== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79564== by 0x4004208: main (tool_main.c:189) === End of file valgrind78 test 0073...[HTTP, receive cookies when using custom Host:, domain using only two dots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind73 ../src/curl -q --output log/10/curl73.out --include --trace-ascii log/10/trace73 --trace-time http://127.0.0.1:46741/we/want/73 -c log/10/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/10/stdout73 2> log/10/stderr73 73: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 73 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind73 ../src/curl -q --output log/10/curl73.out --include --trace-ascii log/10/trace73 --trace-time http://127.0.0.1:46741/we/want/73 -c log/10/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/10/stdout73 2> log/10/stderr73 === End of file commands.log === Start of file http_server.log 05:45:43.333765 ====> Client connect 05:45:43.333813 accept_connection 3 returned 4 05:45:43.333832 accept_connection 3 returned 0 05:45:43.333850 Read 93 bytes 05:45:43.333860 Process 93 bytes request 05:45:43.333873 Got request: GET /verifiedserver HTTP/1.1 05:45:43.333882 Are-we-friendly question received 05:45:43.333909 Wrote request (93 bytes) input to log/10/server.input 05:45:43.333925 Identifying ourselves as friends 05:45:43.334018 Response sent (56 bytes) and written to log/10/server.response 05:45:43.334029 special request received, no persistency 05:45:43.334038 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 73 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind73 ==79336== ==79336== Process terminating with default action of signal 4 (SIGILL) ==79336== Illegal opcode at address 0x4014883 ==79336== at 0x4014883: getparameter (tool_getparam.c:2899) ==79336== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79336== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79336== by 0x4004208: main (tool_main.c:189) === End of file valgrind73 test 0076...[HTTP with comma-separated WWW-Authenticate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind76 ../src/curl -q --output log/15/curl76.out --include --trace-ascii log/15/trace76 --trace-time http://127.0.0.1:43413/76 -u testuser:testpass --anyauth > log/15/stdout76 2> log/15/stderr76 76: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 76 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind76 ../src/curl -q --output log/15/curl76.out --include --trace-ascii log/15/trace76 --trace-time http://127.0.0.1:43413/76 -u testuser:testpass --anyauth > log/15/stdout76 2> log/15/stderr76 === End of file commands.log === Start of file http_server.log 05:45:44.603817 ====> Client connect 05:45:44.603857 accept_connection 3 returned 4 05:45:44.603875 accept_connection 3 returned 0 05:45:44.603892 Read 93 bytes 05:45:44.603902 Process 93 bytes request 05:45:44.603929 Got request: GET /verifiedserveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind79 ../src/curl -q --output log/12/curl79.out --include --trace-ascii log/12/trace79 --trace-time ftp://127.0.0.1:36353/we/want/that/page/79 -x 127.0.0.1:36353 > log/12/stdout79 2> log/12/stderr79 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind91 ../src/curl -q --output log/7/curl91.out --include --trace-ascii log/7/trace91 --trace-time http://127.0.0.1:39013/91 --anyauth -u mydomain\\myself:secret > log/7/stdout91 2> log/7/stderr91 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind85 ../src/curl -q --output log/2/curl85.out --include --trace-ascii log/2/trace85 --trace-time http://127.0.0.1:41799/we/want/that/page/85 -x 127.0.0.1:41799 --user iam:myself --proxy-user testing:this > log/2/stdout85 2> log/2/stderr85 r HTTP/1.1 05:45:44.603939 Are-we-friendly question received 05:45:44.603968 Wrote request (93 bytes) input to log/15/server.input 05:45:44.603987 Identifying ourselves as friends 05:45:44.604073 Response sent (56 bytes) and written to log/15/server.response 05:45:44.604089 special request received, no persistency 05:45:44.604098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 50172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 76 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind76 ==79557== ==79557== Process terminating with default action of signal 4 (SIGILL) ==79557== Illegal opcode at address 0x4014883 ==79557== at 0x4014883: getparameter (tool_getparam.c:2899) ==79557== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79557== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79557== by 0x4004208: main (tool_main.c:189) === End of file valgrind76 test 0079...[FTP over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind79 ../src/curl -q --output log/12/curl79.out --include --trace-ascii log/12/trace79 --trace-time ftp://127.0.0.1:36353/we/want/that/page/79 -x 127.0.0.1:36353 > log/12/stdout79 2> log/12/stderr79 79: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 79 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind79 ../src/curl -q --output log/12/curl79.out --include --trace-ascii log/12/trace79 --trace-time ftp://127.0.0.1:36353/we/want/that/page/79 -x 127.0.0.1:36353 > log/12/stdout79 2> log/12/stderr79 === End of file commands.log === Start of file http_server.log 05:45:44.763739 ====> Client connect 05:45:44.763786 accept_connection 3 returned 4 05:45:44.763807 accept_connection 3 returned 0 05:45:44.763826 Read 93 bytes 05:45:44.763837 Process 93 bytes request 05:45:44.763850 Got request: GET /verifiedserver HTTP/1.1 05:45:44.763861 Are-we-friendly question received 05:45:44.763889 Wrote request (93 bytes) input to log/12/server.input 05:45:44.763908 Identifying ourselves as friends 05:45:44.763996 Response sent (56 bytes) and written to log/12/server.response 05:45:44.764010 special request received, no persistency 05:45:44.764019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 41604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 79 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind79 ==79653== ==79653== Process terminating with default action of signal 4 (SIGILL) ==79653== Illegal opcode at address 0x4014883 ==79653== at 0x4014883: getparameter (tool_getparam.c:2899) ==79653== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79653== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79653== by 0x4004208: main (tool_main.c:189) === End of file valgrind79 test 0091...[HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind91 ../src/curl -q --output log/7/curl91.out --include --trace-ascii log/7/trace91 --trace-time http://127.0.0.1:39013/91 --anyauth -u mydomain\\myself:secret > log/7/stdout91 2> log/7/stderr91 91: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 91 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind91 ../src/curl -q --output log/7/curl91.out --include --trace-ascii log/7/trace91 --trace-time http://127.0.0.1:39013/91 --anyauth -u mydomain\\myself:secret > log/7/stdout91 2> log/7/stderr91 === End of file commands.log === Start of file http_server.log 05:45:45.216007 ====> Client connect 05:45:45.216039 accept_connection 3 returned 4 05:45:45.216057 accept_connection 3 returned 0 05:45:45.216071 Read 93 bytes 05:45:45.216081 Process 93 bytes request 05:45:45.216095 Got request: GET /verifiedserver HTTP/1.1 05:45:45.216105 Are-we-friendly question received 05:45:45.216129 Wrote request (93 bytes) input to log/7/server.input 05:45:45.216145 Identifying ourselves as friends 05:45:45.216199 Response sent (56 bytes) and written to log/7/server.response 05:45:45.216209 special request received, no persistency 05:45:45.216218 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 36478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 91 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind91 ==80479== ==80479== Process terminating with default action of signal 4 (SIGILL) ==80479== Illegal opcode at address 0x4014883 ==80479== at 0x4014883: getparameter (tool_getparam.c:2899) ==80479== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80479== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80479== by 0x4004208: main (tool_main.c:189) === End of file valgrind91 test 0085...[HTTP over proxy with site and proxy authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind85 ../src/curl -q --output log/2/curl85.out --include --trace-ascii log/2/trace85 --trace-time http://127.0.0.1:41799/we/want/that/page/85 -x 127.0.0.1:41799 --user iam:myself --proxy-user testing:this > log/2/stdout85 2> log/2/stderr85 85: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 85 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind87 ../src/curl -q --include --trace-ascii log/19/trace87 --trace-time "http://127.0.0.1:35701/[870001-870002]" -o "log/19/dumpit87-#2.dump" > log/19/stdout87 2> log/19/stderr87 yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind85 ../src/curl -q --output log/2/curl85.out --include --trace-ascii log/2/trace85 --trace-time http://127.0.0.1:41799/we/want/that/page/85 -x 127.0.0.1:41799 --user iam:myself --proxy-user testing:this > log/2/stdout85 2> log/2/stderr85 === End of file commands.log === Start of file http_server.log 05:45:45.746440 ====> Client connect 05:45:45.746513 accept_connection 3 returned 4 05:45:45.746533 accept_connection 3 returned 0 05:45:45.746696 Read 93 bytes 05:45:45.746713 Process 93 bytes request 05:45:45.746728 Got request: GET /verifiedserver HTTP/1.1 05:45:45.746739 Are-we-friendly question received 05:45:45.746770 Wrote request (93 bytes) input to log/2/server.input 05:45:45.746789 Identifying ourselves as friends 05:45:45.746853 Response sent (56 bytes) and written to log/2/server.response 05:45:45.746866 special request received, no persistency 05:45:45.746875 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 85 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind85 ==80032== ==80032== Process terminating with default action of signal 4 (SIGILL) ==80032== Illegal opcode at address 0x4014883 ==80032== at 0x4014883: getparameter (tool_getparam.c:2899) ==80032== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80032== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80032== by 0x4004208: main (tool_main.c:189) === End of file valgrind85 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind92 ../src/curl -q --output log/22/curl92.out --include --trace-ascii log/22/trace92 --trace-time http://127.0.0.1:41477/want/92 -C 87 > log/22/stdout92 2> log/22/stderr92 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind86 ../src/curl -q --include --trace-ascii log/17/trace86 --trace-time "http://127.0.0.1:41505/[860001-860003]" -o "log/17/dumpit#1.dump" > log/17/stdout86 2> log/17/stderr86 test 0087...[urlglob with out of range -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind87 ../src/curl -q --include --trace-ascii log/19/trace87 --trace-time "http://127.0.0.1:35701/[870001-870002]" -o "log/19/dumpit87-#2.dump" > log/19/stdout87 2> log/19/stderr87 87: output (log/19/dumpit87-#2.dump) FAILED: --- log/19/check-expected 2026-03-14 05:45:47.511282726 +0000 +++ log/19/check-generated 2026-03-14 05:45:47.511282726 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/19/ directory after test 87 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind87 ../src/curl -q --include --trace-ascii log/19/trace87 --trace-time "http://127.0.0.1:35701/[870001-870002]" -o "log/19/dumpit87-#2.dump" > log/19/stdout87 2> log/19/stderr87 === End of file commands.log === Start of file http_server.log 05:45:44.841963 ====> Client connect 05:45:44.841998 accept_connection 3 returned 4 05:45:44.842016 accept_connection 3 returned 0 05:45:44.842031 Read 93 bytes 05:45:44.842041 Process 93 bytes request 05:45:44.842054 Got request: GET /verifiedserver HTTP/1.1 05:45:44.842063 Are-we-friendly question received 05:45:44.842089 Wrote request (93 bytes) input to log/19/server.input 05:45:44.842109 Identifying ourselves as friends 05:45:44.842171 Response sent (56 bytes) and written to log/19/server.response 05:45:44.842184 special request received, no persistency 05:45:44.842193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 35686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 87 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind87 ==80138== ==80138== Process terminating with default action of signal 4 (SIGILL) ==80138== Illegal opcode at address 0x4014883 ==80138== at 0x4014883: getparameter (tool_getparam.c:2899) ==80138== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80138== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80138== by 0x4004208: main (tool_main.c:189) === End of file valgrind87 test 0092...[HTTP resume transfer with the whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind92 ../src/curl -q --output log/22/curl92.out --include --trace-ascii log/22/trace92 --trace-time http://127.0.0.1:41477/want/92 -C 87 > log/22/stdout92 2> log/22/stderr92 92: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 92 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind92 ../src/curl -q --output log/22/curl92.out --include --trace-ascii log/22/trace92 --trace-time http://127.0.0.1:41477/want/92 -C 87 > log/22/stdout92 2> log/22/stderr92 === End of file commands.log === Start of file http_server.log 05:45:46.247067 ====> Client connect 05:45:46.247103 accept_connection 3 returned 4 05:45:46.247123 accept_connection 3 returned 0 05:45:46.247138 Read 93 bytes 05:45:46.247148 Process 93 bytes request 05:45:46.247161 Got request: GET /verifiedserver HTTP/1.1 05:45:46.247170 Are-we-friendly question received 05:45:46.247196 Wrote request (93 bytes) input to log/22/server.input 05:45:46.247213 Identifying ourselves as friends 05:45:46.247279 Response sent (56 bytes) and written to log/22/server.response 05:45:46.247290 special request received, no persistency 05:45:46.247298 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 48836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 92 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind92 ==80522== ==80522== Process terminating with default action of signal 4 (SIGILL) ==80522== Illegal opcode at address 0x4014883 ==80522== at 0x4014883: getparameter (tool_getparam.c:2899) ==80522== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80522== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80522== by 0x4004208: main (tool_main.c:189) === End of file valgrind92 test 0086...[HTTP, urlglob []-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind86 ../src/curl -q --include --trace-ascii log/17/trace86 --trace-time "http://127.0.0.1:41505/[860001-860003]" -o "log/17/dumpit#1.dump" > log/17/stdout86 2> log/17/stderr86 86: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 86 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind86 ../src/curl -q --include --trace-ascii log/17/trace86 --trace-time "http://127.0.0.1:41505/[860001-860003]" -o "log/17/dumpit#1.dump" > log/17/stdout86 2> log/17/stderr86 === End of file commands.log === Start of file http_server.log 05:45:45.763078 ====> Client connect 05:45:45.763112 accept_connection 3 returned 4 05:45:45.763129 accept_connection 3 returned 0 05:45:45.763144 Read 93 bytes 05:45:45.763154 Process 93 bytes request 05:45:45.763168 Got request: GET /verifiedserver HTTP/1.1 05:45:45.763177 Are-we-friendly question received 05:45:45.763202 Wrote request (93 bytes) input to log/17/server.input 05:45:45.763222 Identifying ourselves as friends 05:45:45.763282 Response sent (56 bytes) and written to log/17/server.response 05:45:45.763292 special request received, no persistency 05:45:45.763301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 37028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes datCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind93 ../src/curl -q --output log/18/curl93.out --include --trace-ascii log/18/trace93 --trace-time http://127.0.0.1:39913/93 -x 127.0.0.1:39913 > log/18/stdout93 2> log/18/stderr93 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind90 ../src/curl -q --output log/6/curl90.out --include --trace-ascii log/6/trace90 --trace-time http://127.0.0.1:33035/90 -u testuser:testpass --anyauth -L > log/6/stdout90 2> log/6/stderr90 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind84 ../src/curl -q --output log/3/curl84.out --include --trace-ascii log/3/trace84 --trace-time http://127.0.0.1:39591/we/want/that/page/84 -x 127.0.0.1:39591 --user iam:myself > log/3/stdout84 2> log/3/stderr84 a] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 86 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind86 ==80042== ==80042== Process terminating with default action of signal 4 (SIGILL) ==80042== Illegal opcode at address 0x4014883 ==80042== at 0x4014883: getparameter (tool_getparam.c:2899) ==80042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80042== by 0x4004208: main (tool_main.c:189) === End of file valgrind86 test 0093...[HTTP GET with failed proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind93 ../src/curl -q --output log/18/curl93.out --include --trace-ascii log/18/trace93 --trace-time http://127.0.0.1:39913/93 -x 127.0.0.1:39913 > log/18/stdout93 2> log/18/stderr93 93: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 93 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind93 ../src/curl -q --output log/18/curl93.out --include --trace-ascii log/18/trace93 --trace-time http://127.0.0.1:39913/93 -x 127.0.0.1:39913 > log/18/stdout93 2> log/18/stderr93 === End of file commands.log === Start of file http_server.log 05:45:45.270561 ====> Client connect 05:45:45.270599 accept_connection 3 returned 4 05:45:45.270616 accept_connection 3 returned 0 05:45:45.270632 Read 93 bytes 05:45:45.270642 Process 93 bytes request 05:45:45.270656 Got request: GET /verifiedserver HTTP/1.1 05:45:45.270666 Are-we-friendly question received 05:45:45.270691 Wrote request (93 bytes) input to log/18/server.input 05:45:45.270708 Identifying ourselves as friends 05:45:45.270778 Response sent (56 bytes) and written to log/18/server.response 05:45:45.270790 special request received, no persistency 05:45:45.270799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 47982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 93 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind93 ==80520== ==80520== Process terminating with default action of signal 4 (SIGILL) ==80520== Illegal opcode at address 0x4014883 ==80520== at 0x4014883: getparameter (tool_getparam.c:2899) ==80520== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80520== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80520== by 0x4004208: main (tool_main.c:189) === End of file valgrind93 test 0090...[HTTP with NTLM via --anyauth, and then follow-location with NTLM again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind90 ../src/curl -q --output log/6/curl90.out --include --trace-ascii log/6/trace90 --trace-time http://127.0.0.1:33035/90 -u testuser:testpass --anyauth -L > log/6/stdout90 2> log/6/stderr90 90: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 90 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind90 ../src/curl -q --output log/6/curl90.out --include --trace-ascii log/6/trace90 --trace-time http://127.0.0.1:33035/90 -u testuser:testpass --anyauth -L > log/6/stdout90 2> log/6/stderr90 === End of file commands.log === Start of file http_server.log 05:45:45.195142 ====> Client connect 05:45:45.195183 accept_connection 3 returned 4 05:45:45.195202 accept_connection 3 returned 0 05:45:45.195220 Read 93 bytes 05:45:45.195231 Process 93 bytes request 05:45:45.195244 Got request: GET /verifiedserver HTTP/1.1 05:45:45.195253 Are-we-friendly question received 05:45:45.195278 Wrote request (93 bytes) input to log/6/server.input 05:45:45.195294 Identifying ourselves as friends 05:45:45.195375 Response sent (56 bytes) and written to log/6/server.response 05:45:45.195385 special request received, no persistency 05:45:45.195394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 35884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 90 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind90 ==80483== ==80483== Process terminating with default action of signal 4 (SIGILL) ==80483== Illegal opcode at address 0x4014883 ==80483== at 0x4014883: getparameter (tool_getparam.c:2899) ==80483== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80483== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80483== by 0x4004208: main (tool_main.c:189) === End of file valgrind90 test 0084...[HTTP over proxy with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind84 ../src/curl -q --output log/3/curl84.out --include --trace-ascii log/3/trace84 --trace-time http://127.0.0.1:39591/we/want/that/page/84 -x 127.0.0.1:39591 --user iam:myself > log/3/stdout84 2> log/3/stderr84 84: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 84 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind84 ../src/curl -q --output log/3/curl84.out --include --trace-ascii log/3/trace84 --trace-time http://127.0.0.1:39591/we/want/that/page/84 -x 127.0.0.1:39591 --user iam:myself > log/3/stdout84 2> log/3/stderr84 === End of file commands.log === Start of file http_server.log 05:45:45.661142 ====> Client connect 05:45:45.661193 accept_connection 3 returned 4 05:45:45.661215 accept_connection 3 returned 0 05:45:45.661422 Read 93 bytes 05:45:45.661439 Process 93 bytes request 05:45:45.661455 Got request: GET /verifiedserver HTTP/1.1 05:45:45.661464 Are-we-friendly question received 05:45:45.661493 Wrote request (93 bytes) input to log/3/server.input 05:45:45.661512 Identifying ourselves as friends 05:45:45.661575 RCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind88 ../src/curl -q --output log/8/curl88.out --include --trace-ascii log/8/trace88 --trace-time http://127.0.0.1:45623/88 -T log/8/put88 -u testuser:testpass --digest > log/8/stdout88 2> log/8/stderr88 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind89 ../src/curl -q --output log/5/curl89.out --include --trace-ascii log/5/trace89 --trace-time http://127.0.0.1:35621/89 -u testuser:testpass --ntlm -L > log/5/stdout89 2> log/5/stderr89 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind83 ../src/curl -q --output log/23/curl83.out --include --trace-ascii log/23/trace83 --trace-time http://test.83:33217/we/want/that/page/83 -p -x 127.0.0.1:45237 --user 'iam:my:;self' > log/23/stdout83 2> log/23/stderr83 esponse sent (56 bytes) and written to log/3/server.response 05:45:45.661587 special request received, no persistency 05:45:45.661596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 56196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 84 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind84 ==79991== ==79991== Process terminating with default action of signal 4 (SIGILL) ==79991== Illegal opcode at address 0x4014883 ==79991== at 0x4014883: getparameter (tool_getparam.c:2899) ==79991== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==79991== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==79991== by 0x4004208: main (tool_main.c:189) === End of file valgrind84 test 0088...[HTTP PUT with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind88 ../src/curl -q --output log/8/curl88.out --include --trace-ascii log/8/trace88 --trace-time http://127.0.0.1:45623/88 -T log/8/put88 -u testuser:testpass --digest > log/8/stdout88 2> log/8/stderr88 88: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 88 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind88 ../src/curl -q --output log/8/curl88.out --include --trace-ascii log/8/trace88 --trace-time http://127.0.0.1:45623/88 -T log/8/put88 -u testuser:testpass --digest > log/8/stdout88 2> log/8/stderr88 === End of file commands.log === Start of file http_server.log 05:45:44.867513 ====> Client connect 05:45:44.867545 accept_connection 3 returned 4 05:45:44.867561 accept_connection 3 returned 0 05:45:44.867575 Read 93 bytes 05:45:44.867585 Process 93 bytes request 05:45:44.867600 Got request: GET /verifiedserver HTTP/1.1 05:45:44.867609 Are-we-friendly question received 05:45:44.867632 Wrote request (93 bytes) input to log/8/server.input 05:45:44.867647 Identifying ourselves as friends 05:45:44.867701 Response sent (56 bytes) and written to log/8/server.response 05:45:44.867710 special request received, no persistency 05:45:44.867719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 53764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file put88 This is data we upload with PUT a second line line three four is the number of lines === End of file put88 === Start of file server.cmd auth_required Testnum 88 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind88 ==80176== ==80176== Process terminating with default action of signal 4 (SIGILL) ==80176== Illegal opcode at address 0x4014883 ==80176== at 0x4014883: getparameter (tool_getparam.c:2899) ==80176== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80176== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80176== by 0x4004208: main (tool_main.c:189) === End of file valgrind88 test 0089...[HTTP with NTLM and follow-location] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind89 ../src/curl -q --output log/5/curl89.out --include --trace-ascii log/5/trace89 --trace-time http://127.0.0.1:35621/89 -u testuser:testpass --ntlm -L > log/5/stdout89 2> log/5/stderr89 89: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 89 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind89 ../src/curl -q --output log/5/curl89.out --include --trace-ascii log/5/trace89 --trace-time http://127.0.0.1:35621/89 -u testuser:testpass --ntlm -L > log/5/stdout89 2> log/5/stderr89 === End of file commands.log === Start of file http_server.log 05:45:46.147735 ====> Client connect 05:45:46.147782 accept_connection 3 returned 4 05:45:46.147802 accept_connection 3 returned 0 05:45:46.147820 Read 93 bytes 05:45:46.147830 Process 93 bytes request 05:45:46.147844 Got request: GET /verifiedserver HTTP/1.1 05:45:46.147854 Are-we-friendly question received 05:45:46.147884 Wrote request (93 bytes) input to log/5/server.input 05:45:46.147903 Identifying ourselves as friends 05:45:46.147988 Response sent (56 bytes) and written to log/5/server.response 05:45:46.148000 special request received, no persistency 05:45:46.148008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 55228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 89 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind89 ==80407== ==80407== Process terminating with default action of signal 4 (SIGILL) ==80407== Illegal opcode at address 0x4014883 ==80407== at 0x4014883: getparameter (tool_getparam.c:2899) ==80407== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80407== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80407== by 0x4004208: main (tool_main.c:189) === End of file valgrind89 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/23/server/http2_server.pid" --logfile "log/23/http2_server.log" --logdir "log/23" --portfile log/23/server/http2_server.port --config log/23/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 79901 port 45237 * pid http-proxy => 79901 79901 test 0083...[HTTP over proxy-tunnel with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind83 ../src/curl -q --output log/23/curl83.out --include --trace-ascii log/23/trace83 --trace-time http://test.83:33217/we/want/that/page/83 -p -x 127.0.0.1:45237 --user 'iam:my:;self' > log/23/stdoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind94 ../src/curl -q --output log/13/curl94.out --include --trace-ascii log/13/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:45359 > log/13/stdout94 2> log/13/stderr94 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind80 ../src/curl -q --output log/4/curl80.out --include --trace-ascii log/4/trace80 --trace-time http://test.80:40253/we/want/that/page/80 -p --proxy1.0 127.0.0.1:38323 --user iam:myself --proxy-user youare:yourself -A "" > log/4/stdout80 2> log/4/stderr80 ut83 2> log/23/stderr83 83: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 83 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind83 ../src/curl -q --output log/23/curl83.out --include --trace-ascii log/23/trace83 --trace-time http://test.83:33217/we/want/that/page/83 -p -x 127.0.0.1:45237 --user 'iam:my:;self' > log/23/stdout83 2> log/23/stderr83 === End of file commands.log === Start of file http2_server.log 05:45:44.207676 Run as proxy, CONNECT to host 127.0.0.1 05:45:44.207822 Running HTTP IPv4 version on port 45237 05:45:44.207859 Wrote pid 79901 to log/23/server/http2_server.pid 05:45:44.207887 Wrote port 45237 to log/23/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:45:45.163756 ====> Client connect 05:45:45.163815 accept_connection 3 returned 4 05:45:45.163838 accept_connection 3 returned 0 05:45:45.163855 Read 93 bytes 05:45:45.163866 Process 93 bytes request 05:45:45.163880 Got request: GET /verifiedserver HTTP/1.1 05:45:45.163891 Are-we-friendly question received 05:45:45.163920 Wrote request (93 bytes) input to log/23/server.input 05:45:45.163941 Identifying ourselves as friends 05:45:45.164033 Response sent (56 bytes) and written to log/23/server.response 05:45:45.164046 special request received, no persistency 05:45:45.164054 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 60346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 83 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind83 ==80431== ==80431== Process terminating with default action of signal 4 (SIGILL) ==80431== Illegal opcode at address 0x4014883 ==80431== at 0x4014883: getparameter (tool_getparam.c:2899) ==80431== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80431== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80431== by 0x4004208: main (tool_main.c:189) === End of file valgrind83 test 0094...[HTTPS GET with failed proxy auth (CONNECT 1.0)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind94 ../src/curl -q --output log/13/curl94.out --include --trace-ascii log/13/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:45359 > log/13/stdout94 2> log/13/stderr94 94: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 94 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind94 ../src/curl -q --output log/13/curl94.out --include --trace-ascii log/13/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:45359 > log/13/stdout94 2> log/13/stderr94 === End of file commands.log === Start of file http_server.log 05:45:46.687088 ====> Client connect 05:45:46.687139 accept_connection 3 returned 4 05:45:46.687161 accept_connection 3 returned 0 05:45:46.687179 Read 93 bytes 05:45:46.687190 Process 93 bytes request 05:45:46.687206 Got request: GET /verifiedserver HTTP/1.1 05:45:46.687216 Are-we-friendly question received 05:45:46.687242 Wrote request (93 bytes) input to log/13/server.input 05:45:46.687260 Identifying ourselves as friends 05:45:46.687346 Response sent (56 bytes) and written to log/13/server.response 05:45:46.687358 special request received, no persistency 05:45:46.687368 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 45518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 94 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind94 ==80765== ==80765== Process terminating with default action of signal 4 (SIGILL) ==80765== Illegal opcode at address 0x4014883 ==80765== at 0x4014883: getparameter (tool_getparam.c:2899) ==80765== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80765== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80765== by 0x4004208: main (tool_main.c:189) === End of file valgrind94 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/4/server/http2_server.pid" --logfile "log/4/http2_server.log" --logdir "log/4" --portfile log/4/server/http2_server.port --config log/4/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 79773 port 38323 * pid http-proxy => 79773 79773 test 0080...[HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind80 ../src/curl -q --output log/4/curl80.out --include --trace-ascii log/4/trace80 --trace-time http://test.80:40253/we/want/that/page/80 -p --proxy1.0 127.0.0.1:38323 --user iam:myself --proxy-user youare:yourself -A "" > log/4/stdout80 2> log/4/stderr80 80: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 80 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind80 ../src/curl -q --output log/4/curl80.out --include --trace-ascii log/4/trace80 --trace-time http://test.80:40253/we/want/that/page/80 -p --proxy1.0 127.0.0.1:38323 --user iam:myself --proxy-user youare:yourself -A "" > log/4/stdout80 2> log/4/stderr80 === End of file commands.log === Start of file http2_server.log 05:45:44.924257 Run as proxy, CONNECT to host 127.0.0.1 05:45:44.924409 Running HTTP IPv4 version on port 38323 05:45:44.924464 Wrote pid 79773 to log/4/server/http2_server.pid 05:45:44.924497 Wrote port 38323 to log/4/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:45:43.869578 ====> Client connect 05:45:43.869612 accept_connection 3 returned 4 05:45:43.869630 accept_connection 3 returned 0 05:45:43.869647 Read 93 bytes 05:45:43.869658 Process 93 bytes request 05:45:43.869670 Got request: GET /verifiedserver HTTP/1.1 05:45:43.869680 Are-we-friendly question received 05:45:43.869708 Wrote request (93 bytes) input to log/4/server.input 05:45:43.869726 Identifying ourselCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind99 ../src/curl -q --output log/24/curl99.out --include --trace-ascii log/24/trace99 --trace-time http://127.0.0.1:33593/99 -C 9999999999 > log/24/stdout99 2> log/24/stderr99 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind98 ../src/curl -q --output log/21/curl98.out --include --trace-ascii log/21/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42891/98 log/21/stdout98 2> log/21/stderr98 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind97 ../src/curl -q --output log/1/curl97.out --include --trace-ascii log/1/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:38765/97 > log/1/stdout97 2> log/1/stderr97 ves as friends 05:45:43.869789 Response sent (56 bytes) and written to log/4/server.response 05:45:43.869802 special request received, no persistency 05:45:43.869811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 47688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 80 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind80 ==80174== ==80174== Process terminating with default action of signal 4 (SIGILL) ==80174== Illegal opcode at address 0x4014883 ==80174== at 0x4014883: getparameter (tool_getparam.c:2899) ==80174== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80174== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80174== by 0x4004208: main (tool_main.c:189) === End of file valgrind80 test 0099...[HTTP GET with large-file resume point and failed resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind99 ../src/curl -q --output log/24/curl99.out --include --trace-ascii log/24/trace99 --trace-time http://127.0.0.1:33593/99 -C 9999999999 > log/24/stdout99 2> log/24/stderr99 99: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 99 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind99 ../src/curl -q --output log/24/curl99.out --include --trace-ascii log/24/trace99 --trace-time http://127.0.0.1:33593/99 -C 9999999999 > log/24/stdout99 2> log/24/stderr99 === End of file commands.log === Start of file http_server.log 05:45:46.877735 ====> Client connect 05:45:46.877774 accept_connection 3 returned 4 05:45:46.877790 accept_connection 3 returned 0 05:45:46.877804 Read 93 bytes 05:45:46.877814 Process 93 bytes request 05:45:46.877827 Got request: GET /verifiedserver HTTP/1.1 05:45:46.877836 Are-we-friendly question received 05:45:46.877859 Wrote request (93 bytes) input to log/24/server.input 05:45:46.877876 Identifying ourselves as friends 05:45:46.877935 Response sent (56 bytes) and written to log/24/server.response 05:45:46.877946 special request received, no persistency 05:45:46.877955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 35042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 99 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind99 ==80886== ==80886== Process terminating with default action of signal 4 (SIGILL) ==80886== Illegal opcode at address 0x4014883 ==80886== at 0x4014883: getparameter (tool_getparam.c:2899) ==80886== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80886== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80886== by 0x4004208: main (tool_main.c:189) === End of file valgrind99 test 0098...[HTTP PUT from stdin with set size, disabling chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind98 ../src/curl -q --output log/21/curl98.out --include --trace-ascii log/21/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42891/98 log/21/stdout98 2> log/21/stderr98 98: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 98 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind98 ../src/curl -q --output log/21/curl98.out --include --trace-ascii log/21/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:42891/98 log/21/stdout98 2> log/21/stderr98 === End of file commands.log === Start of file http_server.log 05:45:45.899171 ====> Client connect 05:45:45.899207 accept_connection 3 returned 4 05:45:45.899226 accept_connection 3 returned 0 05:45:45.899242 Read 93 bytes 05:45:45.899252 Process 93 bytes request 05:45:45.899266 Got request: GET /verifiedserver HTTP/1.1 05:45:45.899276 Are-we-friendly question received 05:45:45.899305 Wrote request (93 bytes) input to log/21/server.input 05:45:45.899324 Identifying ourselves as friends 05:45:45.899393 Response sent (56 bytes) and written to log/21/server.response 05:45:45.899405 special request received, no persistency 05:45:45.899414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 36702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 98 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==80899== ==80899== Process terminating with default action of signal 4 (SIGILL) ==80899== Illegal opcode at address 0x4014883 ==80899== at 0x4014883: getparameter (tool_getparam.c:2899) ==80899== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80899== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80899== by 0x4004208: main (tool_main.c:189) === End of file valgrind98 test 0097...[HTTP POST with custom content-type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind97 ../src/curl -q --output log/1/curl97.out --include --trace-ascii log/1/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:38765/97 > log/1/stdout97 2> log/1/stderr97 97: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 97 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind95 ../src/curl -q --output log/11/curl95.out --include --trace-ascii log/11/trace95 --trace-time http://test.95:34551/we/want/that/page/95 -p -x 127.0.0.1:42531 -d "datatopost=ohthatsfunyesyes" > log/11/stdout95 2> log/11/stderr95 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind100 ../src/curl -q --output log/16/curl100.out --include --trace-ascii log/16/trace100 --trace-time ftp://127.0.0.1:41717/test-100/ > log/16/stdout100 2> log/16/stderr100 callers=16 --log-file=log/1/valgrind97 ../src/curl -q --output log/1/curl97.out --include --trace-ascii log/1/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:38765/97 > log/1/stdout97 2> log/1/stderr97 === End of file commands.log === Start of file http_server.log 05:45:46.859669 ====> Client connect 05:45:46.859699 accept_connection 3 returned 4 05:45:46.859714 accept_connection 3 returned 0 05:45:46.859727 Read 93 bytes 05:45:46.859735 Process 93 bytes request 05:45:46.859748 Got request: GET /verifiedserver HTTP/1.1 05:45:46.859756 Are-we-friendly question received 05:45:46.859779 Wrote request (93 bytes) input to log/1/server.input 05:45:46.859794 Identifying ourselves as friends 05:45:46.859844 Response sent (56 bytes) and written to log/1/server.response 05:45:46.859853 special request received, no persistency 05:45:46.859861 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 97 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind97 ==80879== ==80879== Process terminating with default action of signal 4 (SIGILL) ==80879== Illegal opcode at address 0x4014883 ==80879== at 0x4014883: getparameter (tool_getparam.c:2899) ==80879== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==80879== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==80879== by 0x4004208: main (tool_main.c:189) === End of file valgrind97 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/11/server/http2_server.pid" --logfile "log/11/http2_server.log" --logdir "log/11" --portfile log/11/server/http2_server.port --config log/11/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 80832 port 42531 * pid http-proxy => 80832 80832 test 0095...[HTTP over proxytunnel using POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind95 ../src/curl -q --output log/11/curl95.out --include --trace-ascii log/11/trace95 --trace-time http://test.95:34551/we/want/that/page/95 -p -x 127.0.0.1:42531 -d "datatopost=ohthatsfunyesyes" > log/11/stdout95 2> log/11/stderr95 95: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 95 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind95 ../src/curl -q --output log/11/curl95.out --include --trace-ascii log/11/trace95 --trace-time http://test.95:34551/we/want/that/page/95 -p -x 127.0.0.1:42531 -d "datatopost=ohthatsfunyesyes" > log/11/stdout95 2> log/11/stderr95 === End of file commands.log === Start of file http2_server.log 05:45:46.898433 Run as proxy, CONNECT to host 127.0.0.1 05:45:46.898528 Running HTTP IPv4 version on port 42531 05:45:46.898564 Wrote pid 80832 to log/11/server/http2_server.pid 05:45:46.898592 Wrote port 42531 to log/11/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:45:46.835779 ====> Client connect 05:45:46.835809 accept_connection 3 returned 4 05:45:46.835824 accept_connection 3 returned 0 05:45:46.835839 Read 93 bytes 05:45:46.835848 Process 93 bytes request 05:45:46.835863 Got request: GET /verifiedserver HTTP/1.1 05:45:46.835872 Are-we-friendly question received 05:45:46.835895 Wrote request (93 bytes) input to log/11/server.input 05:45:46.835911 Identifying ourselves as friends 05:45:46.835963 Response sent (56 bytes) and written to log/11/server.response 05:45:46.835972 special request received, no persistency 05:45:46.835981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 58038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 95 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind95 ==81089== ==81089== Process terminating with default action of signal 4 (SIGILL) ==81089== Illegal opcode at address 0x4014883 ==81089== at 0x4014883: getparameter (tool_getparam.c:2899) ==81089== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81089== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81089== by 0x4004208: main (tool_main.c:189) === End of file valgrind95 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/ftp_server.pid" --logfile "log/16/ftp_server.log" --logdir "log/16" --portfile "log/16/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41717 (log/16/server/ftp_server.port) RUN: FTP server is PID 80884 port 41717 * pid ftp => 80884 80884 test 0100...[FTP dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind100 ../src/curl -q --output log/16/curl100.out --include --trace-ascii log/16/trace100 --trace-time ftp://127.0.0.1:41717/test-100/ > log/16/stdout100 2> log/16/stderr100 100: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 100 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind100 ../src/curl -q --output log/16/curl100.out --include --trace-ascii log/16/trace100 --trace-time ftp://127.0.0.1:41717/test-100/ > log/16/stdout100 2> log/16/stderr100 === End of file commands.log === Start of file ftp_server.log 05:45:46.518995 FTP server listens on port IPv4/41717 05:45:46.519099 logged pid 80884 in log/16/server/ftp_server.pid 05:45:46.519129 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:46.978112 Running IPv4 version 05:45:46.978213 Listening on port 41717 05:45:46.978256 Wrote pid 80941 to log/16/server/ftp_sockctrl.pid 05:45:46.978287 Wrote port 41717 to log/16/server/ftp_server.port 05:45:46.980338 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 100 === End of file server.cmd === Start of file valgrind100 ==81099== ==81099== Process terminating with default action of signal 4 (SIGILL) ==81099== Illegal opcode at address 0x4014883 ==81099== at 0x4014883: getparameter (tool_getparam.c:2899) ==81099== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind102 ../src/curl -q --output log/9/curl102.out --include --trace-ascii log/9/trace102 --trace-time ftp://127.0.0.1:39835/102 > log/9/stdout102 2> log/9/stderr102 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind103 ../src/curl -q --output log/14/curl103.out --include --trace-ascii log/14/trace103 --trace-time ftp://127.0.0.1:46299/a/path/103 -P - > log/14/stdout103 2> log/14/stderr103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind101 ../src/curl -q --output log/20/curl101.out --include --trace-ascii log/20/trace101 --trace-time ftp://127.0.0.1:43013/ -P 127.0.0.1 > log/20/stdout101 2> log/20/stderr101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind104 ../src/curl -q --output log/10/curl104.out --include --trace-ascii log/10/trace104 --trace-time ftp://127.0.0.1:32809/a/path/104 --head > log/10/stdout104 2> log/10/stderr104 ==81099== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81099== by 0x4004208: main (tool_main.c:189) === End of file valgrind100 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_server.pid" --logfile "log/9/ftp_server.log" --logdir "log/9" --portfile "log/9/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39835 (log/9/server/ftp_server.port) RUN: FTP server is PID 81042 port 39835 * pid ftp => 81042 81042 test 0102...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind102 ../src/curl -q --output log/9/curl102.out --include --trace-ascii log/9/trace102 --trace-time ftp://127.0.0.1:39835/102 > log/9/stdout102 2> log/9/stderr102 102: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind102 ../src/curl -q --output log/9/curl102.out --include --trace-ascii log/9/trace102 --trace-time ftp://127.0.0.1:39835/102 > log/9/stdout102 2> log/9/stderr102 === End of file commands.log === Start of file ftp_server.log 05:45:46.888104 FTP server listens on port IPv4/39835 05:45:46.888238 logged pid 81042 in log/9/server/ftp_server.pid 05:45:46.888270 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:46.338235 Running IPv4 version 05:45:46.338310 Listening on port 39835 05:45:46.338354 Wrote pid 81047 to log/9/server/ftp_sockctrl.pid 05:45:46.338386 Wrote port 39835 to log/9/server/ftp_server.port 05:45:46.349423 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 102 === End of file server.cmd === Start of file valgrind102 ==81221== ==81221== Process terminating with default action of signal 4 (SIGILL) ==81221== Illegal opcode at address 0x4014883 ==81221== at 0x4014883: getparameter (tool_getparam.c:2899) ==81221== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81221== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81221== by 0x4004208: main (tool_main.c:189) === End of file valgrind102 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/ftp_server.pid" --logfile "log/14/ftp_server.log" --logdir "log/14" --portfile "log/14/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46299 (log/14/server/ftp_server.port) RUN: FTP server is PID 81045 port 46299 * pid ftp => 81045 81045 test 0103...[FTP RETR PORT with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind103 ../src/curl -q --output log/14/curl103.out --include --trace-ascii log/14/trace103 --trace-time ftp://127.0.0.1:46299/a/path/103 -P - > log/14/stdout103 2> log/14/stderr103 103: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind103 ../src/curl -q --output log/14/curl103.out --include --trace-ascii log/14/trace103 --trace-time ftp://127.0.0.1:46299/a/path/103 -P - > log/14/stdout103 2> log/14/stderr103 === End of file commands.log === Start of file ftp_server.log 05:45:46.906840 FTP server listens on port IPv4/46299 05:45:46.906950 logged pid 81045 in log/14/server/ftp_server.pid 05:45:46.906988 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:46.367792 Running IPv4 version 05:45:46.367909 Listening on port 46299 05:45:46.367963 Wrote pid 81050 to log/14/server/ftp_sockctrl.pid 05:45:46.367998 Wrote port 46299 to log/14/server/ftp_server.port 05:45:46.368192 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 103 === End of file server.cmd === Start of file valgrind103 ==81247== ==81247== Process terminating with default action of signal 4 (SIGILL) ==81247== Illegal opcode at address 0x4014883 ==81247== at 0x4014883: getparameter (tool_getparam.c:2899) ==81247== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81247== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81247== by 0x4004208: main (tool_main.c:189) === End of file valgrind103 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/ftp_server.pid" --logfile "log/20/ftp_server.log" --logdir "log/20" --portfile "log/20/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43013 (log/20/server/ftp_server.port) RUN: FTP server is PID 81041 port 43013 * pid ftp => 81041 81041 test 0101...[FTP dir list, PORT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind101 ../src/curl -q --output log/20/curl101.out --include --trace-ascii log/20/trace101 --trace-time ftp://127.0.0.1:43013/ -P 127.0.0.1 > log/20/stdout101 2> log/20/stderr101 101: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind101 ../src/curl -q --output log/20/curl101.out --include --trace-ascii log/20/trace101 --trace-time ftp://127.0.0.1:43013/ -P 127.0.0.1 > log/20/stdout101 2> log/20/stderr101 === End of file commands.log === Start of file ftp_server.log 05:45:46.875891 FTP server listens on port IPv4/43013 05:45:46.876037 logged pid 81041 in log/20/server/ftp_server.pid 05:45:46.876073 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:46.331602 Running IPv4 version 05:45:46.331715 Listening on port 43013 05:45:46.331761 Wrote pid 81046 to log/20/server/ftp_sockctrl.pid 05:45:46.331792 Wrote port 43013 to log/20/server/ftp_server.port 05:45:46.337009 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 101 === End of file server.cmd === Start of file valgrind101 ==81211== ==81211== Process terminating with default action of signal 4 (SIGILL) ==81211== Illegal opcode at address 0x4014883 ==81211== at 0x4014883: getparameter (tool_getparam.c:2899) ==81211== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81211== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81211== by 0x4004208: main (tool_main.c:189) === End of file valgrind101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/ftp_server.pid" --logfile "log/10/ftp_server.log" --logdir "log/10" --portfile "log/10/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32809 (log/10/server/ftp_server.port) RUN: FTP server is PID 81057 port 32809 * pid ftp => 81057 81057 test 0104...[FTP --head to get file size only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind106 ../src/curl -q --output log/12/curl106.out --include --trace-ascii log/12/trace106 --trace-time "ftp://127.0.0.1:33915//path%20with%20%20spaces//and%20things2/106;type=A" > log/12/stdout106 2> log/12/stderr106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind107 ../src/curl -q --output log/7/curl107.out --include --trace-ascii log/7/trace107 --trace-time ftp://127.0.0.1:44937/107 -T log/7/test107.txt > log/7/stdout107 2> log/7/stderr107 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind105 ../src/curl -q --output log/15/curl105.out --include --trace-ascii log/15/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:35349/105 --use-ascii > log/15/stdout105 2> log/15/stderr105 quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind104 ../src/curl -q --output log/10/curl104.out --include --trace-ascii log/10/trace104 --trace-time ftp://127.0.0.1:32809/a/path/104 --head > log/10/stdout104 2> log/10/stderr104 104: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind104 ../src/curl -q --output log/10/curl104.out --include --trace-ascii log/10/trace104 --trace-time ftp://127.0.0.1:32809/a/path/104 --head > log/10/stdout104 2> log/10/stderr104 === End of file commands.log === Start of file ftp_server.log 05:45:47.052366 FTP server listens on port IPv4/32809 05:45:47.052486 logged pid 81057 in log/10/server/ftp_server.pid 05:45:47.052517 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.508132 Running IPv4 version 05:45:47.508312 Listening on port 32809 05:45:47.508352 Wrote pid 81063 to log/10/server/ftp_sockctrl.pid 05:45:47.508381 Wrote port 32809 to log/10/server/ftp_server.port 05:45:47.513676 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 104 === End of file server.cmd === Start of file valgrind104 ==81343== ==81343== Process terminating with default action of signal 4 (SIGILL) ==81343== Illegal opcode at address 0x4014883 ==81343== at 0x4014883: getparameter (tool_getparam.c:2899) ==81343== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81343== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81343== by 0x4004208: main (tool_main.c:189) === End of file valgrind104 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/ftp_server.pid" --logfile "log/12/ftp_server.log" --logdir "log/12" --portfile "log/12/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33915 (log/12/server/ftp_server.port) RUN: FTP server is PID 81072 port 33915 * pid ftp => 81072 81072 test 0106...[FTP GET with type=A style ASCII URL using %20 codes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind106 ../src/curl -q --output log/12/curl106.out --include --trace-ascii log/12/trace106 --trace-time "ftp://127.0.0.1:33915//path%20with%20%20spaces//and%20things2/106;type=A" > log/12/stdout106 2> log/12/stderr106 106: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind106 ../src/curl -q --output log/12/curl106.out --include --trace-ascii log/12/trace106 --trace-time "ftp://127.0.0.1:33915//path%20with%20%20spaces//and%20things2/106;type=A" > log/12/stdout106 2> log/12/stderr106 === End of file commands.log === Start of file ftp_server.log 05:45:47.268989 FTP server listens on port IPv4/33915 05:45:47.269313 logged pid 81072 in log/12/server/ftp_server.pid 05:45:47.269347 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.724868 Running IPv4 version 05:45:47.724980 Listening on port 33915 05:45:47.725023 Wrote pid 81079 to log/12/server/ftp_sockctrl.pid 05:45:47.725053 Wrote port 33915 to log/12/server/ftp_server.port 05:45:47.727171 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 106 === End of file server.cmd === Start of file valgrind106 ==81443== ==81443== Process terminating with default action of signal 4 (SIGILL) ==81443== Illegal opcode at address 0x4014883 ==81443== at 0x4014883: getparameter (tool_getparam.c:2899) ==81443== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81443== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81443== by 0x4004208: main (tool_main.c:189) === End of file valgrind106 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_server.pid" --logfile "log/7/ftp_server.log" --logdir "log/7" --portfile "log/7/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44937 (log/7/server/ftp_server.port) RUN: FTP server is PID 81085 port 44937 * pid ftp => 81085 81085 test 0107...[FTP PASV upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind107 ../src/curl -q --output log/7/curl107.out --include --trace-ascii log/7/trace107 --trace-time ftp://127.0.0.1:44937/107 -T log/7/test107.txt > log/7/stdout107 2> log/7/stderr107 107: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind107 ../src/curl -q --output log/7/curl107.out --include --trace-ascii log/7/trace107 --trace-time ftp://127.0.0.1:44937/107 -T log/7/test107.txt > log/7/stdout107 2> log/7/stderr107 === End of file commands.log === Start of file ftp_server.log 05:45:47.486720 FTP server listens on port IPv4/44937 05:45:47.486803 logged pid 81085 in log/7/server/ftp_server.pid 05:45:47.486832 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.947892 Running IPv4 version 05:45:47.947996 Listening on port 44937 05:45:47.948031 Wrote pid 81106 to log/7/server/ftp_sockctrl.pid 05:45:47.948058 Wrote port 44937 to log/7/server/ftp_server.port 05:45:47.948080 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 107 === End of file server.cmd === Start of file test107.txt data to see that FTP works so does it? === End of file test107.txt === Start of file valgrind107 ==81525== ==81525== Process terminating with default action of signal 4 (SIGILL) ==81525== Illegal opcode at address 0x4014883 ==81525== at 0x4014883: getparameter (tool_getparam.c:2899) ==81525== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81525== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81525== by 0x4004208: main (tool_main.c:189) === End of file valgrind107 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/ftp_server.pid" --logfile "log/15/ftp_server.log" --logdir "log/15" --portfile "log/15/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35349 (log/15/server/ftp_server.port) RUN: FTP server is PID 81070 port 35349 * pid ftp => 81070 81070 test 0105...[FTP user+password in URL and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind105 ../src/curl -q --output log/15/curl105.out --include --trace-ascii log/15/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:35349/105 --use-ascii > log/15/stdout105 2> log/15/stderr105 105: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? RetuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind108 ../src/curl -q --output log/2/curl108.out --include --trace-ascii log/2/trace108 --trace-time ftp://127.0.0.1:34211/CWD/STOR/RETR/108 -T log/2/upload108 -P - > log/2/stdout108 2> log/2/stderr108 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind109 ../src/curl -q --output log/19/curl109.out --include --trace-ascii log/19/trace109 --trace-time ftp://127.0.0.1:45453/109 -T log/19/upload109 --append > log/19/stdout109 2> log/19/stderr109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind110 ../src/curl -q --output log/22/curl110.out --include --trace-ascii log/22/trace110 --trace-time ftp://127.0.0.1:41347/110 -C 20 > log/22/stdout110 2> log/22/stderr110 rned: 132 == Contents of files in the log/15/ directory after test 105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind105 ../src/curl -q --output log/15/curl105.out --include --trace-ascii log/15/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:35349/105 --use-ascii > log/15/stdout105 2> log/15/stderr105 === End of file commands.log === Start of file ftp_server.log 05:45:47.226836 FTP server listens on port IPv4/35349 05:45:47.226932 logged pid 81070 in log/15/server/ftp_server.pid 05:45:47.226964 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.687801 Running IPv4 version 05:45:47.687918 Listening on port 35349 05:45:47.687957 Wrote pid 81075 to log/15/server/ftp_sockctrl.pid 05:45:47.687988 Wrote port 35349 to log/15/server/ftp_server.port 05:45:47.688196 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 105 === End of file server.cmd === Start of file valgrind105 ==81414== ==81414== Process terminating with default action of signal 4 (SIGILL) ==81414== Illegal opcode at address 0x4014883 ==81414== at 0x4014883: getparameter (tool_getparam.c:2899) ==81414== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81414== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81414== by 0x4004208: main (tool_main.c:189) === End of file valgrind105 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/ftp_server.pid" --logfile "log/2/ftp_server.log" --logdir "log/2" --portfile "log/2/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34211 (log/2/server/ftp_server.port) RUN: FTP server is PID 81084 port 34211 * pid ftp => 81084 81084 test 0108...[FTP PORT upload with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind108 ../src/curl -q --output log/2/curl108.out --include --trace-ascii log/2/trace108 --trace-time ftp://127.0.0.1:34211/CWD/STOR/RETR/108 -T log/2/upload108 -P - > log/2/stdout108 2> log/2/stderr108 108: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind108 ../src/curl -q --output log/2/curl108.out --include --trace-ascii log/2/trace108 --trace-time ftp://127.0.0.1:34211/CWD/STOR/RETR/108 -T log/2/upload108 -P - > log/2/stdout108 2> log/2/stderr108 === End of file commands.log === Start of file ftp_server.log 05:45:47.539148 FTP server listens on port IPv4/34211 05:45:47.539258 logged pid 81084 in log/2/server/ftp_server.pid 05:45:47.539299 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.995012 Running IPv4 version 05:45:47.995091 Listening on port 34211 05:45:48.000401 Wrote pid 81132 to log/2/server/ftp_sockctrl.pid 05:45:48.000461 Wrote port 34211 to log/2/server/ftp_server.port 05:45:48.000486 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 108 === End of file server.cmd === Start of file upload108 Moooooooooooo upload this === End of file upload108 === Start of file valgrind108 ==81528== ==81528== Process terminating with default action of signal 4 (SIGILL) ==81528== Illegal opcode at address 0x4014883 ==81528== at 0x4014883: getparameter (tool_getparam.c:2899) ==81528== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81528== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81528== by 0x4004208: main (tool_main.c:189) === End of file valgrind108 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/ftp_server.pid" --logfile "log/19/ftp_server.log" --logdir "log/19" --portfile "log/19/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45453 (log/19/server/ftp_server.port) RUN: FTP server is PID 81129 port 45453 * pid ftp => 81129 81129 test 0109...[FTP PASV upload append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind109 ../src/curl -q --output log/19/curl109.out --include --trace-ascii log/19/trace109 --trace-time ftp://127.0.0.1:45453/109 -T log/19/upload109 --append > log/19/stdout109 2> log/19/stderr109 109: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind109 ../src/curl -q --output log/19/curl109.out --include --trace-ascii log/19/trace109 --trace-time ftp://127.0.0.1:45453/109 -T log/19/upload109 --append > log/19/stdout109 2> log/19/stderr109 === End of file commands.log === Start of file ftp_server.log 05:45:47.585848 FTP server listens on port IPv4/45453 05:45:47.585959 logged pid 81129 in log/19/server/ftp_server.pid 05:45:47.585989 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.041603 Running IPv4 version 05:45:47.041701 Listening on port 45453 05:45:47.041749 Wrote pid 81151 to log/19/server/ftp_sockctrl.pid 05:45:47.041778 Wrote port 45453 to log/19/server/ftp_server.port 05:45:47.047177 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 109 === End of file server.cmd === Start of file upload109 Moooooooooooo upload this === End of file upload109 === Start of file valgrind109 ==81608== ==81608== Process terminating with default action of signal 4 (SIGILL) ==81608== Illegal opcode at address 0x4014883 ==81608== at 0x4014883: getparameter (tool_getparam.c:2899) ==81608== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81608== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81608== by 0x4004208: main (tool_main.c:189) === End of file valgrind109 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/ftp_server.pid" --logfile "log/22/ftp_server.log" --logdir "log/22" --portfile "log/22/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41347 (log/22/server/ftp_server.port) RUN: FTP server is PID 81140 port 41347 * pid ftp => 81140 81140 test 0110...[FTP download resume with set limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind110 ../src/curl -q --output log/22/curl110.out --include --trace-ascii log/22/trace110 --trace-time ftp://127.0.0.1:41347/110 -C 20 > log/22/stdout110 2> log/22/stderr110 110: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind110 ../src/curl -q --output log/22/curl110.out --include --trace-ascii log/22/trace110 --trace-time ftp:/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind111 ../src/curl -q --output log/17/curl111.out --include --trace-ascii log/17/trace111 --trace-time ftp://127.0.0.1:35305/111 -C 2000 > log/17/stdout111 2> log/17/stderr111 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind113 ../src/curl -q --output log/6/curl113.out --include --trace-ascii log/6/trace113 --trace-time ftp://127.0.0.1:36813/113 > log/6/stdout113 2> log/6/stderr113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind112 ../src/curl -q --output log/18/curl112.out --include --trace-ascii log/18/trace112 --trace-time ftp://127.0.0.1:35869/112 -T log/18/upload112 -C 41 > log/18/stdout112 2> log/18/stderr112 /127.0.0.1:41347/110 -C 20 > log/22/stdout110 2> log/22/stderr110 === End of file commands.log === Start of file ftp_server.log 05:45:47.613965 FTP server listens on port IPv4/41347 05:45:47.614072 logged pid 81140 in log/22/server/ftp_server.pid 05:45:47.614109 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.074960 Running IPv4 version 05:45:47.075061 Listening on port 41347 05:45:47.075098 Wrote pid 81165 to log/22/server/ftp_sockctrl.pid 05:45:47.075126 Wrote port 41347 to log/22/server/ftp_server.port 05:45:47.075318 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 110 === End of file server.cmd === Start of file valgrind110 ==81618== ==81618== Process terminating with default action of signal 4 (SIGILL) ==81618== Illegal opcode at address 0x4014883 ==81618== at 0x4014883: getparameter (tool_getparam.c:2899) ==81618== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81618== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81618== by 0x4004208: main (tool_main.c:189) === End of file valgrind110 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_server.pid" --logfile "log/17/ftp_server.log" --logdir "log/17" --portfile "log/17/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35305 (log/17/server/ftp_server.port) RUN: FTP server is PID 81141 port 35305 * pid ftp => 81141 81141 test 0111...[FTP download resume beyond file size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind111 ../src/curl -q --output log/17/curl111.out --include --trace-ascii log/17/trace111 --trace-time ftp://127.0.0.1:35305/111 -C 2000 > log/17/stdout111 2> log/17/stderr111 111: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind111 ../src/curl -q --output log/17/curl111.out --include --trace-ascii log/17/trace111 --trace-time ftp://127.0.0.1:35305/111 -C 2000 > log/17/stdout111 2> log/17/stderr111 === End of file commands.log === Start of file ftp_server.log 05:45:47.645820 FTP server listens on port IPv4/35305 05:45:47.655718 logged pid 81141 in log/17/server/ftp_server.pid 05:45:47.655774 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.101102 Running IPv4 version 05:45:47.101201 Listening on port 35305 05:45:47.101288 Wrote pid 81177 to log/17/server/ftp_sockctrl.pid 05:45:47.107099 Wrote port 35305 to log/17/server/ftp_server.port 05:45:47.107134 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 111 === End of file server.cmd === Start of file valgrind111 ==81620== ==81620== Process terminating with default action of signal 4 (SIGILL) ==81620== Illegal opcode at address 0x4014883 ==81620== at 0x4014883: getparameter (tool_getparam.c:2899) ==81620== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81620== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81620== by 0x4004208: main (tool_main.c:189) === End of file valgrind111 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_server.pid" --logfile "log/6/ftp_server.log" --logdir "log/6" --portfile "log/6/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36813 (log/6/server/ftp_server.port) RUN: FTP server is PID 81206 port 36813 * pid ftp => 81206 81206 test 0113...[FTP download, failed login: USER not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind113 ../src/curl -q --output log/6/curl113.out --include --trace-ascii log/6/trace113 --trace-time ftp://127.0.0.1:36813/113 > log/6/stdout113 2> log/6/stderr113 113: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 113 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind113 ../src/curl -q --output log/6/curl113.out --include --trace-ascii log/6/trace113 --trace-time ftp://127.0.0.1:36813/113 > log/6/stdout113 2> log/6/stderr113 === End of file commands.log === Start of file ftp_server.log 05:45:47.806076 FTP server listens on port IPv4/36813 05:45:47.806176 logged pid 81206 in log/6/server/ftp_server.pid 05:45:47.806213 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.267103 Running IPv4 version 05:45:47.267180 Listening on port 36813 05:45:47.267228 Wrote pid 81213 to log/6/server/ftp_sockctrl.pid 05:45:47.267260 Wrote port 36813 to log/6/server/ftp_server.port 05:45:47.267438 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY USER 314 bluah you fewl Testnum 113 === End of file server.cmd === Start of file valgrind113 ==81786== ==81786== Process terminating with default action of signal 4 (SIGILL) ==81786== Illegal opcode at address 0x4014883 ==81786== at 0x4014883: getparameter (tool_getparam.c:2899) ==81786== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81786== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81786== by 0x4004208: main (tool_main.c:189) === End of file valgrind113 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/ftp_server.pid" --logfile "log/18/ftp_server.log" --logdir "log/18" --portfile "log/18/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35869 (log/18/server/ftp_server.port) RUN: FTP server is PID 81205 port 35869 * pid ftp => 81205 81205 test 0112...[FTP PASV upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind112 ../src/curl -q --output log/18/curl112.out --include --trace-ascii log/18/trace112 --trace-time ftp://127.0.0.1:35869/112 -T log/18/upload112 -C 41 > log/18/stdout112 2> log/18/stderr112 112: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 112 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind112 ../src/curl -q --output log/18/curl112.out --include --trace-ascii log/18/trace112 --trace-time ftp://127.0.0.1:35869/112 -T log/18/upload112 -C 41 > log/18/stdout112 2> log/18/stderr112 === End of file commands.log === Start of file ftp_server.log 05:45:47.786213 FTP server listens on port IPv4/35869 05:45:47.786312 logged pid 81205 in log/18/server/ftp_server.pid 05:45:47.786345 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:47.247207 Running IPv4 version 05:45:47.247320 Listening on port 35869 05:45:47.247362 Wrote pid 81209 to log/18/server/ftp_sockctrl.pid 05:45:47.247393 Wrote port 35869 to log/18/server/ftp_server.port 05:45:47.247572 Received PING (on stdin) === End CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind114 ../src/curl -q --output log/3/curl114.out --include --trace-ascii log/3/trace114 --trace-time ftp://127.0.0.1:43409/114 > log/3/stdout114 2> log/3/stderr114 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind124 ../src/curl -q --output log/16/curl124.out --include --trace-ascii log/16/trace124 --trace-time ftp://127.0.0.1:41717/124 > log/16/stdout124 2> log/16/stderr124 of file ftp_sockctrl.log === Start of file server.cmd Testnum 112 === End of file server.cmd === Start of file upload112 this is the *****crap******** that we are gonna upload worx? === End of file upload112 === Start of file valgrind112 ==81789== ==81789== Process terminating with default action of signal 4 (SIGILL) ==81789== Illegal opcode at address 0x4014883 ==81789== at 0x4014883: getparameter (tool_getparam.c:2899) ==81789== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81789== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81789== by 0x4004208: main (tool_main.c:189) === End of file valgrind112 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/ftp_server.pid" --logfile "log/3/ftp_server.log" --logdir "log/3" --portfile "log/3/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43409 (log/3/server/ftp_server.port) RUN: FTP server is PID 81310 port 43409 * pid ftp => 81310 81310 test 0114...[FTP download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind114 ../src/curl -q --output log/3/curl114.out --include --trace-ascii log/3/trace114 --trace-time ftp://127.0.0.1:43409/114 > log/3/stdout114 2> log/3/stderr114 114: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 114 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind114 ../src/curl -q --output log/3/curl114.out --include --trace-ascii log/3/trace114 --trace-time ftp://127.0.0.1:43409/114 > log/3/stdout114 2> log/3/stderr114 === End of file commands.log === Start of file ftp_server.log 05:45:48.017042 FTP server listens on port IPv4/43409 05:45:48.017141 logged pid 81310 in log/3/server/ftp_server.pid 05:45:48.017176 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.478066 Running IPv4 version 05:45:48.478148 Listening on port 43409 05:45:48.478190 Wrote pid 81358 to log/3/server/ftp_sockctrl.pid 05:45:48.478223 Wrote port 43409 to log/3/server/ftp_server.port 05:45:48.478402 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 114 === End of file server.cmd === Start of file valgrind114 ==81875== ==81875== Process terminating with default action of signal 4 (SIGILL) ==81875== Illegal opcode at address 0x4014883 ==81875== at 0x4014883: getparameter (tool_getparam.c:2899) ==81875== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81875== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81875== by 0x4004208: main (tool_main.c:189) === End of file valgrind114 test 0124...[FTP download, failed PWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind124 ../src/curl -q --output log/16/curl124.out --include --trace-ascii log/16/trace124 --trace-time ftp://127.0.0.1:41717/124 > log/16/stdout124 2> log/16/stderr124 124: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind124 ../src/curl -q --output log/16/curl124.out --include --trace-ascii log/16/trace124 --trace-time ftp://127.0.0.1:41717/124 > log/16/stdout124 2> log/16/stderr124 === End of file commands.log === Start of file ftp_server.log 05:45:49.232346 ====> Client connect 05:45:49.232527 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:49.239127 < "USER anonymous" 05:45:49.239183 > "331 We are happy you popped in![CR][LF]" 05:45:49.239411 < "PASS ftp@example.com" 05:45:49.239441 > "230 Welcome you silly person[CR][LF]" 05:45:49.239602 < "PWD" 05:45:49.239637 > "257 "/" is current directory[CR][LF]" 05:45:49.239816 < "EPSV" 05:45:49.239847 ====> Passive DATA channel requested by client 05:45:49.239862 DATA sockfilt for passive data channel starting... 05:45:49.249450 DATA sockfilt for passive data channel started (pid 82072) 05:45:49.249630 DATA sockfilt for passive data channel listens on port 40019 05:45:49.249695 > "229 Entering Passive Mode (|||40019|)[CR][LF]" 05:45:49.249722 Client has been notified that DATA conn will be accepted on port 40019 05:45:49.250511 Client connects to port 40019 05:45:49.250546 ====> Client established passive DATA connection on port 40019 05:45:49.250704 < "TYPE I" 05:45:49.250751 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:49.250951 < "SIZE verifiedserver" 05:45:49.250998 > "213 17[CR][LF]" 05:45:49.251193 < "RETR verifiedserver" 05:45:49.251242 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:49.251355 =====> Closing passive DATA connection... 05:45:49.251376 Server disconnects passive DATA connection 05:45:49.251617 Server disconnected passive DATA connection 05:45:49.251652 DATA sockfilt for passive data channel quits (pid 82072) 05:45:49.251906 DATA sockfilt for passive data channel quit (pid 82072) 05:45:49.251938 =====> Closed passive DATA connection 05:45:49.251970 > "226 File transfer complete[CR][LF]" 05:45:49.301733 < "QUIT" 05:45:49.301802 > "221 bye bye baby[CR][LF]" 05:45:49.303093 MAIN sockfilt said DISC 05:45:49.303134 ====> Client disconnected 05:45:49.312293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:49.693685 ====> Client connect 05:45:49.694006 Received DATA (on stdin) 05:45:49.694020 > 146 bytes data, server => client 05:45:49.694032 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:49.694043 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:49.694052 '220 \___|\___/|_| \_\_____|\r\n' 05:45:49.700347 < 16 bytes data, client => server 05:45:49.700381 'USER anonymous\r\n' 05:45:49.700658 Received DATA (on stdin) 05:45:49.700671 > 33 bytes data, server => client 05:45:49.700682 '331 We are happy you popped in!\r\n' 05:45:49.700777 < 22 bytes data, client => server 05:45:49.700791 'PASS ftp@example.com\r\n' 05:45:49.700908 Received DATA (on stdin) 05:45:49.700920 > 30 bytes data, server => client 05:45:49.700930 '230 Welcome you silly person\r\n' 05:45:49.700980 < 5 bytes data, client => server 05:45:49.700991 'PWD\r\n' 05:45:49.701105 Received DATA (on stdin) 05:45:49.701116 > 30 bytes data, server => client 05:45:49.701127 '257 "/" is current directory\r\n' 05:45:49.701189 < 6 bytes data, client => server 05:45:49.701202 'EPSV\r\n' 05:45:49.711660 Received DATA (on stdin) 05:45:49.711685 > 39 bytes data, server => client 05:45:49.711698 '229 Entering Passive Mode (|||40019|)\r\n' 05:45:49.712036 < 8 bytes data, client => server 05:45:49.712049 'TYPE I\r\n' 05:45:49.712228 Received DATA (on stdin) 05:45:49.712243 > 33 bytes data, server => client 05:45:49.712255 '200 I modify TYPE as you wanted\r\n' 05:45:49.712316 < 21 bytes data, client => server 05:45:49.712332 'SIZE verifiedserver\r\n' 05:45:49.712472 Received DATA (on stdin) 05:45:49.712485 > 8 bytes data, server => client 05:45:49.712495 '213 17\r\n' 05:45:49.712552 < 21 bytes data, client => server 05:45:49.712567 'RETR verifiedserver\r\n' 05:45:49.712934 Received DATA (on stdin) 05:45:49.712947 > 29 bytes data, server => client 05:45:49.712957 '150 BinarCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind115 ../src/curl -q --output log/8/curl115.out --include --trace-ascii log/8/trace115 --trace-time ftp://127.0.0.1:41333/115 > log/8/stdout115 2> log/8/stderr115 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind117 ../src/curl -q --output log/23/curl117.out --include --trace-ascii log/23/trace117 --trace-time ftp://127.0.0.1:40271/117 > log/23/stdout117 2> log/23/stderr117 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind116 ../src/curl -q --output log/5/curl116.out --include --trace-ascii log/5/trace116 --trace-time ftp://127.0.0.1:39947/116 -P 1.2.3.4 > log/5/stdout116 2> log/5/stderr116 y junk (17 bytes).\r\n' 05:45:49.713443 Received DATA (on stdin) 05:45:49.713456 > 28 bytes data, server => client 05:45:49.713466 '226 File transfer complete\r\n' 05:45:49.763009 < 6 bytes data, client => server 05:45:49.763037 'QUIT\r\n' 05:45:49.763284 Received DATA (on stdin) 05:45:49.763299 > 18 bytes data, server => client 05:45:49.763310 '221 bye bye baby\r\n' 05:45:49.763678 ====> Client disconnect 05:45:49.765071 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:49.707917 Running IPv4 version 05:45:49.708017 Listening on port 40019 05:45:49.708060 Wrote pid 82072 to log/16/server/ftp_sockdata.pid 05:45:49.710839 Received PING (on stdin) 05:45:49.710981 Received PORT (on stdin) 05:45:49.711920 ====> Client connect 05:45:49.712845 Received DATA (on stdin) 05:45:49.712857 > 17 bytes data, server => client 05:45:49.712868 'WE ROOLZ: 80884\r\n' 05:45:49.712895 Received DISC (on stdin) 05:45:49.712908 ====> Client forcibly disconnected 05:45:49.713131 Received QUIT (on stdin) 05:45:49.713144 quits 05:45:49.713211 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 124 === End of file server.cmd === Start of file valgrind124 ==82129== ==82129== Process terminating with default action of signal 4 (SIGILL) ==82129== Illegal opcode at address 0x4014883 ==82129== at 0x4014883: getparameter (tool_getparam.c:2899) ==82129== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82129== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82129== by 0x4004208: main (tool_main.c:189) === End of file valgrind124 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/ftp_server.pid" --logfile "log/8/ftp_server.log" --logdir "log/8" --portfile "log/8/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41333 (log/8/server/ftp_server.port) RUN: FTP server is PID 81360 port 41333 * pid ftp => 81360 81360 test 0115...[FTP download, failed PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind115 ../src/curl -q --output log/8/curl115.out --include --trace-ascii log/8/trace115 --trace-time ftp://127.0.0.1:41333/115 > log/8/stdout115 2> log/8/stderr115 115: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind115 ../src/curl -q --output log/8/curl115.out --include --trace-ascii log/8/trace115 --trace-time ftp://127.0.0.1:41333/115 > log/8/stdout115 2> log/8/stderr115 === End of file commands.log === Start of file ftp_server.log 05:45:48.077014 FTP server listens on port IPv4/41333 05:45:48.077122 logged pid 81360 in log/8/server/ftp_server.pid 05:45:48.078951 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.537995 Running IPv4 version 05:45:48.538081 Listening on port 41333 05:45:48.538122 Wrote pid 81378 to log/8/server/ftp_sockctrl.pid 05:45:48.538152 Wrote port 41333 to log/8/server/ftp_server.port 05:45:48.538356 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASV 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 115 === End of file server.cmd === Start of file valgrind115 ==81924== ==81924== Process terminating with default action of signal 4 (SIGILL) ==81924== Illegal opcode at address 0x4014883 ==81924== at 0x4014883: getparameter (tool_getparam.c:2899) ==81924== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81924== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81924== by 0x4004208: main (tool_main.c:189) === End of file valgrind115 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/ftp_server.pid" --logfile "log/5/ftp_server.log" --logdir "log/5" --portfile "log/5/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39947 (log/5/server/ftp_server.port) RUN: FTP server is PID 81382 port 39947 * pid ftp => 81382 81382 test 0116...[FTP download, failed PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind116 ../src/curl -q --output log/5/curl116.out --include --trace-ascii log/5/trace116 --trace-time ftp://127.0.0.1:39947/116 -P 1.2.3.4 > log/5/stdout116 2> log/5/stderr116 116: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind116 ../src/curl -q --output log/5/curl116.out --include --trace-ascii log/5/trace116 --trace-time ftp://127.0.0.1:39947/116 -P 1.2.3.4 > log/5/stdout116 2> log/5/stderr116 === End of file commands.log === Start of file ftp_server.log 05:45:48.146777 FTP server listens on port IPv4/39947 05:45:48.146894 logged pid 81382 in log/5/server/ftp_server.pid 05:45:48.146937 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.603623 Running IPv4 version 05:45:48.603745 Listening on port 39947 05:45:48.603792 Wrote pid 81398 to log/5/server/ftp_sockctrl.pid 05:45:48.603824 Wrote port 39947 to log/5/server/ftp_server.port 05:45:48.608113 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now REPLY PORT 314 bluah you f00l Testnum 116 === End of file server.cmd === Start of file valgrind116 ==81958== ==81958== Process terminating with default action of signal 4 (SIGILL) ==81958== Illegal opcode at address 0x4014883 ==81958== at 0x4014883: getparameter (tool_getparam.c:2899) ==81958== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==81958== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==81958== by 0x4004208: main (tool_main.c:189) === End of file valgrind116 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_server.pid" --logfile "log/23/ftp_server.log" --logdir "log/23" --portfile "log/23/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40271 (log/23/server/ftp_server.port) RUN: FTP server is PID 81405 port 40271 * pid ftp => 81405 81405 test 0117...[FTP download, failed TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind117 ../src/curl -q --output log/23/curl117.out --include --trace-ascii log/23/trace117 --trace-time ftp://127.0.0.1:40271/117 > log/23/stdout117 2> log/23/stderr117 117: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 117 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind117 ../src/curl -q --output log/23/curl117.out --include --trace-ascii log/23/trace117 --trace-time ftp://127.0.0.1:40271/117 > log/23/stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind120 ../src/curl -q --output log/24/curl120.out --include --trace-ascii log/24/trace120 --trace-time ftp://127.0.0.1:38499/120 -Q "-DELE file" > log/24/stdout120 2> log/24/stderr120 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind125 ../src/curl -q --output log/9/curl125.out --include --trace-ascii log/9/trace125 --trace-time ftp://127.0.0.1:39835/path/to/file/125 > log/9/stdout125 2> log/9/stderr125 out117 2> log/23/stderr117 === End of file commands.log === Start of file ftp_server.log 05:45:48.282380 FTP server listens on port IPv4/40271 05:45:48.282523 logged pid 81405 in log/23/server/ftp_server.pid 05:45:48.282565 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.739564 Running IPv4 version 05:45:48.739650 Listening on port 40271 05:45:48.739687 Wrote pid 81462 to log/23/server/ftp_sockctrl.pid 05:45:48.739715 Wrote port 40271 to log/23/server/ftp_server.port 05:45:48.743673 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l REPLY TYPE 314 bluah you f00l Testnum 117 === End of file server.cmd === Start of file valgrind117 ==82024== ==82024== Process terminating with default action of signal 4 (SIGILL) ==82024== Illegal opcode at address 0x4014883 ==82024== at 0x4014883: getparameter (tool_getparam.c:2899) ==82024== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82024== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82024== by 0x4004208: main (tool_main.c:189) === End of file valgrind117 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_server.pid" --logfile "log/24/ftp_server.log" --logdir "log/24" --portfile "log/24/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38499 (log/24/server/ftp_server.port) RUN: FTP server is PID 81530 port 38499 * pid ftp => 81530 81530 test 0120...[ftp download with post-quote delete operation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind120 ../src/curl -q --output log/24/curl120.out --include --trace-ascii log/24/trace120 --trace-time ftp://127.0.0.1:38499/120 -Q "-DELE file" > log/24/stdout120 2> log/24/stderr120 120: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind120 ../src/curl -q --output log/24/curl120.out --include --trace-ascii log/24/trace120 --trace-time ftp://127.0.0.1:38499/120 -Q "-DELE file" > log/24/stdout120 2> log/24/stderr120 === End of file commands.log === Start of file ftp_server.log 05:45:48.525702 FTP server listens on port IPv4/38499 05:45:48.525843 logged pid 81530 in log/24/server/ftp_server.pid 05:45:48.525885 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.981587 Running IPv4 version 05:45:48.981699 Listening on port 38499 05:45:48.981744 Wrote pid 81589 to log/24/server/ftp_sockctrl.pid 05:45:48.981777 Wrote port 38499 to log/24/server/ftp_server.port 05:45:48.987013 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l Testnum 120 === End of file server.cmd === Start of file valgrind120 ==82296== ==82296== Process terminating with default action of signal 4 (SIGILL) ==82296== Illegal opcode at address 0x4014883 ==82296== at 0x4014883: getparameter (tool_getparam.c:2899) ==82296== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82296== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82296== by 0x4004208: main (tool_main.c:189) === End of file valgrind120 test 0125...[FTP download, failed CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind125 ../src/curl -q --output log/9/curl125.out --include --trace-ascii log/9/trace125 --trace-time ftp://127.0.0.1:39835/path/to/file/125 > log/9/stdout125 2> log/9/stderr125 125: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind125 ../src/curl -q --output log/9/curl125.out --include --trace-ascii log/9/trace125 --trace-time ftp://127.0.0.1:39835/path/to/file/125 > log/9/stdout125 2> log/9/stderr125 === End of file commands.log === Start of file ftp_server.log 05:45:49.453047 ====> Client connect 05:45:49.453240 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:49.453580 < "USER anonymous" 05:45:49.453622 > "331 We are happy you popped in![CR][LF]" 05:45:49.463667 < "PASS ftp@example.com" 05:45:49.463718 > "230 Welcome you silly person[CR][LF]" 05:45:49.463926 < "PWD" 05:45:49.463956 > "257 "/" is current directory[CR][LF]" 05:45:49.464098 < "EPSV" 05:45:49.464125 ====> Passive DATA channel requested by client 05:45:49.464140 DATA sockfilt for passive data channel starting... 05:45:49.472282 DATA sockfilt for passive data channel started (pid 82292) 05:45:49.472415 DATA sockfilt for passive data channel listens on port 40047 05:45:49.472469 > "229 Entering Passive Mode (|||40047|)[CR][LF]" 05:45:49.472486 Client has been notified that DATA conn will be accepted on port 40047 05:45:49.473250 Client connects to port 40047 05:45:49.473280 ====> Client established passive DATA connection on port 40047 05:45:49.473422 < "TYPE I" 05:45:49.473457 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:49.473596 < "SIZE verifiedserver" 05:45:49.473632 > "213 17[CR][LF]" 05:45:49.473759 < "RETR verifiedserver" 05:45:49.473788 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:49.473868 =====> Closing passive DATA connection... 05:45:49.473883 Server disconnects passive DATA connection 05:45:49.474085 Server disconnected passive DATA connection 05:45:49.474108 DATA sockfilt for passive data channel quits (pid 82292) 05:45:49.474352 DATA sockfilt for passive data channel quit (pid 82292) 05:45:49.474374 =====> Closed passive DATA connection 05:45:49.474398 > "226 File transfer complete[CR][LF]" 05:45:49.515947 < "QUIT" 05:45:49.516013 > "221 bye bye baby[CR][LF]" 05:45:49.517181 MAIN sockfilt said DISC 05:45:49.517219 ====> Client disconnected 05:45:49.517302 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.914422 ====> Client connect 05:45:48.914722 Received DATA (on stdin) 05:45:48.914738 > 146 bytes data, server => client 05:45:48.914751 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:48.914762 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:48.914772 '220 \___|\___/|_| \_\_____|\r\n' 05:45:48.914872 < 16 bytes data, client => server 05:45:48.914889 'USER anonymous\r\n' 05:45:48.915406 Received DATA (on stdin) 05:45:48.915420 > 33 bytes data, server => client 05:45:48.915431 '331 We are happy you popped in!\r\n' 05:45:48.923683 < 22 bytes data, client => server 05:45:48.923709 'PASS ftp@example.com\r\n' 05:45:48.925190 Received DATA (on stdin) 05:45:48.925203 > 30 bytes data, server => client 05:45:48.925212 '230 Welcome you silly person\r\n' 05:45:48.925312 < 5 bytes data, client => server 05:45:48.925323 'PWD\r\n' 05:45:48.925420 Received DATA (on stdin) 05:45:48.925430 > 30 bytes data, server => client 05:45:48.925439 '257 "/" is current directory\r\n' 05:45:48.925490 < 6 bytes data, client => server 05:45:48.925499 'EPSV\r\n' 05:45:48.933961 Received DATA (on stdin) 05:45:48.933979 > 39 bytes data, server => client 05:45:48.933990 '229 Entering Passive Mode (|||40047|)\r\n' 05:45:48.934774 < 8 bytes data, client => server 05:45:48.934785 'TYPE CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind119 ../src/curl -q --output log/4/curl119.out --include --trace-ascii log/4/trace119 --trace-time ftp://127.0.0.1:43777/119 -P - > log/4/stdout119 2> log/4/stderr119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind118 ../src/curl -q --output log/13/curl118.out --include --trace-ascii log/13/trace118 --trace-time ftp://127.0.0.1:46845/118 > log/13/stdout118 2> log/13/stderr118 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind127 ../src/curl -q --output log/20/curl127.out --include --trace-ascii log/20/trace127 --trace-time ftp://127.0.0.1:43013/path/to/file/127 --disable-epsv > log/20/stdout127 2> log/20/stderr127 I\r\n' 05:45:48.934922 Received DATA (on stdin) 05:45:48.934932 > 33 bytes data, server => client 05:45:48.934941 '200 I modify TYPE as you wanted\r\n' 05:45:48.934985 < 21 bytes data, client => server 05:45:48.934994 'SIZE verifiedserver\r\n' 05:45:48.935094 Received DATA (on stdin) 05:45:48.935104 > 8 bytes data, server => client 05:45:48.935113 '213 17\r\n' 05:45:48.935152 < 21 bytes data, client => server 05:45:48.935161 'RETR verifiedserver\r\n' 05:45:48.935422 Received DATA (on stdin) 05:45:48.935432 > 29 bytes data, server => client 05:45:48.935442 '150 Binary junk (17 bytes).\r\n' 05:45:48.935861 Received DATA (on stdin) 05:45:48.935871 > 28 bytes data, server => client 05:45:48.935880 '226 File transfer complete\r\n' 05:45:48.977219 < 6 bytes data, client => server 05:45:48.977252 'QUIT\r\n' 05:45:48.977490 Received DATA (on stdin) 05:45:48.977504 > 18 bytes data, server => client 05:45:48.977514 '221 bye bye baby\r\n' 05:45:48.978586 ====> Client disconnect 05:45:48.978777 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:49.928081 Running IPv4 version 05:45:49.928145 Listening on port 40047 05:45:49.928183 Wrote pid 82292 to log/9/server/ftp_sockdata.pid 05:45:49.933666 Received PING (on stdin) 05:45:49.933785 Received PORT (on stdin) 05:45:49.934664 ====> Client connect 05:45:49.935347 Received DATA (on stdin) 05:45:49.935357 > 17 bytes data, server => client 05:45:49.935366 'WE ROOLZ: 81042\r\n' 05:45:49.935390 Received DISC (on stdin) 05:45:49.935400 ====> Client forcibly disconnected 05:45:49.935578 Received QUIT (on stdin) 05:45:49.935588 quits 05:45:49.935648 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 314 bluah you f00l Testnum 125 === End of file server.cmd === Start of file valgrind125 ==82381== ==82381== Process terminating with default action of signal 4 (SIGILL) ==82381== Illegal opcode at address 0x4014883 ==82381== at 0x4014883: getparameter (tool_getparam.c:2899) ==82381== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82381== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82381== by 0x4004208: main (tool_main.c:189) === End of file valgrind125 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/ftp_server.pid" --logfile "log/4/ftp_server.log" --logdir "log/4" --portfile "log/4/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43777 (log/4/server/ftp_server.port) RUN: FTP server is PID 81463 port 43777 * pid ftp => 81463 81463 test 0119...[FTP download, failed RETR with PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind119 ../src/curl -q --output log/4/curl119.out --include --trace-ascii log/4/trace119 --trace-time ftp://127.0.0.1:43777/119 -P - > log/4/stdout119 2> log/4/stderr119 119: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 119 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind119 ../src/curl -q --output log/4/curl119.out --include --trace-ascii log/4/trace119 --trace-time ftp://127.0.0.1:43777/119 -P - > log/4/stdout119 2> log/4/stderr119 === End of file commands.log === Start of file ftp_server.log 05:45:48.323968 FTP server listens on port IPv4/43777 05:45:48.324065 logged pid 81463 in log/4/server/ftp_server.pid 05:45:48.324102 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.784935 Running IPv4 version 05:45:48.785036 Listening on port 43777 05:45:48.785080 Wrote pid 81482 to log/4/server/ftp_sockctrl.pid 05:45:48.785115 Wrote port 43777 to log/4/server/ftp_server.port 05:45:48.785319 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 119 === End of file server.cmd === Start of file valgrind119 ==82115== ==82115== Process terminating with default action of signal 4 (SIGILL) ==82115== Illegal opcode at address 0x4014883 ==82115== at 0x4014883: getparameter (tool_getparam.c:2899) ==82115== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82115== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82115== by 0x4004208: main (tool_main.c:189) === End of file valgrind119 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_server.pid" --logfile "log/13/ftp_server.log" --logdir "log/13" --portfile "log/13/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46845 (log/13/server/ftp_server.port) RUN: FTP server is PID 81411 port 46845 * pid ftp => 81411 81411 test 0118...[FTP download, failed RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind118 ../src/curl -q --output log/13/curl118.out --include --trace-ascii log/13/trace118 --trace-time ftp://127.0.0.1:46845/118 > log/13/stdout118 2> log/13/stderr118 118: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind118 ../src/curl -q --output log/13/curl118.out --include --trace-ascii log/13/trace118 --trace-time ftp://127.0.0.1:46845/118 > log/13/stdout118 2> log/13/stderr118 === End of file commands.log === Start of file ftp_server.log 05:45:48.251152 FTP server listens on port IPv4/46845 05:45:48.251252 logged pid 81411 in log/13/server/ftp_server.pid 05:45:48.251283 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.711611 Running IPv4 version 05:45:48.711710 Listening on port 46845 05:45:48.711751 Wrote pid 81447 to log/13/server/ftp_sockctrl.pid 05:45:48.711782 Wrote port 46845 to log/13/server/ftp_server.port 05:45:48.712513 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY EPSV 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 118 === End of file server.cmd === Start of file valgrind118 ==82064== ==82064== Process terminating with default action of signal 4 (SIGILL) ==82064== Illegal opcode at address 0x4014883 ==82064== at 0x4014883: getparameter (tool_getparam.c:2899) ==82064== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82064== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82064== by 0x4004208: main (tool_main.c:189) === End of file valgrind118 test 0127...[FTP --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind127 ../src/curl -q --output log/20/curl127.out --include --trace-ascii log/20/trace127 --trace-time ftp://127.0.0.1:43013/path/to/file/127 --disable-epsv > log/20/stdout127 2> log/20/stderr127 127: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/vaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind122 ../src/curl -q --output log/1/curl122.out --include --trace-ascii log/1/trace122 --trace-time ftp://127.0.0.1:41623/122 -C 5 > log/1/stdout122 2> log/1/stderr122 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind126 ../src/curl -q --output log/14/curl126.out --include --trace-ascii log/14/trace126 --trace-time ftp://127.0.0.1:46299/blalbla/lululul/126 > log/14/stdout126 2> log/14/stderr126 lgrind.supp --num-callers=16 --log-file=log/20/valgrind127 ../src/curl -q --output log/20/curl127.out --include --trace-ascii log/20/trace127 --trace-time ftp://127.0.0.1:43013/path/to/file/127 --disable-epsv > log/20/stdout127 2> log/20/stderr127 === End of file commands.log === Start of file ftp_server.log 05:45:49.532449 ====> Client connect 05:45:49.532660 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:49.533028 < "USER anonymous" 05:45:49.533078 > "331 We are happy you popped in![CR][LF]" 05:45:49.533277 < "PASS ftp@example.com" 05:45:49.533313 > "230 Welcome you silly person[CR][LF]" 05:45:49.533502 < "PWD" 05:45:49.533543 > "257 "/" is current directory[CR][LF]" 05:45:49.533746 < "EPSV" 05:45:49.533780 ====> Passive DATA channel requested by client 05:45:49.533798 DATA sockfilt for passive data channel starting... 05:45:49.535760 DATA sockfilt for passive data channel started (pid 82361) 05:45:49.535890 DATA sockfilt for passive data channel listens on port 33749 05:45:49.535944 > "229 Entering Passive Mode (|||33749|)[CR][LF]" 05:45:49.535962 Client has been notified that DATA conn will be accepted on port 33749 05:45:49.536218 Client connects to port 33749 05:45:49.536254 ====> Client established passive DATA connection on port 33749 05:45:49.536346 < "TYPE I" 05:45:49.536385 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:49.536582 < "SIZE verifiedserver" 05:45:49.536629 > "213 17[CR][LF]" 05:45:49.537149 < "RETR verifiedserver" 05:45:49.537192 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:49.537297 =====> Closing passive DATA connection... 05:45:49.537323 Server disconnects passive DATA connection 05:45:49.537582 Server disconnected passive DATA connection 05:45:49.537616 DATA sockfilt for passive data channel quits (pid 82361) 05:45:49.537889 DATA sockfilt for passive data channel quit (pid 82361) 05:45:49.537921 =====> Closed passive DATA connection 05:45:49.537956 > "226 File transfer complete[CR][LF]" 05:45:49.582566 < "QUIT" 05:45:49.582629 > "221 bye bye baby[CR][LF]" 05:45:49.583747 MAIN sockfilt said DISC 05:45:49.583780 ====> Client disconnected 05:45:49.583869 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.993750 ====> Client connect 05:45:48.994150 Received DATA (on stdin) 05:45:48.994168 > 146 bytes data, server => client 05:45:48.994180 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:48.994192 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:48.994202 '220 \___|\___/|_| \_\_____|\r\n' 05:45:48.994290 < 16 bytes data, client => server 05:45:48.994308 'USER anonymous\r\n' 05:45:48.994555 Received DATA (on stdin) 05:45:48.994568 > 33 bytes data, server => client 05:45:48.994579 '331 We are happy you popped in!\r\n' 05:45:48.994637 < 22 bytes data, client => server 05:45:48.994653 'PASS ftp@example.com\r\n' 05:45:48.994786 Received DATA (on stdin) 05:45:48.994800 > 30 bytes data, server => client 05:45:48.994810 '230 Welcome you silly person\r\n' 05:45:48.994865 < 5 bytes data, client => server 05:45:48.994880 'PWD\r\n' 05:45:48.995015 Received DATA (on stdin) 05:45:48.995029 > 30 bytes data, server => client 05:45:48.995040 '257 "/" is current directory\r\n' 05:45:48.995107 < 6 bytes data, client => server 05:45:48.995123 'EPSV\r\n' 05:45:48.997435 Received DATA (on stdin) 05:45:48.997449 > 39 bytes data, server => client 05:45:48.997460 '229 Entering Passive Mode (|||33749|)\r\n' 05:45:48.997593 < 8 bytes data, client => server 05:45:48.997611 'TYPE I\r\n' 05:45:48.997858 Received DATA (on stdin) 05:45:48.997873 > 33 bytes data, server => client 05:45:48.997884 '200 I modify TYPE as you wanted\r\n' 05:45:48.997943 < 21 bytes data, client => server 05:45:48.997960 'SIZE verifiedserver\r\n' 05:45:48.998104 Received DATA (on stdin) 05:45:48.998118 > 8 bytes data, server => client 05:45:48.998129 '213 17\r\n' 05:45:48.998507 < 21 bytes data, client => server 05:45:48.998526 'RETR verifiedserver\r\n' 05:45:48.998795 Received DATA (on stdin) 05:45:48.998809 > 29 bytes data, server => client 05:45:48.998819 '150 Binary junk (17 bytes).\r\n' 05:45:48.999428 Received DATA (on stdin) 05:45:48.999442 > 28 bytes data, server => client 05:45:48.999453 '226 File transfer complete\r\n' 05:45:49.043819 < 6 bytes data, client => server 05:45:49.043858 'QUIT\r\n' 05:45:49.044100 Received DATA (on stdin) 05:45:49.044113 > 18 bytes data, server => client 05:45:49.044124 '221 bye bye baby\r\n' 05:45:49.045152 ====> Client disconnect 05:45:49.045343 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:49.996869 Running IPv4 version 05:45:49.996949 Listening on port 33749 05:45:49.997011 Wrote pid 82361 to log/20/server/ftp_sockdata.pid 05:45:49.997161 Received PING (on stdin) 05:45:49.997264 Received PORT (on stdin) 05:45:49.997634 ====> Client connect 05:45:49.998850 Received DATA (on stdin) 05:45:49.998865 > 17 bytes data, server => client 05:45:49.998876 'WE ROOLZ: 81041\r\n' 05:45:49.998903 Received DISC (on stdin) 05:45:49.998917 ====> Client forcibly disconnected 05:45:49.999095 Received QUIT (on stdin) 05:45:49.999108 quits 05:45:49.999170 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==82444== ==82444== Process terminating with default action of signal 4 (SIGILL) ==82444== Illegal opcode at address 0x4014883 ==82444== at 0x4014883: getparameter (tool_getparam.c:2899) ==82444== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82444== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82444== by 0x4004208: main (tool_main.c:189) === End of file valgrind127 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_server.pid" --logfile "log/1/ftp_server.log" --logdir "log/1" --portfile "log/1/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41623 (log/1/server/ftp_server.port) RUN: FTP server is PID 81663 port 41623 * pid ftp => 81663 81663 test 0122...[FTP download resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind122 ../src/curl -q --output log/1/curl122.out --include --trace-ascii log/1/trace122 --trace-time ftp://127.0.0.1:41623/122 -C 5 > log/1/stdout122 2> log/1/stderr122 122: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind122 ../src/curl -q --output log/1/curl122.out --include --trace-ascii log/1/trace122 --trace-time ftp://127.0.0.1:41623/122 -C 5 > log/1/stdout122 2> log/1/stderr122 === End of file commands.log === Start of file ftp_server.log 05:45:48.648755 FTP server listens on port IPv4/41623 05:45:48.648895 logged pid 81663 in log/1/server/ftp_server.pid 05:45:48.648936 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.107915 Running IPv4 version 05:45:48.108017 Listening on port 41623 05:45:48.108059 Wrote pid 81705 to log/1/server/ftp_sockctrl.pid 05:45:48.108091 Wrote port 41623 to log/1/server/ftp_server.port 05:45:48.110085 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 122 === End of file server.cmd === Start of file valgrind122 ==82480== ==82480== Process terminating with default action of signal 4 (SIGCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind129 ../src/curl -q --output log/12/curl129.out --include --trace-ascii log/12/trace129 --trace-time http://127.0.0.1:36353/129 > log/12/stdout129 2> log/12/stderr129 ILL) ==82480== Illegal opcode at address 0x4014883 ==82480== at 0x4014883: getparameter (tool_getparam.c:2899) ==82480== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82480== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82480== by 0x4004208: main (tool_main.c:189) === End of file valgrind122 test 0126...[FTP download with multiple replies at once in RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind126 ../src/curl -q --output log/14/curl126.out --include --trace-ascii log/14/trace126 --trace-time ftp://127.0.0.1:46299/blalbla/lululul/126 > log/14/stdout126 2> log/14/stderr126 126: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind126 ../src/curl -q --output log/14/curl126.out --include --trace-ascii log/14/trace126 --trace-time ftp://127.0.0.1:46299/blalbla/lululul/126 > log/14/stdout126 2> log/14/stderr126 === End of file commands.log === Start of file ftp_server.log 05:45:49.446414 ====> Client connect 05:45:49.446619 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:49.446956 < "USER anonymous" 05:45:49.446996 > "331 We are happy you popped in![CR][LF]" 05:45:49.447182 < "PASS ftp@example.com" 05:45:49.447214 > "230 Welcome you silly person[CR][LF]" 05:45:49.447390 < "PWD" 05:45:49.447428 > "257 "/" is current directory[CR][LF]" 05:45:49.447616 < "EPSV" 05:45:49.447651 ====> Passive DATA channel requested by client 05:45:49.447669 DATA sockfilt for passive data channel starting... 05:45:49.453700 DATA sockfilt for passive data channel started (pid 82284) 05:45:49.453843 DATA sockfilt for passive data channel listens on port 40329 05:45:49.453906 > "229 Entering Passive Mode (|||40329|)[CR][LF]" 05:45:49.453931 Client has been notified that DATA conn will be accepted on port 40329 05:45:49.454220 Client connects to port 40329 05:45:49.454256 ====> Client established passive DATA connection on port 40329 05:45:49.454410 < "TYPE I" 05:45:49.454451 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:49.454630 < "SIZE verifiedserver" 05:45:49.454676 > "213 17[CR][LF]" 05:45:49.454852 < "RETR verifiedserver" 05:45:49.454891 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:49.454981 =====> Closing passive DATA connection... 05:45:49.455006 Server disconnects passive DATA connection 05:45:49.455132 Server disconnected passive DATA connection 05:45:49.455164 DATA sockfilt for passive data channel quits (pid 82284) 05:45:49.455400 DATA sockfilt for passive data channel quit (pid 82284) 05:45:49.455429 =====> Closed passive DATA connection 05:45:49.455456 > "226 File transfer complete[CR][LF]" 05:45:49.502677 < "QUIT" 05:45:49.502746 > "221 bye bye baby[CR][LF]" 05:45:49.503827 MAIN sockfilt said DISC 05:45:49.503867 ====> Client disconnected 05:45:49.503958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.907753 ====> Client connect 05:45:48.908104 Received DATA (on stdin) 05:45:48.908121 > 146 bytes data, server => client 05:45:48.908134 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:48.908145 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:48.908155 '220 \___|\___/|_| \_\_____|\r\n' 05:45:48.908241 < 16 bytes data, client => server 05:45:48.908257 'USER anonymous\r\n' 05:45:48.908466 Received DATA (on stdin) 05:45:48.908478 > 33 bytes data, server => client 05:45:48.908489 '331 We are happy you popped in!\r\n' 05:45:48.908546 < 22 bytes data, client => server 05:45:48.908559 'PASS ftp@example.com\r\n' 05:45:48.908683 Received DATA (on stdin) 05:45:48.908696 > 30 bytes data, server => client 05:45:48.908708 '230 Welcome you silly person\r\n' 05:45:48.908762 < 5 bytes data, client => server 05:45:48.908774 'PWD\r\n' 05:45:48.908897 Received DATA (on stdin) 05:45:48.908909 > 30 bytes data, server => client 05:45:48.908920 '257 "/" is current directory\r\n' 05:45:48.908985 < 6 bytes data, client => server 05:45:48.908999 'EPSV\r\n' 05:45:48.915463 Received DATA (on stdin) 05:45:48.915481 > 39 bytes data, server => client 05:45:48.915493 '229 Entering Passive Mode (|||40329|)\r\n' 05:45:48.915752 < 8 bytes data, client => server 05:45:48.915768 'TYPE I\r\n' 05:45:48.915922 Received DATA (on stdin) 05:45:48.915935 > 33 bytes data, server => client 05:45:48.915946 '200 I modify TYPE as you wanted\r\n' 05:45:48.916002 < 21 bytes data, client => server 05:45:48.916015 'SIZE verifiedserver\r\n' 05:45:48.916149 Received DATA (on stdin) 05:45:48.916162 > 8 bytes data, server => client 05:45:48.916172 '213 17\r\n' 05:45:48.916227 < 21 bytes data, client => server 05:45:48.916241 'RETR verifiedserver\r\n' 05:45:48.916928 Received DATA (on stdin) 05:45:48.916942 > 29 bytes data, server => client 05:45:48.916953 '150 Binary junk (17 bytes).\r\n' 05:45:48.916975 Received DATA (on stdin) 05:45:48.916987 > 28 bytes data, server => client 05:45:48.917007 '226 File transfer complete\r\n' 05:45:48.963930 < 6 bytes data, client => server 05:45:48.963962 'QUIT\r\n' 05:45:48.964223 Received DATA (on stdin) 05:45:48.964237 > 18 bytes data, server => client 05:45:48.964248 '221 bye bye baby\r\n' 05:45:48.965227 ====> Client disconnect 05:45:48.965437 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:49.914274 Running IPv4 version 05:45:49.914347 Listening on port 40329 05:45:49.914386 Wrote pid 82284 to log/14/server/ftp_sockdata.pid 05:45:49.915098 Received PING (on stdin) 05:45:49.915208 Received PORT (on stdin) 05:45:49.915631 ====> Client connect 05:45:49.916477 Received DATA (on stdin) 05:45:49.916491 > 17 bytes data, server => client 05:45:49.916501 'WE ROOLZ: 81045\r\n' 05:45:49.916529 Received DISC (on stdin) 05:45:49.916543 ====> Client forcibly disconnected 05:45:49.916644 Received QUIT (on stdin) 05:45:49.916658 quits 05:45:49.916726 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRWEIRDO Testnum 126 === End of file server.cmd === Start of file valgrind126 ==82335== ==82335== Process terminating with default action of signal 4 (SIGILL) ==82335== Illegal opcode at address 0x4014883 ==82335== at 0x4014883: getparameter (tool_getparam.c:2899) ==82335== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82335== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82335== by 0x4004208: main (tool_main.c:189) === End of file valgrind126 test 0129...[HTTP/1.2 is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind129 ../src/curl -q --output log/12/curl129.out --include --trace-ascii log/12/trace129 --trace-time http://127.0.0.1:36353/129 > log/12/stdout129 2> log/12/stderr129 129: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 129 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind129 ../src/curl -q --output log/12/curl129.out --include --trace-ascii log/12/trace129 --trace-time http://127.0.0.1:36353/129 > log/12/stdout129 2> log/12/stderr129 === End of file commands.log === Start of file http_server.log 05:45:50.604850 ====> Client connect 05:45:50.604882 acCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind121 ../src/curl -q --output log/21/curl121.out --include --trace-ascii log/21/trace121 --trace-time ftp://127.0.0.1:34063/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/21/stdout121 2> log/21/stderr121 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind128 ../src/curl -q --output log/10/curl128.out --include --trace-ascii log/10/trace128 --trace-time ftp://127.0.0.1:32809/128 -T log/10/upload128 --crlf > log/10/stdout128 2> log/10/stderr128 cept_connection 3 returned 4 05:45:50.604899 accept_connection 3 returned 0 05:45:50.604913 Read 93 bytes 05:45:50.604923 Process 93 bytes request 05:45:50.604936 Got request: GET /verifiedserver HTTP/1.1 05:45:50.604945 Are-we-friendly question received 05:45:50.604969 Wrote request (93 bytes) input to log/12/server.input 05:45:50.604985 Identifying ourselves as friends 05:45:50.605042 Response sent (56 bytes) and written to log/12/server.response 05:45:50.605052 special request received, no persistency 05:45:50.605060 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 54496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind129 ==82729== ==82729== Process terminating with default action of signal 4 (SIGILL) ==82729== Illegal opcode at address 0x4014883 ==82729== at 0x4014883: getparameter (tool_getparam.c:2899) ==82729== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82729== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82729== by 0x4004208: main (tool_main.c:189) === End of file valgrind129 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/ftp_server.pid" --logfile "log/21/ftp_server.log" --logdir "log/21" --portfile "log/21/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34063 (log/21/server/ftp_server.port) RUN: FTP server is PID 81542 port 34063 * pid ftp => 81542 81542 test 0121...[ftp download with post- and pre-transfer delete operations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind121 ../src/curl -q --output log/21/curl121.out --include --trace-ascii log/21/trace121 --trace-time ftp://127.0.0.1:34063/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/21/stdout121 2> log/21/stderr121 121: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind121 ../src/curl -q --output log/21/curl121.out --include --trace-ascii log/21/trace121 --trace-time ftp://127.0.0.1:34063/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/21/stdout121 2> log/21/stderr121 === End of file commands.log === Start of file ftp_server.log 05:45:48.537759 FTP server listens on port IPv4/34063 05:45:48.537853 logged pid 81542 in log/21/server/ftp_server.pid 05:45:48.537886 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:48.998106 Running IPv4 version 05:45:48.998218 Listening on port 34063 05:45:48.999059 Wrote pid 81596 to log/21/server/ftp_sockctrl.pid 05:45:48.999100 Wrote port 34063 to log/21/server/ftp_server.port 05:45:48.999121 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 121 === End of file server.cmd === Start of file valgrind121 ==82293== ==82293== Process terminating with default action of signal 4 (SIGILL) ==82293== Illegal opcode at address 0x4014883 ==82293== at 0x4014883: getparameter (tool_getparam.c:2899) ==82293== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82293== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82293== by 0x4004208: main (tool_main.c:189) === End of file valgrind121 test 0128...[FTP upload with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind128 ../src/curl -q --output log/10/curl128.out --include --trace-ascii log/10/trace128 --trace-time ftp://127.0.0.1:32809/128 -T log/10/upload128 --crlf > log/10/stdout128 2> log/10/stderr128 128: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 128 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind128 ../src/curl -q --output log/10/curl128.out --include --trace-ascii log/10/trace128 --trace-time ftp://127.0.0.1:32809/128 -T log/10/upload128 --crlf > log/10/stdout128 2> log/10/stderr128 === End of file commands.log === Start of file ftp_server.log 05:45:49.805708 ====> Client connect 05:45:49.805904 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:49.815315 < "USER anonymous" 05:45:49.815369 > "331 We are happy you popped in![CR][LF]" 05:45:49.822472 < "PASS ftp@example.com" 05:45:49.822545 > "230 Welcome you silly person[CR][LF]" 05:45:49.822791 < "PWD" 05:45:49.822826 > "257 "/" is current directory[CR][LF]" 05:45:49.822997 < "EPSV" 05:45:49.823027 ====> Passive DATA channel requested by client 05:45:49.823041 DATA sockfilt for passive data channel starting... 05:45:49.835661 DATA sockfilt for passive data channel started (pid 82624) 05:45:49.835872 DATA sockfilt for passive data channel listens on port 45343 05:45:49.835940 > "229 Entering Passive Mode (|||45343|)[CR][LF]" 05:45:49.835965 Client has been notified that DATA conn will be accepted on port 45343 05:45:49.839249 Client connects to port 45343 05:45:49.839296 ====> Client established passive DATA connection on port 45343 05:45:49.839413 < "TYPE I" 05:45:49.839453 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:49.839606 < "SIZE verifiedserver" 05:45:49.839647 > "213 17[CR][LF]" 05:45:49.839792 < "RETR verifiedserver" 05:45:49.839828 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:49.839919 =====> Closing passive DATA connection... 05:45:49.839934 Server disconnects passive DATA connection 05:45:49.840118 Server disconnected passive DATA connection 05:45:49.840142 DATA sockfilt for passive data channel quits (pid 82624) 05:45:49.840485 DATA sockfilt for passive data channel quit (pid 82624) 05:45:49.840511 =====> Closed passive DATA connection 05:45:49.840540 > "226 File transfer complete[CR][LF]" 05:45:49.889105 < "QUIT" 05:45:49.889164 > "221 bye bye baby[CR][LF]" 05:45:49.890392 MAIN sockfilt said DISC 05:45:49.890423 ====> Client disconnected 05:45:49.890509 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.267017 ====> Client connect 05:45:50.267382 Received DATA (on stdin) 05:45:50.267395 > 146 bytes data, server => client 05:45:50.267407 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.267417 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.267425 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.276538 < 16 bytes data, client => server 05:45:50.276567 'USER anonymous\r\n' 05:45:50.276837 Received DATA (on stdin) 05:45:50.276849 > 33 bytes data, server => client 05:45:50.276861 '331 We are happy you popped in!\r\n' 05:45:50.276936 < 22 bytes data, client => server 05:45:50.276959 'PASS ftp@exaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind130 ../src/curl -q --output log/7/curl130.out --include --trace-ascii log/7/trace130 --trace-time --netrc-optional --netrc-file log/7/netrc130 ftp://127.0.0.1:44937/ > log/7/stdout130 2> log/7/stderr130 mple.com\r\n' 05:45:50.284025 Received DATA (on stdin) 05:45:50.284044 > 30 bytes data, server => client 05:45:50.284055 '230 Welcome you silly person\r\n' 05:45:50.284171 < 5 bytes data, client => server 05:45:50.284183 'PWD\r\n' 05:45:50.284291 Received DATA (on stdin) 05:45:50.284301 > 30 bytes data, server => client 05:45:50.284311 '257 "/" is current directory\r\n' 05:45:50.284379 < 6 bytes data, client => server 05:45:50.284390 'EPSV\r\n' 05:45:50.300344 Received DATA (on stdin) 05:45:50.300379 > 39 bytes data, server => client 05:45:50.300392 '229 Entering Passive Mode (|||45343|)\r\n' 05:45:50.300619 < 8 bytes data, client => server 05:45:50.300633 'TYPE I\r\n' 05:45:50.300922 Received DATA (on stdin) 05:45:50.300933 > 33 bytes data, server => client 05:45:50.300944 '200 I modify TYPE as you wanted\r\n' 05:45:50.300993 < 21 bytes data, client => server 05:45:50.301003 'SIZE verifiedserver\r\n' 05:45:50.301114 Received DATA (on stdin) 05:45:50.301124 > 8 bytes data, server => client 05:45:50.301134 '213 17\r\n' 05:45:50.301178 < 21 bytes data, client => server 05:45:50.301188 'RETR verifiedserver\r\n' 05:45:50.301400 Received DATA (on stdin) 05:45:50.301411 > 29 bytes data, server => client 05:45:50.301421 '150 Binary junk (17 bytes).\r\n' 05:45:50.302006 Received DATA (on stdin) 05:45:50.302018 > 28 bytes data, server => client 05:45:50.302029 '226 File transfer complete\r\n' 05:45:50.350354 < 6 bytes data, client => server 05:45:50.350398 'QUIT\r\n' 05:45:50.350632 Received DATA (on stdin) 05:45:50.350642 > 18 bytes data, server => client 05:45:50.350652 '221 bye bye baby\r\n' 05:45:50.351797 ====> Client disconnect 05:45:50.351975 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:49.291108 Running IPv4 version 05:45:49.291218 Listening on port 45343 05:45:49.291260 Wrote pid 82624 to log/10/server/ftp_sockdata.pid 05:45:49.297005 Received PING (on stdin) 05:45:49.297211 Received PORT (on stdin) 05:45:49.300658 ====> Client connect 05:45:49.301473 Received DATA (on stdin) 05:45:49.301485 > 17 bytes data, server => client 05:45:49.301495 'WE ROOLZ: 81057\r\n' 05:45:49.301520 Received DISC (on stdin) 05:45:49.301531 ====> Client forcibly disconnected 05:45:49.301664 Received QUIT (on stdin) 05:45:49.301676 quits 05:45:49.301754 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 128 === End of file server.cmd === Start of file upload128 file with Unix newlines meant to be converted with the --crlf option === End of file upload128 === Start of file valgrind128 ==82640== ==82640== Process terminating with default action of signal 4 (SIGILL) ==82640== Illegal opcode at address 0x4014883 ==82640== at 0x4014883: getparameter (tool_getparam.c:2899) ==82640== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82640== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82640== by 0x4004208: main (tool_main.c:189) === End of file valgrind128 test 0130...[FTP (optional .netrc; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind130 ../src/curl -q --output log/7/curl130.out --include --trace-ascii log/7/trace130 --trace-time --netrc-optional --netrc-file log/7/netrc130 ftp://127.0.0.1:44937/ > log/7/stdout130 2> log/7/stderr130 130: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 130 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind130 ../src/curl -q --output log/7/curl130.out --include --trace-ascii log/7/trace130 --trace-time --netrc-optional --netrc-file log/7/netrc130 ftp://127.0.0.1:44937/ > log/7/stdout130 2> log/7/stderr130 === End of file commands.log === Start of file ftp_server.log 05:45:50.189408 ====> Client connect 05:45:50.189622 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:50.190391 < "USER anonymous" 05:45:50.190431 > "331 We are happy you popped in![CR][LF]" 05:45:50.190595 < "PASS ftp@example.com" 05:45:50.190620 > "230 Welcome you silly person[CR][LF]" 05:45:50.190765 < "PWD" 05:45:50.190796 > "257 "/" is current directory[CR][LF]" 05:45:50.190956 < "EPSV" 05:45:50.190985 ====> Passive DATA channel requested by client 05:45:50.190999 DATA sockfilt for passive data channel starting... 05:45:50.198917 DATA sockfilt for passive data channel started (pid 82746) 05:45:50.199072 DATA sockfilt for passive data channel listens on port 34977 05:45:50.199126 > "229 Entering Passive Mode (|||34977|)[CR][LF]" 05:45:50.199142 Client has been notified that DATA conn will be accepted on port 34977 05:45:50.199425 Client connects to port 34977 05:45:50.199451 ====> Client established passive DATA connection on port 34977 05:45:50.199542 < "TYPE I" 05:45:50.199644 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:50.199795 < "SIZE verifiedserver" 05:45:50.199830 > "213 17[CR][LF]" 05:45:50.200033 < "RETR verifiedserver" 05:45:50.200066 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:50.200264 =====> Closing passive DATA connection... 05:45:50.200285 Server disconnects passive DATA connection 05:45:50.200393 Server disconnected passive DATA connection 05:45:50.200417 DATA sockfilt for passive data channel quits (pid 82746) 05:45:50.200748 DATA sockfilt for passive data channel quit (pid 82746) 05:45:50.200778 =====> Closed passive DATA connection 05:45:50.200810 > "226 File transfer complete[CR][LF]" 05:45:50.244266 < "QUIT" 05:45:50.244329 > "221 bye bye baby[CR][LF]" 05:45:50.257718 MAIN sockfilt said DISC 05:45:50.257785 ====> Client disconnected 05:45:50.257930 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.648021 ====> Client connect 05:45:50.651104 Received DATA (on stdin) 05:45:50.651123 > 146 bytes data, server => client 05:45:50.651135 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.651145 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.651155 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.651681 < 16 bytes data, client => server 05:45:50.651698 'USER anonymous\r\n' 05:45:50.651901 Received DATA (on stdin) 05:45:50.651912 > 33 bytes data, server => client 05:45:50.651923 '331 We are happy you popped in!\r\n' 05:45:50.651972 < 22 bytes data, client => server 05:45:50.651983 'PASS ftp@example.com\r\n' 05:45:50.652084 Received DATA (on stdin) 05:45:50.652094 > 30 bytes data, server => client 05:45:50.652104 '230 Welcome you silly person\r\n' 05:45:50.652149 < 5 bytes data, client => server 05:45:50.652159 'PWD\r\n' 05:45:50.652263 Received DATA (on stdin) 05:45:50.652273 > 30 bytes data, server => client 05:45:50.652283 '257 "/" is current directory\r\n' 05:45:50.652338 < 6 bytes data, client => server 05:45:50.652349 'EPSV\r\n' 05:45:50.660617 Received DATA (on stdin) 05:45:50.660633 > 39 bytes data, server => client 05:45:50.660643 '229 Entering Passive Mode (|||34977|)\r\n' 05:45:50.660815 < 8 bytes data, client => server 05:45:50.660828 'TYPE I\r\n' 05:45:50.661112 Received DATA (on stdin) 05:45:50.661123 > 33 bytes data, server => client 05:45:50.661133 '200 I modify TYPE as you wanted\r\n' 05:45:50.661180 < 21 bytes data, client => server 05:45:50.661190 'SIZE verifiedserver\r\n' 05:45:50.661292 Received DATA (on stdin) 05:45:50.661302 > 8 bytes data, server => client 05:45:50.661310 '213 17\r\n' 05:45:50.661352 < 21 bytes data, client => server 05:45:50.661362 'RETR verifiedserver\r\n' 05:45:50.661643 Received DATA (on stdin) 05:45:50.661656 > 29 bytes data, server => client 05:45:50.6616CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind131 ../src/curl -q --output log/15/curl131.out --include --trace-ascii log/15/trace131 --trace-time --netrc-optional --netrc-file log/15/netrc131 ftp://user2@127.0.0.1:35349/ > log/15/stdout131 2> log/15/stderr131 65 '150 Binary junk (17 bytes).\r\n' 05:45:50.662281 Received DATA (on stdin) 05:45:50.662294 > 28 bytes data, server => client 05:45:50.662304 '226 File transfer complete\r\n' 05:45:50.705508 < 6 bytes data, client => server 05:45:50.705547 'QUIT\r\n' 05:45:50.705800 Received DATA (on stdin) 05:45:50.705812 > 18 bytes data, server => client 05:45:50.705822 '221 bye bye baby\r\n' 05:45:50.719088 ====> Client disconnect 05:45:50.719404 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:50.653816 Running IPv4 version 05:45:50.653882 Listening on port 34977 05:45:50.653920 Wrote pid 82746 to log/7/server/ftp_sockdata.pid 05:45:50.657012 Received PING (on stdin) 05:45:50.660436 Received PORT (on stdin) 05:45:50.660846 ====> Client connect 05:45:50.661754 Received DATA (on stdin) 05:45:50.661766 > 17 bytes data, server => client 05:45:50.661776 'WE ROOLZ: 81085\r\n' 05:45:50.661800 Received DISC (on stdin) 05:45:50.661811 ====> Client forcibly disconnected 05:45:50.661888 Received QUIT (on stdin) 05:45:50.661898 quits 05:45:50.661955 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc130 # the following two lines were created while testing curl # machine 127.0.0.1 login user1 password commented machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 default login userdef password passwddef === End of file netrc130 === Start of file server.cmd Testnum 130 === End of file server.cmd === Start of file valgrind130 ==82813== ==82813== Process terminating with default action of signal 4 (SIGILL) ==82813== Illegal opcode at address 0x4014883 ==82813== at 0x4014883: getparameter (tool_getparam.c:2899) ==82813== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82813== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82813== by 0x4004208: main (tool_main.c:189) === End of file valgrind130 test 0131...[FTP (optional .netrc; user/no pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind131 ../src/curl -q --output log/15/curl131.out --include --trace-ascii log/15/trace131 --trace-time --netrc-optional --netrc-file log/15/netrc131 ftp://user2@127.0.0.1:35349/ > log/15/stdout131 2> log/15/stderr131 131: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 131 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind131 ../src/curl -q --output log/15/curl131.out --include --trace-ascii log/15/trace131 --trace-time --netrc-optional --netrc-file log/15/netrc131 ftp://user2@127.0.0.1:35349/ > log/15/stdout131 2> log/15/stderr131 === End of file commands.log === Start of file ftp_server.log 05:45:50.267342 ====> Client connect 05:45:50.267538 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:50.267866 < "USER anonymous" 05:45:50.267907 > "331 We are happy you popped in![CR][LF]" 05:45:50.268081 < "PASS ftp@example.com" 05:45:50.268109 > "230 Welcome you silly person[CR][LF]" 05:45:50.274785 < "PWD" 05:45:50.274836 > "257 "/" is current directory[CR][LF]" 05:45:50.275030 < "EPSV" 05:45:50.275062 ====> Passive DATA channel requested by client 05:45:50.275075 DATA sockfilt for passive data channel starting... 05:45:50.286359 DATA sockfilt for passive data channel started (pid 82803) 05:45:50.290159 DATA sockfilt for passive data channel listens on port 39621 05:45:50.290236 > "229 Entering Passive Mode (|||39621|)[CR][LF]" 05:45:50.290256 Client has been notified that DATA conn will be accepted on port 39621 05:45:50.290579 Client connects to port 39621 05:45:50.290612 ====> Client established passive DATA connection on port 39621 05:45:50.290711 < "TYPE I" 05:45:50.290747 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:50.290910 < "SIZE verifiedserver" 05:45:50.290949 > "213 17[CR][LF]" 05:45:50.291093 < "RETR verifiedserver" 05:45:50.291128 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:50.291212 =====> Closing passive DATA connection... 05:45:50.291227 Server disconnects passive DATA connection 05:45:50.291442 Server disconnected passive DATA connection 05:45:50.291467 DATA sockfilt for passive data channel quits (pid 82803) 05:45:50.291685 DATA sockfilt for passive data channel quit (pid 82803) 05:45:50.291708 =====> Closed passive DATA connection 05:45:50.291733 > "226 File transfer complete[CR][LF]" 05:45:50.332558 < "QUIT" 05:45:50.332614 > "221 bye bye baby[CR][LF]" 05:45:50.333727 MAIN sockfilt said DISC 05:45:50.333768 ====> Client disconnected 05:45:50.333852 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.728654 ====> Client connect 05:45:50.729023 Received DATA (on stdin) 05:45:50.729039 > 146 bytes data, server => client 05:45:50.729051 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.729062 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.729071 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.729162 < 16 bytes data, client => server 05:45:50.729174 'USER anonymous\r\n' 05:45:50.729375 Received DATA (on stdin) 05:45:50.729387 > 33 bytes data, server => client 05:45:50.729398 '331 We are happy you popped in!\r\n' 05:45:50.729449 < 22 bytes data, client => server 05:45:50.729459 'PASS ftp@example.com\r\n' 05:45:50.729573 Received DATA (on stdin) 05:45:50.729584 > 30 bytes data, server => client 05:45:50.729594 '230 Welcome you silly person\r\n' 05:45:50.735746 < 5 bytes data, client => server 05:45:50.735778 'PWD\r\n' 05:45:50.736306 Received DATA (on stdin) 05:45:50.736319 > 30 bytes data, server => client 05:45:50.736330 '257 "/" is current directory\r\n' 05:45:50.736399 < 6 bytes data, client => server 05:45:50.736410 'EPSV\r\n' 05:45:50.751734 Received DATA (on stdin) 05:45:50.751752 > 39 bytes data, server => client 05:45:50.751762 '229 Entering Passive Mode (|||39621|)\r\n' 05:45:50.751958 < 8 bytes data, client => server 05:45:50.751972 'TYPE I\r\n' 05:45:50.752214 Received DATA (on stdin) 05:45:50.752226 > 33 bytes data, server => client 05:45:50.752235 '200 I modify TYPE as you wanted\r\n' 05:45:50.752287 < 21 bytes data, client => server 05:45:50.752298 'SIZE verifiedserver\r\n' 05:45:50.752414 Received DATA (on stdin) 05:45:50.752424 > 8 bytes data, server => client 05:45:50.752433 '213 17\r\n' 05:45:50.752477 < 21 bytes data, client => server 05:45:50.752487 'RETR verifiedserver\r\n' 05:45:50.752691 Received DATA (on stdin) 05:45:50.752701 > 29 bytes data, server => client 05:45:50.752711 '150 Binary junk (17 bytes).\r\n' 05:45:50.753199 Received DATA (on stdin) 05:45:50.753210 > 28 bytes data, server => client 05:45:50.753220 '226 File transfer complete\r\n' 05:45:50.793815 < 6 bytes data, client => server 05:45:50.793854 'QUIT\r\n' 05:45:50.794083 Received DATA (on stdin) 05:45:50.794095 > 18 bytes data, server => client 05:45:50.794105 '221 bye bye baby\r\n' 05:45:50.795118 ====> Client disconnect 05:45:50.795318 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:50.738350 Running IPv4 version 05:45:50.738426 Listening on port 39621 05:45:50.738464 Wrote pid 82803 to log/15/server/ftp_sockdata.pid 05:45:50.747009 Received PING (on stdin) 05:45:50.749564 Received PORT (on stdin) 05:45:50.751994 ====> Client connect 05:45:50.752735 Received DATA (on stdin) 05:45:50.752749 > 17 bytes data, server => client 05:45:50.752758 'WE ROOLZ: 81070\r\n' 05:45:50.752780 Received DISC (on stdin) 05:45:50.752791 ====> Client forcibly disconnected 05:45:50.752941 Received CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind123 ../src/curl -q --output log/11/curl123.out --include --trace-ascii log/11/trace123 --trace-time ftp://127.0.0.1:37471/123 -T log/11/upload123 -C 51 > log/11/stdout123 2> log/11/stderr123 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind132 ../src/curl -q --output log/2/curl132.out --include --trace-ascii log/2/trace132 --trace-time --netrc-optional --netrc-file log/2/netrc132 ftp://mary:mark@127.0.0.1:34211/ > log/2/stdout132 2> log/2/stderr132 QUIT (on stdin) 05:45:50.752952 quits 05:45:50.753007 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc131 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc131 === Start of file server.cmd Testnum 131 === End of file server.cmd === Start of file valgrind131 ==82870== ==82870== Process terminating with default action of signal 4 (SIGILL) ==82870== Illegal opcode at address 0x4014883 ==82870== at 0x4014883: getparameter (tool_getparam.c:2899) ==82870== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82870== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82870== by 0x4004208: main (tool_main.c:189) === End of file valgrind131 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/ftp_server.pid" --logfile "log/11/ftp_server.log" --logdir "log/11" --portfile "log/11/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37471 (log/11/server/ftp_server.port) RUN: FTP server is PID 81984 port 37471 * pid ftp => 81984 81984 test 0123...[FTP upload resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind123 ../src/curl -q --output log/11/curl123.out --include --trace-ascii log/11/trace123 --trace-time ftp://127.0.0.1:37471/123 -T log/11/upload123 -C 51 > log/11/stdout123 2> log/11/stderr123 123: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind123 ../src/curl -q --output log/11/curl123.out --include --trace-ascii log/11/trace123 --trace-time ftp://127.0.0.1:37471/123 -T log/11/upload123 -C 51 > log/11/stdout123 2> log/11/stderr123 === End of file commands.log === Start of file ftp_server.log 05:45:49.276733 FTP server listens on port IPv4/37471 05:45:49.276855 logged pid 81984 in log/11/server/ftp_server.pid 05:45:49.276891 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:49.734363 Running IPv4 version 05:45:49.734451 Listening on port 37471 05:45:49.734498 Wrote pid 82087 to log/11/server/ftp_sockctrl.pid 05:45:49.734530 Wrote port 37471 to log/11/server/ftp_server.port 05:45:49.738040 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 123 === End of file server.cmd === Start of file upload123 -------------------------------------------------- === End of file upload123 === Start of file valgrind123 ==82728== ==82728== Process terminating with default action of signal 4 (SIGILL) ==82728== Illegal opcode at address 0x4014883 ==82728== at 0x4014883: getparameter (tool_getparam.c:2899) ==82728== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==82728== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==82728== by 0x4004208: main (tool_main.c:189) === End of file valgrind123 test 0132...[FTP (optional .netrc; user/passwd supplied) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind132 ../src/curl -q --output log/2/curl132.out --include --trace-ascii log/2/trace132 --trace-time --netrc-optional --netrc-file log/2/netrc132 ftp://mary:mark@127.0.0.1:34211/ > log/2/stdout132 2> log/2/stderr132 132: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind132 ../src/curl -q --output log/2/curl132.out --include --trace-ascii log/2/trace132 --trace-time --netrc-optional --netrc-file log/2/netrc132 ftp://mary:mark@127.0.0.1:34211/ > log/2/stdout132 2> log/2/stderr132 === End of file commands.log === Start of file ftp_server.log 05:45:50.663944 ====> Client connect 05:45:50.664165 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:50.667704 < "USER anonymous" 05:45:50.667761 > "331 We are happy you popped in![CR][LF]" 05:45:50.667973 < "PASS ftp@example.com" 05:45:50.668009 > "230 Welcome you silly person[CR][LF]" 05:45:50.668204 < "PWD" 05:45:50.668245 > "257 "/" is current directory[CR][LF]" 05:45:50.668450 < "EPSV" 05:45:50.668484 ====> Passive DATA channel requested by client 05:45:50.668504 DATA sockfilt for passive data channel starting... 05:45:50.672408 DATA sockfilt for passive data channel started (pid 82989) 05:45:50.672568 DATA sockfilt for passive data channel listens on port 44983 05:45:50.672623 > "229 Entering Passive Mode (|||44983|)[CR][LF]" 05:45:50.672646 Client has been notified that DATA conn will be accepted on port 44983 05:45:50.672976 Client connects to port 44983 05:45:50.673010 ====> Client established passive DATA connection on port 44983 05:45:50.673114 < "TYPE I" 05:45:50.673151 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:50.673335 < "SIZE verifiedserver" 05:45:50.673380 > "213 17[CR][LF]" 05:45:50.673562 < "RETR verifiedserver" 05:45:50.673600 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:50.673702 =====> Closing passive DATA connection... 05:45:50.673725 Server disconnects passive DATA connection 05:45:50.673929 Server disconnected passive DATA connection 05:45:50.673961 DATA sockfilt for passive data channel quits (pid 82989) 05:45:50.674296 DATA sockfilt for passive data channel quit (pid 82989) 05:45:50.674325 =====> Closed passive DATA connection 05:45:50.674359 > "226 File transfer complete[CR][LF]" 05:45:50.722544 < "QUIT" 05:45:50.722601 > "221 bye bye baby[CR][LF]" 05:45:50.723731 MAIN sockfilt said DISC 05:45:50.723759 ====> Client disconnected 05:45:50.723860 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.125266 ====> Client connect 05:45:51.125654 Received DATA (on stdin) 05:45:51.125670 > 146 bytes data, server => client 05:45:51.125683 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.125694 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.125703 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.128961 < 16 bytes data, client => server 05:45:51.128980 'USER anonymous\r\n' 05:45:51.129242 Received DATA (on stdin) 05:45:51.129257 > 33 bytes data, server => client 05:45:51.129269 '331 We are happy you popped in!\r\n' 05:45:51.129332 < 22 bytes data, client => server 05:45:51.129348 'PASS ftp@example.com\r\n' 05:45:51.129483 Received DATA (on stdin) 05:45:51.129498 > 30 bytes data, server => client 05:45:51.129509 '230 Welcome you silly person\r\n' 05:45:51.129567 < 5 bytes data, client => server 05:45:51.129583 'PWD\r\n' 05:45:51.129719 Received DATA (on stdin) 05:45:51.129733 > 30 bytes data, server => client 05:45:51.129745 '257 "/" is current directory\r\n' 05:45:51.129813 < 6 bytes data, client => server 05:45:51.129830 'EPSV\r\n' 05:45:51.134124 Received DATA (on stdin) 05:45:51.134143 > 39 bytes data, server => client 05:45:51.134154 '229 Entering Passive Mode (|||44983|)\r\n' 05:45:51.134353 < 8 bytes data, client => server 05:45:51.134372 'TYPE I\r\n' 05:45:51.134627 Received DATA (on stdin) 05:45:51.134640 > 33 bytes data, server => client 05:45:51.134651 '20CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind138 ../src/curl -q --output log/3/curl138.out --include --trace-ascii log/3/trace138 --trace-time ftp://127.0.0.1:43409/blalbla/lululul/138 > log/3/stdout138 2> log/3/stderr138 0 I modify TYPE as you wanted\r\n' 05:45:51.134705 < 21 bytes data, client => server 05:45:51.134718 'SIZE verifiedserver\r\n' 05:45:51.134853 Received DATA (on stdin) 05:45:51.134866 > 8 bytes data, server => client 05:45:51.134877 '213 17\r\n' 05:45:51.134933 < 21 bytes data, client => server 05:45:51.134947 'RETR verifiedserver\r\n' 05:45:51.135195 Received DATA (on stdin) 05:45:51.135207 > 29 bytes data, server => client 05:45:51.135218 '150 Binary junk (17 bytes).\r\n' 05:45:51.135827 Received DATA (on stdin) 05:45:51.135839 > 28 bytes data, server => client 05:45:51.135849 '226 File transfer complete\r\n' 05:45:51.183790 < 6 bytes data, client => server 05:45:51.183826 'QUIT\r\n' 05:45:51.184069 Received DATA (on stdin) 05:45:51.184080 > 18 bytes data, server => client 05:45:51.184089 '221 bye bye baby\r\n' 05:45:51.185141 ====> Client disconnect 05:45:51.185325 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:50.131606 Running IPv4 version 05:45:50.131666 Listening on port 44983 05:45:50.131702 Wrote pid 82989 to log/2/server/ftp_sockdata.pid 05:45:50.133805 Received PING (on stdin) 05:45:50.133921 Received PORT (on stdin) 05:45:50.134394 ====> Client connect 05:45:50.135276 Received DATA (on stdin) 05:45:50.135291 > 17 bytes data, server => client 05:45:50.135301 'WE ROOLZ: 81084\r\n' 05:45:50.135329 Received DISC (on stdin) 05:45:50.135343 ====> Client forcibly disconnected 05:45:50.135497 Received QUIT (on stdin) 05:45:50.135513 quits 05:45:50.135600 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc132 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc132 === Start of file server.cmd Testnum 132 === End of file server.cmd === Start of file valgrind132 ==83023== ==83023== Process terminating with default action of signal 4 (SIGILL) ==83023== Illegal opcode at address 0x4014883 ==83023== at 0x4014883: getparameter (tool_getparam.c:2899) ==83023== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83023== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83023== by 0x4004208: main (tool_main.c:189) === End of file valgrind132 test 0138...[FTP download without size in RETR string and no SIZE command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind138 ../src/curl -q --output log/3/curl138.out --include --trace-ascii log/3/trace138 --trace-time ftp://127.0.0.1:43409/blalbla/lululul/138 > log/3/stdout138 2> log/3/stderr138 138: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind138 ../src/curl -q --output log/3/curl138.out --include --trace-ascii log/3/trace138 --trace-time ftp://127.0.0.1:43409/blalbla/lululul/138 > log/3/stdout138 2> log/3/stderr138 === End of file commands.log === Start of file ftp_server.log 05:45:51.152170 ====> Client connect 05:45:51.152423 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.156430 < "USER anonymous" 05:45:51.156481 > "331 We are happy you popped in![CR][LF]" 05:45:51.156694 < "PASS ftp@example.com" 05:45:51.156732 > "230 Welcome you silly person[CR][LF]" 05:45:51.157665 < "PWD" 05:45:51.157709 > "257 "/" is current directory[CR][LF]" 05:45:51.157865 < "EPSV" 05:45:51.157894 ====> Passive DATA channel requested by client 05:45:51.157910 DATA sockfilt for passive data channel starting... 05:45:51.162523 DATA sockfilt for passive data channel started (pid 83285) 05:45:51.162814 DATA sockfilt for passive data channel listens on port 39231 05:45:51.162866 > "229 Entering Passive Mode (|||39231|)[CR][LF]" 05:45:51.162881 Client has been notified that DATA conn will be accepted on port 39231 05:45:51.163984 Client connects to port 39231 05:45:51.164021 ====> Client established passive DATA connection on port 39231 05:45:51.164124 < "TYPE I" 05:45:51.164164 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.165903 < "SIZE verifiedserver" 05:45:51.165951 > "213 17[CR][LF]" 05:45:51.166488 < "RETR verifiedserver" 05:45:51.166532 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.166623 =====> Closing passive DATA connection... 05:45:51.166642 Server disconnects passive DATA connection 05:45:51.166896 Server disconnected passive DATA connection 05:45:51.166926 DATA sockfilt for passive data channel quits (pid 83285) 05:45:51.168896 DATA sockfilt for passive data channel quit (pid 83285) 05:45:51.168927 =====> Closed passive DATA connection 05:45:51.168957 > "226 File transfer complete[CR][LF]" 05:45:51.212616 < "QUIT" 05:45:51.212671 > "221 bye bye baby[CR][LF]" 05:45:51.213761 MAIN sockfilt said DISC 05:45:51.213793 ====> Client disconnected 05:45:51.213905 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.613496 ====> Client connect 05:45:51.613908 Received DATA (on stdin) 05:45:51.613924 > 146 bytes data, server => client 05:45:51.613936 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.613947 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.613956 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.614038 < 16 bytes data, client => server 05:45:51.614051 'USER anonymous\r\n' 05:45:51.617953 Received DATA (on stdin) 05:45:51.617968 > 33 bytes data, server => client 05:45:51.617979 '331 We are happy you popped in!\r\n' 05:45:51.618044 < 22 bytes data, client => server 05:45:51.618056 'PASS ftp@example.com\r\n' 05:45:51.618198 Received DATA (on stdin) 05:45:51.618208 > 30 bytes data, server => client 05:45:51.618218 '230 Welcome you silly person\r\n' 05:45:51.619018 < 5 bytes data, client => server 05:45:51.619036 'PWD\r\n' 05:45:51.619174 Received DATA (on stdin) 05:45:51.619184 > 30 bytes data, server => client 05:45:51.619194 '257 "/" is current directory\r\n' 05:45:51.619251 < 6 bytes data, client => server 05:45:51.619261 'EPSV\r\n' 05:45:51.624353 Received DATA (on stdin) 05:45:51.624367 > 39 bytes data, server => client 05:45:51.624378 '229 Entering Passive Mode (|||39231|)\r\n' 05:45:51.624520 < 8 bytes data, client => server 05:45:51.624533 'TYPE I\r\n' 05:45:51.625635 Received DATA (on stdin) 05:45:51.625648 > 33 bytes data, server => client 05:45:51.625659 '200 I modify TYPE as you wanted\r\n' 05:45:51.627028 < 21 bytes data, client => server 05:45:51.627047 'SIZE verifiedserver\r\n' 05:45:51.627778 Received DATA (on stdin) 05:45:51.627793 > 8 bytes data, server => client 05:45:51.627803 '213 17\r\n' 05:45:51.627855 < 21 bytes data, client => server 05:45:51.627867 'RETR verifiedserver\r\n' 05:45:51.628110 Received DATA (on stdin) 05:45:51.628121 > 29 bytes data, server => client 05:45:51.628132 '150 Binary junk (17 bytes).\r\n' 05:45:51.630426 Received DATA (on stdin) 05:45:51.630438 > 28 bytes data, server => client 05:45:51.630448 '226 File transfer complete\r\n' 05:45:51.673892 < 6 bytes data, client => server 05:45:51.673923 'QUIT\r\n' 05:45:51.674139 Received DATA (on stdin) 05:45:51.674150 > 18 bytes data, server => client 05:45:51.674159 '221 bye bye baby\r\n' 05:45:51.675166 ====> Client disconnect 05:45:51.675371 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.620931 Running IPv4 version 05:45:51.623847 Listening on port 39231 05:45:51.623910 Wrote pid 83285 to log/3/server/ftp_sockdata.pid 05:45:51.623932 Received PING (on stdin) 05:45:51.624187 Received PORT (on stdin) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind133 ../src/curl -q --output log/19/curl133.out --include --trace-ascii log/19/trace133 --trace-time -n --netrc-file log/19/netrc133 ftp://mary:mark@127.0.0.1:45453/ > log/19/stdout133 2> log/19/stderr133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind137 ../src/curl -q --output log/18/curl137.out --include --trace-ascii log/18/trace137 --trace-time ftp://127.0.0.1:35869/blalbla/lululul/137 > log/18/stdout137 2> log/18/stderr137 05:45:51.625395 ====> Client connect 05:45:51.628193 Received DATA (on stdin) 05:45:51.628209 > 17 bytes data, server => client 05:45:51.628220 'WE ROOLZ: 81310\r\n' 05:45:51.628249 Received DISC (on stdin) 05:45:51.628260 ====> Client forcibly disconnected 05:45:51.628402 Received QUIT (on stdin) 05:45:51.628414 quits 05:45:51.628509 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 ==83345== ==83345== Process terminating with default action of signal 4 (SIGILL) ==83345== Illegal opcode at address 0x4014883 ==83345== at 0x4014883: getparameter (tool_getparam.c:2899) ==83345== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83345== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83345== by 0x4004208: main (tool_main.c:189) === End of file valgrind138 test 0133...[FTP compulsory .netrc; ignore passwd in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind133 ../src/curl -q --output log/19/curl133.out --include --trace-ascii log/19/trace133 --trace-time -n --netrc-file log/19/netrc133 ftp://mary:mark@127.0.0.1:45453/ > log/19/stdout133 2> log/19/stderr133 133: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind133 ../src/curl -q --output log/19/curl133.out --include --trace-ascii log/19/trace133 --trace-time -n --netrc-file log/19/netrc133 ftp://mary:mark@127.0.0.1:45453/ > log/19/stdout133 2> log/19/stderr133 === End of file commands.log === Start of file ftp_server.log 05:45:50.762521 ====> Client connect 05:45:50.762763 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:50.767606 < "USER anonymous" 05:45:50.767662 > "331 We are happy you popped in![CR][LF]" 05:45:50.767851 < "PASS ftp@example.com" 05:45:50.767877 > "230 Welcome you silly person[CR][LF]" 05:45:50.768012 < "PWD" 05:45:50.768042 > "257 "/" is current directory[CR][LF]" 05:45:50.768189 < "EPSV" 05:45:50.768222 ====> Passive DATA channel requested by client 05:45:50.768236 DATA sockfilt for passive data channel starting... 05:45:50.778925 DATA sockfilt for passive data channel started (pid 83029) 05:45:50.779149 DATA sockfilt for passive data channel listens on port 46685 05:45:50.779219 > "229 Entering Passive Mode (|||46685|)[CR][LF]" 05:45:50.779239 Client has been notified that DATA conn will be accepted on port 46685 05:45:50.779601 Client connects to port 46685 05:45:50.779632 ====> Client established passive DATA connection on port 46685 05:45:50.779743 < "TYPE I" 05:45:50.779789 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:50.779975 < "SIZE verifiedserver" 05:45:50.780026 > "213 17[CR][LF]" 05:45:50.780218 < "RETR verifiedserver" 05:45:50.780263 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:50.780374 =====> Closing passive DATA connection... 05:45:50.780397 Server disconnects passive DATA connection 05:45:50.780670 Server disconnected passive DATA connection 05:45:50.780702 DATA sockfilt for passive data channel quits (pid 83029) 05:45:50.781031 DATA sockfilt for passive data channel quit (pid 83029) 05:45:50.781062 =====> Closed passive DATA connection 05:45:50.781095 > "226 File transfer complete[CR][LF]" 05:45:50.829215 < "QUIT" 05:45:50.829283 > "221 bye bye baby[CR][LF]" 05:45:50.830497 MAIN sockfilt said DISC 05:45:50.830536 ====> Client disconnected 05:45:50.830638 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.221167 ====> Client connect 05:45:50.224254 Received DATA (on stdin) 05:45:50.224277 > 146 bytes data, server => client 05:45:50.224290 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.224301 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.224311 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.228796 < 16 bytes data, client => server 05:45:50.228835 'USER anonymous\r\n' 05:45:50.229132 Received DATA (on stdin) 05:45:50.229143 > 33 bytes data, server => client 05:45:50.229154 '331 We are happy you popped in!\r\n' 05:45:50.229230 < 22 bytes data, client => server 05:45:50.229241 'PASS ftp@example.com\r\n' 05:45:50.229340 Received DATA (on stdin) 05:45:50.229350 > 30 bytes data, server => client 05:45:50.229360 '230 Welcome you silly person\r\n' 05:45:50.229402 < 5 bytes data, client => server 05:45:50.229411 'PWD\r\n' 05:45:50.229505 Received DATA (on stdin) 05:45:50.229515 > 30 bytes data, server => client 05:45:50.229525 '257 "/" is current directory\r\n' 05:45:50.229579 < 6 bytes data, client => server 05:45:50.229588 'EPSV\r\n' 05:45:50.240721 Received DATA (on stdin) 05:45:50.240742 > 39 bytes data, server => client 05:45:50.240753 '229 Entering Passive Mode (|||46685|)\r\n' 05:45:50.240975 < 8 bytes data, client => server 05:45:50.240993 'TYPE I\r\n' 05:45:50.241264 Received DATA (on stdin) 05:45:50.241277 > 33 bytes data, server => client 05:45:50.241288 '200 I modify TYPE as you wanted\r\n' 05:45:50.241344 < 21 bytes data, client => server 05:45:50.241356 'SIZE verifiedserver\r\n' 05:45:50.241505 Received DATA (on stdin) 05:45:50.241519 > 8 bytes data, server => client 05:45:50.241529 '213 17\r\n' 05:45:50.241584 < 21 bytes data, client => server 05:45:50.241597 'RETR verifiedserver\r\n' 05:45:50.241868 Received DATA (on stdin) 05:45:50.241881 > 29 bytes data, server => client 05:45:50.241892 '150 Binary junk (17 bytes).\r\n' 05:45:50.242567 Received DATA (on stdin) 05:45:50.242580 > 28 bytes data, server => client 05:45:50.242589 '226 File transfer complete\r\n' 05:45:50.290489 < 6 bytes data, client => server 05:45:50.290515 'QUIT\r\n' 05:45:50.290760 Received DATA (on stdin) 05:45:50.290774 > 18 bytes data, server => client 05:45:50.290784 '221 bye bye baby\r\n' 05:45:50.291898 ====> Client disconnect 05:45:50.292116 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:50.231504 Running IPv4 version 05:45:50.231574 Listening on port 46685 05:45:50.231621 Wrote pid 83029 to log/19/server/ftp_sockdata.pid 05:45:50.237006 Received PING (on stdin) 05:45:50.240485 Received PORT (on stdin) 05:45:50.241017 ====> Client connect 05:45:50.241952 Received DATA (on stdin) 05:45:50.241967 > 17 bytes data, server => client 05:45:50.241978 'WE ROOLZ: 81129\r\n' 05:45:50.242007 Received DISC (on stdin) 05:45:50.242023 ====> Client forcibly disconnected 05:45:50.242181 Received QUIT (on stdin) 05:45:50.242194 quits 05:45:50.242299 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc133 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login mary password drfrank === End of file netrc133 === Start of file server.cmd Testnum 133 === End of file server.cmd === Start of file valgrind133 ==83065== ==83065== Process terminating with default action of signal 4 (SIGILL) ==83065== Illegal opcode at address 0x4014883 ==83065== at 0x4014883: getparameter (tool_getparam.c:2899) ==83065== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83065== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83065== by 0x4004208: main (tool_main.c:189) === End of file valgrind133 test 0137...[FTP download without size in RETR string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind134 ../src/curl -q --output log/22/curl134.out --include --trace-ascii log/22/trace134 --trace-time --netrc-optional --netrc-file log/22/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:41347/ > log/22/stdout134 2> log/22/stderr134 -log-file=log/18/valgrind137 ../src/curl -q --output log/18/curl137.out --include --trace-ascii log/18/trace137 --trace-time ftp://127.0.0.1:35869/blalbla/lululul/137 > log/18/stdout137 2> log/18/stderr137 137: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind137 ../src/curl -q --output log/18/curl137.out --include --trace-ascii log/18/trace137 --trace-time ftp://127.0.0.1:35869/blalbla/lululul/137 > log/18/stdout137 2> log/18/stderr137 === End of file commands.log === Start of file ftp_server.log 05:45:51.106745 ====> Client connect 05:45:51.106950 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.108048 < "USER anonymous" 05:45:51.108083 > "331 We are happy you popped in![CR][LF]" 05:45:51.108238 < "PASS ftp@example.com" 05:45:51.108264 > "230 Welcome you silly person[CR][LF]" 05:45:51.108402 < "PWD" 05:45:51.108438 > "257 "/" is current directory[CR][LF]" 05:45:51.108592 < "EPSV" 05:45:51.108621 ====> Passive DATA channel requested by client 05:45:51.108636 DATA sockfilt for passive data channel starting... 05:45:51.114174 DATA sockfilt for passive data channel started (pid 83232) 05:45:51.114304 DATA sockfilt for passive data channel listens on port 41305 05:45:51.114355 > "229 Entering Passive Mode (|||41305|)[CR][LF]" 05:45:51.114371 Client has been notified that DATA conn will be accepted on port 41305 05:45:51.114646 Client connects to port 41305 05:45:51.114675 ====> Client established passive DATA connection on port 41305 05:45:51.114764 < "TYPE I" 05:45:51.114794 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.114947 < "SIZE verifiedserver" 05:45:51.114985 > "213 17[CR][LF]" 05:45:51.115126 < "RETR verifiedserver" 05:45:51.115157 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.115247 =====> Closing passive DATA connection... 05:45:51.115263 Server disconnects passive DATA connection 05:45:51.115482 Server disconnected passive DATA connection 05:45:51.115507 DATA sockfilt for passive data channel quits (pid 83232) 05:45:51.115749 DATA sockfilt for passive data channel quit (pid 83232) 05:45:51.115777 =====> Closed passive DATA connection 05:45:51.115805 > "226 File transfer complete[CR][LF]" 05:45:51.162669 < "QUIT" 05:45:51.162720 > "221 bye bye baby[CR][LF]" 05:45:51.165672 MAIN sockfilt said DISC 05:45:51.165720 ====> Client disconnected 05:45:51.165812 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.567444 ====> Client connect 05:45:50.569220 Received DATA (on stdin) 05:45:50.569240 > 146 bytes data, server => client 05:45:50.569252 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.569262 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.569270 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.569348 < 16 bytes data, client => server 05:45:50.569359 'USER anonymous\r\n' 05:45:50.569551 Received DATA (on stdin) 05:45:50.569561 > 33 bytes data, server => client 05:45:50.569571 '331 We are happy you popped in!\r\n' 05:45:50.569617 < 22 bytes data, client => server 05:45:50.569628 'PASS ftp@example.com\r\n' 05:45:50.569727 Received DATA (on stdin) 05:45:50.569737 > 30 bytes data, server => client 05:45:50.569747 '230 Welcome you silly person\r\n' 05:45:50.569789 < 5 bytes data, client => server 05:45:50.569798 'PWD\r\n' 05:45:50.569902 Received DATA (on stdin) 05:45:50.569913 > 30 bytes data, server => client 05:45:50.569923 '257 "/" is current directory\r\n' 05:45:50.569978 < 6 bytes data, client => server 05:45:50.569988 'EPSV\r\n' 05:45:50.575845 Received DATA (on stdin) 05:45:50.575861 > 39 bytes data, server => client 05:45:50.575872 '229 Entering Passive Mode (|||41305|)\r\n' 05:45:50.576060 < 8 bytes data, client => server 05:45:50.576071 'TYPE I\r\n' 05:45:50.576261 Received DATA (on stdin) 05:45:50.576272 > 33 bytes data, server => client 05:45:50.576283 '200 I modify TYPE as you wanted\r\n' 05:45:50.576330 < 21 bytes data, client => server 05:45:50.576341 'SIZE verifiedserver\r\n' 05:45:50.576449 Received DATA (on stdin) 05:45:50.576460 > 8 bytes data, server => client 05:45:50.576470 '213 17\r\n' 05:45:50.576513 < 21 bytes data, client => server 05:45:50.576523 'RETR verifiedserver\r\n' 05:45:50.576728 Received DATA (on stdin) 05:45:50.576739 > 29 bytes data, server => client 05:45:50.576750 '150 Binary junk (17 bytes).\r\n' 05:45:50.577579 Received DATA (on stdin) 05:45:50.577594 > 28 bytes data, server => client 05:45:50.577605 '226 File transfer complete\r\n' 05:45:50.622339 < 6 bytes data, client => server 05:45:50.622363 'QUIT\r\n' 05:45:50.625719 Received DATA (on stdin) 05:45:50.625739 > 18 bytes data, server => client 05:45:50.625750 '221 bye bye baby\r\n' 05:45:50.627068 ====> Client disconnect 05:45:50.627721 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.572454 Running IPv4 version 05:45:51.572515 Listening on port 41305 05:45:51.572553 Wrote pid 83232 to log/18/server/ftp_sockdata.pid 05:45:51.575570 Received PING (on stdin) 05:45:51.575675 Received PORT (on stdin) 05:45:51.576034 ====> Client connect 05:45:51.576774 Received DATA (on stdin) 05:45:51.576786 > 17 bytes data, server => client 05:45:51.576796 'WE ROOLZ: 81205\r\n' 05:45:51.576819 Received DISC (on stdin) 05:45:51.576829 ====> Client forcibly disconnected 05:45:51.576977 Received QUIT (on stdin) 05:45:51.576991 quits 05:45:51.577074 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE Testnum 137 === End of file server.cmd === Start of file valgrind137 ==83326== ==83326== Process terminating with default action of signal 4 (SIGILL) ==83326== Illegal opcode at address 0x4014883 ==83326== at 0x4014883: getparameter (tool_getparam.c:2899) ==83326== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83326== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83326== by 0x4004208: main (tool_main.c:189) === End of file valgrind137 test 0134...[FTP (optional .netrc; programmatic user/passwd) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind134 ../src/curl -q --output log/22/curl134.out --include --trace-ascii log/22/trace134 --trace-time --netrc-optional --netrc-file log/22/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:41347/ > log/22/stdout134 2> log/22/stderr134 134: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind134 ../src/curl -q --output log/22/curl134.out --include --trace-ascii log/22/trace134 --trace-time --netrc-optional --netrc-file log/22/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:41347/ > log/22/stdout134 2> log/22/stderr134 === End of file commands.log === Start of file ftp_server.log 05:45:50.812368 ====> Client connect 05:45:50.812601 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:50.819142 < "USER anonymous" 05:45:50.819198 > "331 We are happy you popped in![CR][LF]" 05:45:50.819413 < "PASS ftp@example.com" 05:45:50.819441 > "230 Welcome you silly person[CR][LF]"CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind135 ../src/curl -q --output log/17/curl135.out --include --trace-ascii log/17/trace135 --trace-time -r 4-16 ftp://127.0.0.1:35305/135 > log/17/stdout135 2> log/17/stderr135 05:45:50.819590 < "PWD" 05:45:50.819623 > "257 "/" is current directory[CR][LF]" 05:45:50.819783 < "EPSV" 05:45:50.819813 ====> Passive DATA channel requested by client 05:45:50.819829 DATA sockfilt for passive data channel starting... 05:45:50.838985 DATA sockfilt for passive data channel started (pid 83045) 05:45:50.839166 DATA sockfilt for passive data channel listens on port 46731 05:45:50.839230 > "229 Entering Passive Mode (|||46731|)[CR][LF]" 05:45:50.839253 Client has been notified that DATA conn will be accepted on port 46731 05:45:50.839589 Client connects to port 46731 05:45:50.839625 ====> Client established passive DATA connection on port 46731 05:45:50.840157 < "TYPE I" 05:45:50.840202 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:50.840403 < "SIZE verifiedserver" 05:45:50.840449 > "213 17[CR][LF]" 05:45:50.840749 < "RETR verifiedserver" 05:45:50.840798 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:50.840952 =====> Closing passive DATA connection... 05:45:50.840978 Server disconnects passive DATA connection 05:45:50.841190 Server disconnected passive DATA connection 05:45:50.841221 DATA sockfilt for passive data channel quits (pid 83045) 05:45:50.841556 DATA sockfilt for passive data channel quit (pid 83045) 05:45:50.841588 =====> Closed passive DATA connection 05:45:50.841620 > "226 File transfer complete[CR][LF]" 05:45:50.892679 < "QUIT" 05:45:50.892752 > "221 bye bye baby[CR][LF]" 05:45:50.893807 MAIN sockfilt said DISC 05:45:50.893847 ====> Client disconnected 05:45:50.893973 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.273689 ====> Client connect 05:45:50.274079 Received DATA (on stdin) 05:45:50.274093 > 146 bytes data, server => client 05:45:50.274105 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.274115 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.274125 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.280349 < 16 bytes data, client => server 05:45:50.280383 'USER anonymous\r\n' 05:45:50.280667 Received DATA (on stdin) 05:45:50.280679 > 33 bytes data, server => client 05:45:50.280690 '331 We are happy you popped in!\r\n' 05:45:50.280784 < 22 bytes data, client => server 05:45:50.280796 'PASS ftp@example.com\r\n' 05:45:50.280906 Received DATA (on stdin) 05:45:50.280917 > 30 bytes data, server => client 05:45:50.280927 '230 Welcome you silly person\r\n' 05:45:50.280973 < 5 bytes data, client => server 05:45:50.280984 'PWD\r\n' 05:45:50.281088 Received DATA (on stdin) 05:45:50.281099 > 30 bytes data, server => client 05:45:50.281109 '257 "/" is current directory\r\n' 05:45:50.281167 < 6 bytes data, client => server 05:45:50.281177 'EPSV\r\n' 05:45:50.300735 Received DATA (on stdin) 05:45:50.300753 > 39 bytes data, server => client 05:45:50.300764 '229 Entering Passive Mode (|||46731|)\r\n' 05:45:50.300964 < 8 bytes data, client => server 05:45:50.300981 'TYPE I\r\n' 05:45:50.301675 Received DATA (on stdin) 05:45:50.301690 > 33 bytes data, server => client 05:45:50.301701 '200 I modify TYPE as you wanted\r\n' 05:45:50.301763 < 21 bytes data, client => server 05:45:50.301778 'SIZE verifiedserver\r\n' 05:45:50.301918 Received DATA (on stdin) 05:45:50.301931 > 8 bytes data, server => client 05:45:50.301941 '213 17\r\n' 05:45:50.301997 < 21 bytes data, client => server 05:45:50.302009 'RETR verifiedserver\r\n' 05:45:50.302449 Received DATA (on stdin) 05:45:50.302462 > 29 bytes data, server => client 05:45:50.302474 '150 Binary junk (17 bytes).\r\n' 05:45:50.303090 Received DATA (on stdin) 05:45:50.303102 > 28 bytes data, server => client 05:45:50.303113 '226 File transfer complete\r\n' 05:45:50.353845 < 6 bytes data, client => server 05:45:50.353890 'QUIT\r\n' 05:45:50.354225 Received DATA (on stdin) 05:45:50.354239 > 18 bytes data, server => client 05:45:50.354249 '221 bye bye baby\r\n' 05:45:50.355209 ====> Client disconnect 05:45:50.355452 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:50.287836 Running IPv4 version 05:45:50.287946 Listening on port 46731 05:45:50.287993 Wrote pid 83045 to log/22/server/ftp_sockdata.pid 05:45:50.300339 Received PING (on stdin) 05:45:50.300520 Received PORT (on stdin) 05:45:50.301005 ====> Client connect 05:45:50.302536 Received DATA (on stdin) 05:45:50.302550 > 17 bytes data, server => client 05:45:50.302560 'WE ROOLZ: 81140\r\n' 05:45:50.302587 Received DISC (on stdin) 05:45:50.302601 ====> Client forcibly disconnected 05:45:50.302757 Received QUIT (on stdin) 05:45:50.302773 quits 05:45:50.302837 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc134 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc134 === Start of file server.cmd Testnum 134 === End of file server.cmd === Start of file valgrind134 ==83098== ==83098== Process terminating with default action of signal 4 (SIGILL) ==83098== Illegal opcode at address 0x4014883 ==83098== at 0x4014883: getparameter (tool_getparam.c:2899) ==83098== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83098== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83098== by 0x4004208: main (tool_main.c:189) === End of file valgrind134 test 0135...[FTP retrieve a byte-range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind135 ../src/curl -q --output log/17/curl135.out --include --trace-ascii log/17/trace135 --trace-time -r 4-16 ftp://127.0.0.1:35305/135 > log/17/stdout135 2> log/17/stderr135 135: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 135 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind135 ../src/curl -q --output log/17/curl135.out --include --trace-ascii log/17/trace135 --trace-time -r 4-16 ftp://127.0.0.1:35305/135 > log/17/stdout135 2> log/17/stderr135 === End of file commands.log === Start of file ftp_server.log 05:45:50.939073 ====> Client connect 05:45:50.939318 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:50.952473 < "USER anonymous" 05:45:50.952545 > "331 We are happy you popped in![CR][LF]" 05:45:50.959156 < "PASS ftp@example.com" 05:45:50.959224 > "230 Welcome you silly person[CR][LF]" 05:45:50.969113 < "PWD" 05:45:50.969183 > "257 "/" is current directory[CR][LF]" 05:45:50.975691 < "EPSV" 05:45:50.975742 ====> Passive DATA channel requested by client 05:45:50.975757 DATA sockfilt for passive data channel starting... 05:45:50.980596 DATA sockfilt for passive data channel started (pid 83134) 05:45:50.980732 DATA sockfilt for passive data channel listens on port 40951 05:45:50.980783 > "229 Entering Passive Mode (|||40951|)[CR][LF]" 05:45:50.980799 Client has been notified that DATA conn will be accepted on port 40951 05:45:50.982563 Client connects to port 40951 05:45:50.982597 ====> Client established passive DATA connection on port 40951 05:45:50.982701 < "TYPE I" 05:45:50.982739 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:50.982928 < "SIZE verifiedserver" 05:45:50.982966 > "213 17[CR][LF]" 05:45:50.983108 < "RETR verifiedserver" 05:45:50.983139 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:50.983224 =====> Closing passive DATA connection... 05:45:50.983239 Server disconnects passive DATA connection 05:45:50.983477 Server disconnected passive DATA connection 05:45:50.983501 DATA sockfilt for passive data channel quits (pid 83134) 05:45:50.983774 DATA sockfilt for passive data channel quit (pidCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind136 ../src/curl -q --output log/6/curl136.out --include --trace-ascii log/6/trace136 --trace-time -u user: ftp://127.0.0.1:36813/136 > log/6/stdout136 2> log/6/stderr136 83134) 05:45:50.983797 =====> Closed passive DATA connection 05:45:50.983821 > "226 File transfer complete[CR][LF]" 05:45:51.032376 < "QUIT" 05:45:51.032445 > "221 bye bye baby[CR][LF]" 05:45:51.043352 MAIN sockfilt said DISC 05:45:51.043428 ====> Client disconnected 05:45:51.043551 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.400356 ====> Client connect 05:45:50.400799 Received DATA (on stdin) 05:45:50.400813 > 146 bytes data, server => client 05:45:50.400825 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.400835 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.400844 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.410469 < 16 bytes data, client => server 05:45:50.410509 'USER anonymous\r\n' 05:45:50.414023 Received DATA (on stdin) 05:45:50.414047 > 33 bytes data, server => client 05:45:50.414058 '331 We are happy you popped in!\r\n' 05:45:50.420367 < 22 bytes data, client => server 05:45:50.420420 'PASS ftp@example.com\r\n' 05:45:50.420702 Received DATA (on stdin) 05:45:50.420717 > 30 bytes data, server => client 05:45:50.420728 '230 Welcome you silly person\r\n' 05:45:50.430356 < 5 bytes data, client => server 05:45:50.430397 'PWD\r\n' 05:45:50.430653 Received DATA (on stdin) 05:45:50.430665 > 30 bytes data, server => client 05:45:50.430675 '257 "/" is current directory\r\n' 05:45:50.433782 < 6 bytes data, client => server 05:45:50.433819 'EPSV\r\n' 05:45:50.442274 Received DATA (on stdin) 05:45:50.442292 > 39 bytes data, server => client 05:45:50.442302 '229 Entering Passive Mode (|||40951|)\r\n' 05:45:50.443933 < 8 bytes data, client => server 05:45:50.443954 'TYPE I\r\n' 05:45:50.444206 Received DATA (on stdin) 05:45:50.444218 > 33 bytes data, server => client 05:45:50.444229 '200 I modify TYPE as you wanted\r\n' 05:45:50.444306 < 21 bytes data, client => server 05:45:50.444317 'SIZE verifiedserver\r\n' 05:45:50.444430 Received DATA (on stdin) 05:45:50.444440 > 8 bytes data, server => client 05:45:50.444450 '213 17\r\n' 05:45:50.444495 < 21 bytes data, client => server 05:45:50.444505 'RETR verifiedserver\r\n' 05:45:50.444703 Received DATA (on stdin) 05:45:50.444713 > 29 bytes data, server => client 05:45:50.444723 '150 Binary junk (17 bytes).\r\n' 05:45:50.445286 Received DATA (on stdin) 05:45:50.445297 > 28 bytes data, server => client 05:45:50.445307 '226 File transfer complete\r\n' 05:45:50.491245 < 6 bytes data, client => server 05:45:50.491283 'QUIT\r\n' 05:45:50.497006 Received DATA (on stdin) 05:45:50.497036 > 18 bytes data, server => client 05:45:50.497048 '221 bye bye baby\r\n' 05:45:50.504711 ====> Client disconnect 05:45:50.505036 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:50.438758 Running IPv4 version 05:45:50.438844 Listening on port 40951 05:45:50.438881 Wrote pid 83134 to log/17/server/ftp_sockdata.pid 05:45:50.441994 Received PING (on stdin) 05:45:50.442100 Received PORT (on stdin) 05:45:50.443979 ====> Client connect 05:45:50.444778 Received DATA (on stdin) 05:45:50.444790 > 17 bytes data, server => client 05:45:50.444800 'WE ROOLZ: 81141\r\n' 05:45:50.444829 Received DISC (on stdin) 05:45:50.444839 ====> Client forcibly disconnected 05:45:50.444971 Received QUIT (on stdin) 05:45:50.444981 quits 05:45:50.445070 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==83214== ==83214== Process terminating with default action of signal 4 (SIGILL) ==83214== Illegal opcode at address 0x4014883 ==83214== at 0x4014883: getparameter (tool_getparam.c:2899) ==83214== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83214== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83214== by 0x4004208: main (tool_main.c:189) === End of file valgrind135 test 0136...[FTP with user and no password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind136 ../src/curl -q --output log/6/curl136.out --include --trace-ascii log/6/trace136 --trace-time -u user: ftp://127.0.0.1:36813/136 > log/6/stdout136 2> log/6/stderr136 136: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 136 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind136 ../src/curl -q --output log/6/curl136.out --include --trace-ascii log/6/trace136 --trace-time -u user: ftp://127.0.0.1:36813/136 > log/6/stdout136 2> log/6/stderr136 === End of file commands.log === Start of file ftp_server.log 05:45:51.085689 ====> Client connect 05:45:51.085897 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.086298 < "USER anonymous" 05:45:51.086340 > "331 We are happy you popped in![CR][LF]" 05:45:51.086537 < "PASS ftp@example.com" 05:45:51.086571 > "230 Welcome you silly person[CR][LF]" 05:45:51.086756 < "PWD" 05:45:51.086795 > "257 "/" is current directory[CR][LF]" 05:45:51.086991 < "EPSV" 05:45:51.087028 ====> Passive DATA channel requested by client 05:45:51.087046 DATA sockfilt for passive data channel starting... 05:45:51.095581 DATA sockfilt for passive data channel started (pid 83211) 05:45:51.095795 DATA sockfilt for passive data channel listens on port 39369 05:45:51.095863 > "229 Entering Passive Mode (|||39369|)[CR][LF]" 05:45:51.095889 Client has been notified that DATA conn will be accepted on port 39369 05:45:51.096215 Client connects to port 39369 05:45:51.096252 ====> Client established passive DATA connection on port 39369 05:45:51.096409 < "TYPE I" 05:45:51.096444 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.096631 < "SIZE verifiedserver" 05:45:51.096676 > "213 17[CR][LF]" 05:45:51.096863 < "RETR verifiedserver" 05:45:51.096903 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.097018 =====> Closing passive DATA connection... 05:45:51.097043 Server disconnects passive DATA connection 05:45:51.097291 Server disconnected passive DATA connection 05:45:51.097324 DATA sockfilt for passive data channel quits (pid 83211) 05:45:51.097669 DATA sockfilt for passive data channel quit (pid 83211) 05:45:51.097700 =====> Closed passive DATA connection 05:45:51.097735 > "226 File transfer complete[CR][LF]" 05:45:51.142577 < "QUIT" 05:45:51.142645 > "221 bye bye baby[CR][LF]" 05:45:51.146761 MAIN sockfilt said DISC 05:45:51.146812 ====> Client disconnected 05:45:51.146912 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:50.547023 ====> Client connect 05:45:50.547382 Received DATA (on stdin) 05:45:50.547397 > 146 bytes data, server => client 05:45:50.547409 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:50.547424 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:50.547433 '220 \___|\___/|_| \_\_____|\r\n' 05:45:50.547570 < 16 bytes data, client => server 05:45:50.547588 'USER anonymous\r\n' 05:45:50.547816 Received DATA (on stdin) 05:45:50.547831 > 33 bytes data, server => client 05:45:50.547842 '331 We are happy you popped in!\r\n' 05:45:50.547899 < 22 bytes data, client => server 05:45:50.547914 'PASS ftp@example.com\r\n' 05:45:50.548043 Received DATA (on stdin) 05:45:50.548056 > 30 bytes data, server => client 05:45:50.548066 '230 Welcome you silly person\r\n' 05:45:50.548121 < 5 bytes data, client => server 05:45:50.548136 'PWD\r\n' 05:45:50.548266 Received DATA (on stdin) 05:45:50.548279 > 30 bytes data, server => client 05:45:50.548290 '257 "/" is current directory\r\n' 05:45:50.548357 < 6 bytes data, client => server 05:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind145 ../src/curl -q --output log/4/curl145.out --include --trace-ascii log/4/trace145 --trace-time ftp://127.0.0.1:43777/ -P - -l > log/4/stdout145 2> log/4/stderr145 45:50.548372 'EPSV\r\n' 05:45:50.557370 Received DATA (on stdin) 05:45:50.557389 > 39 bytes data, server => client 05:45:50.557401 '229 Entering Passive Mode (|||39369|)\r\n' 05:45:50.557746 < 8 bytes data, client => server 05:45:50.557759 'TYPE I\r\n' 05:45:50.557915 Received DATA (on stdin) 05:45:50.557928 > 33 bytes data, server => client 05:45:50.557939 '200 I modify TYPE as you wanted\r\n' 05:45:50.557995 < 21 bytes data, client => server 05:45:50.558010 'SIZE verifiedserver\r\n' 05:45:50.558150 Received DATA (on stdin) 05:45:50.558163 > 8 bytes data, server => client 05:45:50.558174 '213 17\r\n' 05:45:50.558229 < 21 bytes data, client => server 05:45:50.558245 'RETR verifiedserver\r\n' 05:45:50.558602 Received DATA (on stdin) 05:45:50.558613 > 29 bytes data, server => client 05:45:50.558623 '150 Binary junk (17 bytes).\r\n' 05:45:50.559206 Received DATA (on stdin) 05:45:50.559219 > 28 bytes data, server => client 05:45:50.559230 '226 File transfer complete\r\n' 05:45:50.603820 < 6 bytes data, client => server 05:45:50.603860 'QUIT\r\n' 05:45:50.604116 Received DATA (on stdin) 05:45:50.604130 > 18 bytes data, server => client 05:45:50.604141 '221 bye bye baby\r\n' 05:45:50.608149 ====> Client disconnect 05:45:50.608393 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.552155 Running IPv4 version 05:45:51.552244 Listening on port 39369 05:45:51.552291 Wrote pid 83211 to log/6/server/ftp_sockdata.pid 05:45:51.555009 Received PING (on stdin) 05:45:51.557134 Received PORT (on stdin) 05:45:51.557625 ====> Client connect 05:45:51.558512 Received DATA (on stdin) 05:45:51.558525 > 17 bytes data, server => client 05:45:51.558535 'WE ROOLZ: 81206\r\n' 05:45:51.558562 Received DISC (on stdin) 05:45:51.558575 ====> Client forcibly disconnected 05:45:51.558804 Received QUIT (on stdin) 05:45:51.558817 quits 05:45:51.558912 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==83290== ==83290== Process terminating with default action of signal 4 (SIGILL) ==83290== Illegal opcode at address 0x4014883 ==83290== at 0x4014883: getparameter (tool_getparam.c:2899) ==83290== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83290== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83290== by 0x4004208: main (tool_main.c:189) === End of file valgrind136 test 0145...[FTP NLST dir list with weird reply code, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind145 ../src/curl -q --output log/4/curl145.out --include --trace-ascii log/4/trace145 --trace-time ftp://127.0.0.1:43777/ -P - -l > log/4/stdout145 2> log/4/stderr145 145: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind145 ../src/curl -q --output log/4/curl145.out --include --trace-ascii log/4/trace145 --trace-time ftp://127.0.0.1:43777/ -P - -l > log/4/stdout145 2> log/4/stderr145 === End of file commands.log === Start of file ftp_server.log 05:45:51.847127 ====> Client connect 05:45:51.847311 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.847826 < "USER anonymous" 05:45:51.847859 > "331 We are happy you popped in![CR][LF]" 05:45:51.848208 < "PASS ftp@example.com" 05:45:51.848262 > "230 Welcome you silly person[CR][LF]" 05:45:51.848383 < "PWD" 05:45:51.848414 > "257 "/" is current directory[CR][LF]" 05:45:51.848566 < "EPSV" 05:45:51.848593 ====> Passive DATA channel requested by client 05:45:51.848607 DATA sockfilt for passive data channel starting... 05:45:51.858459 DATA sockfilt for passive data channel started (pid 83774) 05:45:51.858646 DATA sockfilt for passive data channel listens on port 44325 05:45:51.858703 > "229 Entering Passive Mode (|||44325|)[CR][LF]" 05:45:51.858721 Client has been notified that DATA conn will be accepted on port 44325 05:45:51.864266 Client connects to port 44325 05:45:51.864321 ====> Client established passive DATA connection on port 44325 05:45:51.864456 < "TYPE I" 05:45:51.864499 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.864693 < "SIZE verifiedserver" 05:45:51.864734 > "213 17[CR][LF]" 05:45:51.864906 < "RETR verifiedserver" 05:45:51.864940 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.865029 =====> Closing passive DATA connection... 05:45:51.865046 Server disconnects passive DATA connection 05:45:51.865174 Server disconnected passive DATA connection 05:45:51.865199 DATA sockfilt for passive data channel quits (pid 83774) 05:45:51.865483 DATA sockfilt for passive data channel quit (pid 83774) 05:45:51.865508 =====> Closed passive DATA connection 05:45:51.865535 > "226 File transfer complete[CR][LF]" 05:45:51.915772 < "QUIT" 05:45:51.915836 > "221 bye bye baby[CR][LF]" 05:45:51.916979 MAIN sockfilt said DISC 05:45:51.917017 ====> Client disconnected 05:45:51.917121 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.308477 ====> Client connect 05:45:52.308819 Received DATA (on stdin) 05:45:52.308833 > 146 bytes data, server => client 05:45:52.308843 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.308853 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.308861 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.309129 < 16 bytes data, client => server 05:45:52.309143 'USER anonymous\r\n' 05:45:52.309328 Received DATA (on stdin) 05:45:52.309338 > 33 bytes data, server => client 05:45:52.309348 '331 We are happy you popped in!\r\n' 05:45:52.309577 < 22 bytes data, client => server 05:45:52.309592 'PASS ftp@example.com\r\n' 05:45:52.309679 Received DATA (on stdin) 05:45:52.309689 > 30 bytes data, server => client 05:45:52.309725 '230 Welcome you silly person\r\n' 05:45:52.309769 < 5 bytes data, client => server 05:45:52.309779 'PWD\r\n' 05:45:52.309878 Received DATA (on stdin) 05:45:52.309888 > 30 bytes data, server => client 05:45:52.309898 '257 "/" is current directory\r\n' 05:45:52.309950 < 6 bytes data, client => server 05:45:52.309960 'EPSV\r\n' 05:45:52.323687 Received DATA (on stdin) 05:45:52.323720 > 39 bytes data, server => client 05:45:52.323732 '229 Entering Passive Mode (|||44325|)\r\n' 05:45:52.323929 < 8 bytes data, client => server 05:45:52.323943 'TYPE I\r\n' 05:45:52.325987 Received DATA (on stdin) 05:45:52.326000 > 33 bytes data, server => client 05:45:52.326010 '200 I modify TYPE as you wanted\r\n' 05:45:52.326068 < 21 bytes data, client => server 05:45:52.326080 'SIZE verifiedserver\r\n' 05:45:52.326200 Received DATA (on stdin) 05:45:52.326211 > 8 bytes data, server => client 05:45:52.326221 '213 17\r\n' 05:45:52.326287 < 21 bytes data, client => server 05:45:52.326298 'RETR verifiedserver\r\n' 05:45:52.327284 Received DATA (on stdin) 05:45:52.327300 > 29 bytes data, server => client 05:45:52.327310 '150 Binary junk (17 bytes).\r\n' 05:45:52.327333 Received DATA (on stdin) 05:45:52.327342 > 28 bytes data, server => client 05:45:52.327352 '226 File transfer complete\r\n' 05:45:52.377023 < 6 bytes data, client => server 05:45:52.377057 'QUIT\r\n' 05:45:52.377310 Received DATA (on stdin) 05:45:52.377323 > 18 bytes data, server => client 05:45:52.377333 '221 bye bye baby\r\n' 05:45:52.378384 ====> Client disconnect 05:45:52.378603 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.316977 Running IPv4 version 05:45:51.319748 Listening on port 44325 05:45:51.319826 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind139 ../src/curl -q --output log/16/curl139.out --include --trace-ascii log/16/trace139 --trace-time ftp://127.0.0.1:41717/blalbla/139 -z "1 jan 1989" > log/16/stdout139 2> log/16/stderr139 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind144 ../src/curl -q --output log/9/curl144.out --include --trace-ascii log/9/trace144 --trace-time ftp://127.0.0.1:39835/ -P - -l > log/9/stdout144 2> log/9/stderr144 Wrote pid 83774 to log/4/server/ftp_sockdata.pid 05:45:51.319854 Received PING (on stdin) 05:45:51.319984 Received PORT (on stdin) 05:45:51.325661 ====> Client connect 05:45:51.326513 Received DATA (on stdin) 05:45:51.326525 > 17 bytes data, server => client 05:45:51.326552 'WE ROOLZ: 81463\r\n' 05:45:51.326578 Received DISC (on stdin) 05:45:51.326589 ====> Client forcibly disconnected 05:45:51.326671 Received QUIT (on stdin) 05:45:51.326682 quits 05:45:51.326770 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 550 Have a taste on this Testnum 145 === End of file server.cmd === Start of file valgrind145 ==83894== ==83894== Process terminating with default action of signal 4 (SIGILL) ==83894== Illegal opcode at address 0x4014883 ==83894== at 0x4014883: getparameter (tool_getparam.c:2899) ==83894== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83894== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83894== by 0x4004208: main (tool_main.c:189) === End of file valgrind145 test 0139...[FTP download a newer file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind139 ../src/curl -q --output log/16/curl139.out --include --trace-ascii log/16/trace139 --trace-time ftp://127.0.0.1:41717/blalbla/139 -z "1 jan 1989" > log/16/stdout139 2> log/16/stderr139 139: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 139 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind139 ../src/curl -q --output log/16/curl139.out --include --trace-ascii log/16/trace139 --trace-time ftp://127.0.0.1:41717/blalbla/139 -z "1 jan 1989" > log/16/stdout139 2> log/16/stderr139 === End of file commands.log === Start of file ftp_server.log 05:45:51.498786 ====> Client connect 05:45:51.499075 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.499395 < "USER anonymous" 05:45:51.499436 > "331 We are happy you popped in![CR][LF]" 05:45:51.499634 < "PASS ftp@example.com" 05:45:51.499670 > "230 Welcome you silly person[CR][LF]" 05:45:51.499858 < "PWD" 05:45:51.499898 > "257 "/" is current directory[CR][LF]" 05:45:51.505711 < "EPSV" 05:45:51.505752 ====> Passive DATA channel requested by client 05:45:51.505766 DATA sockfilt for passive data channel starting... 05:45:51.510529 DATA sockfilt for passive data channel started (pid 83488) 05:45:51.510682 DATA sockfilt for passive data channel listens on port 39057 05:45:51.510744 > "229 Entering Passive Mode (|||39057|)[CR][LF]" 05:45:51.510771 Client has been notified that DATA conn will be accepted on port 39057 05:45:51.511124 Client connects to port 39057 05:45:51.511157 ====> Client established passive DATA connection on port 39057 05:45:51.511254 < "TYPE I" 05:45:51.511294 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.511481 < "SIZE verifiedserver" 05:45:51.511528 > "213 17[CR][LF]" 05:45:51.511708 < "RETR verifiedserver" 05:45:51.511747 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.511839 =====> Closing passive DATA connection... 05:45:51.511858 Server disconnects passive DATA connection 05:45:51.512091 Server disconnected passive DATA connection 05:45:51.512123 DATA sockfilt for passive data channel quits (pid 83488) 05:45:51.512392 DATA sockfilt for passive data channel quit (pid 83488) 05:45:51.512421 =====> Closed passive DATA connection 05:45:51.512451 > "226 File transfer complete[CR][LF]" 05:45:51.552970 < "QUIT" 05:45:51.553029 > "221 bye bye baby[CR][LF]" 05:45:51.554189 MAIN sockfilt said DISC 05:45:51.554219 ====> Client disconnected 05:45:51.554302 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.960106 ====> Client connect 05:45:51.960563 Received DATA (on stdin) 05:45:51.960581 > 146 bytes data, server => client 05:45:51.960594 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.960606 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.960615 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.960697 < 16 bytes data, client => server 05:45:51.960714 'USER anonymous\r\n' 05:45:51.960909 Received DATA (on stdin) 05:45:51.960923 > 33 bytes data, server => client 05:45:51.960934 '331 We are happy you popped in!\r\n' 05:45:51.960992 < 22 bytes data, client => server 05:45:51.961008 'PASS ftp@example.com\r\n' 05:45:51.961141 Received DATA (on stdin) 05:45:51.961155 > 30 bytes data, server => client 05:45:51.961165 '230 Welcome you silly person\r\n' 05:45:51.961223 < 5 bytes data, client => server 05:45:51.961238 'PWD\r\n' 05:45:51.961371 Received DATA (on stdin) 05:45:51.961384 > 30 bytes data, server => client 05:45:51.961394 '257 "/" is current directory\r\n' 05:45:51.967020 < 6 bytes data, client => server 05:45:51.967051 'EPSV\r\n' 05:45:51.972251 Received DATA (on stdin) 05:45:51.972270 > 39 bytes data, server => client 05:45:51.972282 '229 Entering Passive Mode (|||39057|)\r\n' 05:45:51.972504 < 8 bytes data, client => server 05:45:51.972522 'TYPE I\r\n' 05:45:51.972766 Received DATA (on stdin) 05:45:51.972780 > 33 bytes data, server => client 05:45:51.972791 '200 I modify TYPE as you wanted\r\n' 05:45:51.972847 < 21 bytes data, client => server 05:45:51.972861 'SIZE verifiedserver\r\n' 05:45:51.973002 Received DATA (on stdin) 05:45:51.973015 > 8 bytes data, server => client 05:45:51.973025 '213 17\r\n' 05:45:51.973080 < 21 bytes data, client => server 05:45:51.973094 'RETR verifiedserver\r\n' 05:45:51.973325 Received DATA (on stdin) 05:45:51.973338 > 29 bytes data, server => client 05:45:51.973348 '150 Binary junk (17 bytes).\r\n' 05:45:51.973921 Received DATA (on stdin) 05:45:51.973934 > 28 bytes data, server => client 05:45:51.973944 '226 File transfer complete\r\n' 05:45:52.014255 < 6 bytes data, client => server 05:45:52.014284 'QUIT\r\n' 05:45:52.014498 Received DATA (on stdin) 05:45:52.014510 > 18 bytes data, server => client 05:45:52.014520 '221 bye bye baby\r\n' 05:45:52.015604 ====> Client disconnect 05:45:52.015766 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.971609 Running IPv4 version 05:45:51.971703 Listening on port 39057 05:45:51.971747 Wrote pid 83488 to log/16/server/ftp_sockdata.pid 05:45:51.971928 Received PING (on stdin) 05:45:51.972041 Received PORT (on stdin) 05:45:51.972544 ====> Client connect 05:45:51.973375 Received DATA (on stdin) 05:45:51.973388 > 17 bytes data, server => client 05:45:51.973398 'WE ROOLZ: 80884\r\n' 05:45:51.973422 Received DISC (on stdin) 05:45:51.973434 ====> Client forcibly disconnected 05:45:51.973601 Received QUIT (on stdin) 05:45:51.973613 quits 05:45:51.973703 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==83503== ==83503== Process terminating with default action of signal 4 (SIGILL) ==83503== Illegal opcode at address 0x4014883 ==83503== at 0x4014883: getparameter (tool_getparam.c:2899) ==83503== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83503== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83503== by 0x4004208: main (tool_main.c:189) === End of file valgrind139 test 0144...[FTP NLST dir list without contents, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind144 ../src/curl -q --output log/9/curl144.out --include --trace-ascii log/9/trace144 --trace-timCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind143 ../src/curl -q --output log/24/curl143.out --include --trace-ascii log/24/trace143 --trace-time "ftp://127.0.0.1:38499/%2ftmp/moo/143;type=a" > log/24/stdout143 2> log/24/stderr143 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind147 ../src/curl -q --output log/20/curl147.out --include --trace-ascii log/20/trace147 --trace-time ftp://127.0.0.1:43013/first/dir/here/147 --ftp-create-dirs > log/20/stdout147 2> log/20/stderr147 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind141 ../src/curl -q --include --trace-ascii log/23/trace141 --trace-time ftp://127.0.0.1:40271/blalbla/141 -I > log/23/stdout141 2> log/23/stderr141 e ftp://127.0.0.1:39835/ -P - -l > log/9/stdout144 2> log/9/stderr144 144: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind144 ../src/curl -q --output log/9/curl144.out --include --trace-ascii log/9/trace144 --trace-time ftp://127.0.0.1:39835/ -P - -l > log/9/stdout144 2> log/9/stderr144 === End of file commands.log === Start of file ftp_server.log 05:45:51.792250 ====> Client connect 05:45:51.792504 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.795802 < "USER anonymous" 05:45:51.795847 > "331 We are happy you popped in![CR][LF]" 05:45:51.796008 < "PASS ftp@example.com" 05:45:51.796033 > "230 Welcome you silly person[CR][LF]" 05:45:51.796172 < "PWD" 05:45:51.796206 > "257 "/" is current directory[CR][LF]" 05:45:51.796358 < "EPSV" 05:45:51.796382 ====> Passive DATA channel requested by client 05:45:51.796396 DATA sockfilt for passive data channel starting... 05:45:51.804154 DATA sockfilt for passive data channel started (pid 83688) 05:45:51.804315 DATA sockfilt for passive data channel listens on port 32987 05:45:51.804382 > "229 Entering Passive Mode (|||32987|)[CR][LF]" 05:45:51.804412 Client has been notified that DATA conn will be accepted on port 32987 05:45:51.804774 Client connects to port 32987 05:45:51.804810 ====> Client established passive DATA connection on port 32987 05:45:51.804915 < "TYPE I" 05:45:51.804962 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.805150 < "SIZE verifiedserver" 05:45:51.805195 > "213 17[CR][LF]" 05:45:51.805381 < "RETR verifiedserver" 05:45:51.805422 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.805518 =====> Closing passive DATA connection... 05:45:51.805555 Server disconnects passive DATA connection 05:45:51.805750 Server disconnected passive DATA connection 05:45:51.805778 DATA sockfilt for passive data channel quits (pid 83688) 05:45:51.806094 DATA sockfilt for passive data channel quit (pid 83688) 05:45:51.806124 =====> Closed passive DATA connection 05:45:51.806154 > "226 File transfer complete[CR][LF]" 05:45:51.852494 < "QUIT" 05:45:51.852563 > "221 bye bye baby[CR][LF]" 05:45:51.853841 MAIN sockfilt said DISC 05:45:51.853877 ====> Client disconnected 05:45:51.854041 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.243646 ====> Client connect 05:45:51.254002 Received DATA (on stdin) 05:45:51.254033 > 146 bytes data, server => client 05:45:51.254047 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.254058 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.254068 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.257093 < 16 bytes data, client => server 05:45:51.257118 'USER anonymous\r\n' 05:45:51.257316 Received DATA (on stdin) 05:45:51.257328 > 33 bytes data, server => client 05:45:51.257339 '331 We are happy you popped in!\r\n' 05:45:51.257389 < 22 bytes data, client => server 05:45:51.257399 'PASS ftp@example.com\r\n' 05:45:51.257496 Received DATA (on stdin) 05:45:51.257506 > 30 bytes data, server => client 05:45:51.257516 '230 Welcome you silly person\r\n' 05:45:51.257560 < 5 bytes data, client => server 05:45:51.257569 'PWD\r\n' 05:45:51.257669 Received DATA (on stdin) 05:45:51.257680 > 30 bytes data, server => client 05:45:51.257689 '257 "/" is current directory\r\n' 05:45:51.257743 < 6 bytes data, client => server 05:45:51.257753 'EPSV\r\n' 05:45:51.265897 Received DATA (on stdin) 05:45:51.265919 > 39 bytes data, server => client 05:45:51.265932 '229 Entering Passive Mode (|||32987|)\r\n' 05:45:51.266147 < 8 bytes data, client => server 05:45:51.266165 'TYPE I\r\n' 05:45:51.266439 Received DATA (on stdin) 05:45:51.266454 > 33 bytes data, server => client 05:45:51.266465 '200 I modify TYPE as you wanted\r\n' 05:45:51.266520 < 21 bytes data, client => server 05:45:51.266533 'SIZE verifiedserver\r\n' 05:45:51.266671 Received DATA (on stdin) 05:45:51.266685 > 8 bytes data, server => client 05:45:51.266695 '213 17\r\n' 05:45:51.266749 < 21 bytes data, client => server 05:45:51.266764 'RETR verifiedserver\r\n' 05:45:51.267023 Received DATA (on stdin) 05:45:51.267035 > 29 bytes data, server => client 05:45:51.267045 '150 Binary junk (17 bytes).\r\n' 05:45:51.267624 Received DATA (on stdin) 05:45:51.267638 > 28 bytes data, server => client 05:45:51.267648 '226 File transfer complete\r\n' 05:45:51.313693 < 6 bytes data, client => server 05:45:51.313736 'QUIT\r\n' 05:45:51.314033 Received DATA (on stdin) 05:45:51.314045 > 18 bytes data, server => client 05:45:51.314056 '221 bye bye baby\r\n' 05:45:51.315252 ====> Client disconnect 05:45:51.315400 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.264989 Running IPv4 version 05:45:51.265092 Listening on port 32987 05:45:51.265139 Wrote pid 83688 to log/9/server/ftp_sockdata.pid 05:45:51.265546 Received PING (on stdin) 05:45:51.265666 Received PORT (on stdin) 05:45:51.266189 ====> Client connect 05:45:51.267104 Received DATA (on stdin) 05:45:51.267118 > 17 bytes data, server => client 05:45:51.267127 'WE ROOLZ: 81042\r\n' 05:45:51.267154 Received DISC (on stdin) 05:45:51.267166 ====> Client forcibly disconnected 05:45:51.267306 Received QUIT (on stdin) 05:45:51.267322 quits 05:45:51.267382 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 450 No files found Testnum 144 === End of file server.cmd === Start of file valgrind144 ==83798== ==83798== Process terminating with default action of signal 4 (SIGILL) ==83798== Illegal opcode at address 0x4014883 ==83798== at 0x4014883: getparameter (tool_getparam.c:2899) ==83798== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83798== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83798== by 0x4004208: main (tool_main.c:189) === End of file valgrind144 test 0147...[FTP with --ftp-create-dirs (failing CWD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind147 ../src/curl -q --output log/20/curl147.out --include --trace-ascii log/20/trace147 --trace-time ftp://127.0.0.1:43013/first/dir/here/147 --ftp-create-dirs > log/20/stdout147 2> log/20/stderr147 147: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind147 ../src/curl -q --output log/20/curl147.out --include --trace-ascii log/20/trace147 --trace-time ftp://127.0.0.1:43013/first/dir/here/147 --ftp-create-dirs > log/20/stdout147 2> log/20/stderr147 === End of file commands.log === Start of file ftp_server.log 05:45:51.915717 ====> Client connect 05:45:51.915936 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.925781 < "USER anonymous" 05:45:51.925848 > "331 We are happy you popped in![CR][LF]" 05:45:51.926087 < "PASS ftp@example.com" 05:45:51.926115 > "230 Welcome you silly person[CR][LF]" 05:45:51.926257 < "PWD" 05:45:51.926287 > "257 "/" is current directory[CR][LF]" 05:45:51.929042 < "EPSV" 05:45:51.929073 ====> Passive DATA channel requested by client 05:45:51.929088 DATA sockfilt for passive data channel starting... 05:45:51.942513 DATA sockfilt for passive data channel started (pid 83867) 05:45:51.942666 DATA sockfilt for passive data channel listens on port 41645 05:45:51.942724 > "229 Entering Passive Mode (|||41645|)[CR][LF]" 05:45:51.942743 Client has been notified that DATA conn will be accepted on port 41645 05:45:51.943098 Client connects to port 41645 05:45:51.943130 ====> Client established passive DATA connection on port 41645 05:45:51.943236 < "TYPE I" 05:45:51.943268 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.943420 < "SIZE verifiedserver" 05:45:51.943458 > "213 17[CR][LF]" 05:45:51.943601 < "RETR verifiedserver" 05:45:51.943632 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.943732 =====> Closing passive DATA connection... 05:45:51.943748 Server disconnects passive DATA connection 05:45:51.943992 Server disconnected passive DATA connection 05:45:51.944023 DATA sockfilt for passive data channel quits (pid 83867) 05:45:51.944335 DATA sockfilt for passive data channel quit (pid 83867) 05:45:51.944359 =====> Closed passive DATA connection 05:45:51.944388 > "226 File transfer complete[CR][LF]" 05:45:51.995767 < "QUIT" 05:45:51.995832 > "221 bye bye baby[CR][LF]" 05:45:51.997033 MAIN sockfilt said DISC 05:45:51.997070 ====> Client disconnected 05:45:51.997169 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.377022 ====> Client connect 05:45:51.377417 Received DATA (on stdin) 05:45:51.377432 > 146 bytes data, server => client 05:45:51.377444 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.377455 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.377464 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.380487 < 16 bytes data, client => server 05:45:51.380509 'USER anonymous\r\n' 05:45:51.387327 Received DATA (on stdin) 05:45:51.387349 > 33 bytes data, server => client 05:45:51.387360 '331 We are happy you popped in!\r\n' 05:45:51.387466 < 22 bytes data, client => server 05:45:51.387477 'PASS ftp@example.com\r\n' 05:45:51.387579 Received DATA (on stdin) 05:45:51.387589 > 30 bytes data, server => client 05:45:51.387599 '230 Welcome you silly person\r\n' 05:45:51.387645 < 5 bytes data, client => server 05:45:51.387655 'PWD\r\n' 05:45:51.387750 Received DATA (on stdin) 05:45:51.387760 > 30 bytes data, server => client 05:45:51.387770 '257 "/" is current directory\r\n' 05:45:51.390391 < 6 bytes data, client => server 05:45:51.390414 'EPSV\r\n' 05:45:51.404220 Received DATA (on stdin) 05:45:51.404240 > 39 bytes data, server => client 05:45:51.404251 '229 Entering Passive Mode (|||41645|)\r\n' 05:45:51.404475 < 8 bytes data, client => server 05:45:51.404490 'TYPE I\r\n' 05:45:51.404733 Received DATA (on stdin) 05:45:51.404745 > 33 bytes data, server => client 05:45:51.404756 '200 I modify TYPE as you wanted\r\n' 05:45:51.404806 < 21 bytes data, client => server 05:45:51.404816 'SIZE verifiedserver\r\n' 05:45:51.404922 Received DATA (on stdin) 05:45:51.404932 > 8 bytes data, server => client 05:45:51.404942 '213 17\r\n' 05:45:51.404988 < 21 bytes data, client => server 05:45:51.404998 'RETR verifiedserver\r\n' 05:45:51.405212 Received DATA (on stdin) 05:45:51.405222 > 29 bytes data, server => client 05:45:51.405232 '150 Binary junk (17 bytes).\r\n' 05:45:51.405854 Received DATA (on stdin) 05:45:51.405866 > 28 bytes data, server => client 05:45:51.405876 '226 File transfer complete\r\n' 05:45:51.457019 < 6 bytes data, client => server 05:45:51.457058 'QUIT\r\n' 05:45:51.457305 Received DATA (on stdin) 05:45:51.457318 > 18 bytes data, server => client 05:45:51.457328 '221 bye bye baby\r\n' 05:45:51.458443 ====> Client disconnect 05:45:51.460339 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.397832 Running IPv4 version 05:45:51.397937 Listening on port 41645 05:45:51.397981 Wrote pid 83867 to log/20/server/ftp_sockdata.pid 05:45:51.403875 Received PING (on stdin) 05:45:51.404027 Received PORT (on stdin) 05:45:51.404511 ====> Client connect 05:45:51.405286 Received DATA (on stdin) 05:45:51.405301 > 17 bytes data, server => client 05:45:51.405311 'WE ROOLZ: 81041\r\n' 05:45:51.405338 Received DISC (on stdin) 05:45:51.405349 ====> Client forcibly disconnected 05:45:51.405498 Received QUIT (on stdin) 05:45:51.405510 quits 05:45:51.405584 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server COUNT CWD 1 Testnum 147 === End of file server.cmd === Start of file valgrind147 ==83952== ==83952== Process terminating with default action of signal 4 (SIGILL) ==83952== Illegal opcode at address 0x4014883 ==83952== at 0x4014883: getparameter (tool_getparam.c:2899) ==83952== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83952== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83952== by 0x4004208: main (tool_main.c:189) === End of file valgrind147 test 0141...[FTP download info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind141 ../src/curl -q --include --trace-ascii log/23/trace141 --trace-time ftp://127.0.0.1:40271/blalbla/141 -I > log/23/stdout141 2> log/23/stderr141 141: stdout FAILED: --- log/23/check-expected 2026-03-14 05:45:54.011282721 +0000 +++ log/23/check-generated 2026-03-14 05:45:54.011282721 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] -Content-Length: 42[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/23/ directory after test 141 === Start of file check-expected Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] Content-Length: 42[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind141 ../src/curl -q --include --trace-ascii log/23/trace141 --trace-time ftp://127.0.0.1:40271/blalbla/141 -I > log/23/stdout141 2> log/23/stderr141 === End of file commands.log === Start of file ftp_server.log 05:45:51.660557 ====> Client connect 05:45:51.660942 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.661254 < "USER anonymous" 05:45:51.661293 > "331 We are happy you popped in![CR][LF]" 05:45:51.661467 < "PASS ftp@example.com" 05:45:51.661499 > "230 Welcome you silly person[CR][LF]" 05:45:51.661661 < "PWD" 05:45:51.661695 > "257 "/" is current directory[CR][LF]" 05:45:51.661865 < "EPSV" 05:45:51.661895 ====> Passive DATA channel requested by client 05:45:51.661910 DATA sockfilt for passive data channel starting... 05:45:51.666257 DATA sockfilt for passive data channel started (pid 83576) 05:45:51.666416 DATA sockfilt for passive data channel listens on port 37395 05:45:51.666482 > "229 Entering Passive Mode (|||37395|)[CR][LF]" 05:45:51.666503 Client has been notified that DATA conn will be accepted on port 37395 05:45:51.669091 Client connects to port 37395 05:45:51.669136 ====> Client established passive DATA connection on port 37395 05:45:51.669237 < "TYPE I" 05:45:51.669273 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.669427 < "SIZE verifiedserver" 05:45:51.669468 > "213 17[CR][LF]" 05:45:51.669617 < "RETR verifiedserver" 05:45:51.669650 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.669940 =====> Closing passive DATA connection... 05:45:51.669964 Server disconnects passive DATA connection 05:45:51.669988 Fancy that; client wants to DISC, too 05:45:51.670065 Server disconnected passive DATA connection 05:45:51.670088 DATA sockfilt for passive data channel quits (pid 83576) 05:45:51.670367 DATA sockfilt for passive data channel quit (pid 83576) 05:45:51.670393 =====> Closed passive DATA connection 05:45:51.670421 > "226 File transfer complete[CR][LF]" 05:45:51.722371 < "QUIT" 05:45:51.722434 > "221 bye bye baby[CR][LF]" 05:45:51.723683 MAIN sockfilt said DISC 05:45:51.723713 ====> Client disconnected 05:45:51.723820 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.121881 ====> Client connect 05:45:52.122424 Received DATA (on stdin) 05:45:52.122439 > 146 bytes data, server => client 05:45:52.122451 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.122461 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.122471 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.122549 < 16 bytes data, client => server 05:45:52.122563 'USER anonymous\r\n' 05:45:52.122763 Received DATA (on stdin) 05:45:52.122775 > 33 bytes data, server => client 05:45:52.122785 '331 We are happy you popped in!\r\n' 05:45:52.122837 < 22 bytes data, client => server 05:45:52.122849 'PASS ftp@example.com\r\n' 05:45:52.122965 Received DATA (on stdin) 05:45:52.122977 > 30 bytes data, server => client 05:45:52.122987 '230 Welcome you silly person\r\n' 05:45:52.123036 < 5 bytes data, client => server 05:45:52.123048 'PWD\r\n' 05:45:52.123160 Received DATA (on stdin) 05:45:52.123171 > 30 bytes data, server => client 05:45:52.123181 '257 "/" is current directory\r\n' 05:45:52.123242 < 6 bytes data, client => server 05:45:52.123255 'EPSV\r\n' 05:45:52.127980 Received DATA (on stdin) 05:45:52.127997 > 39 bytes data, server => client 05:45:52.128008 '229 Entering Passive Mode (|||37395|)\r\n' 05:45:52.130455 < 8 bytes data, client => server 05:45:52.130474 'TYPE I\r\n' 05:45:52.130742 Received DATA (on stdin) 05:45:52.130753 > 33 bytes data, server => client 05:45:52.130764 '200 I modify TYPE as you wanted\r\n' 05:45:52.130811 < 21 bytes data, client => server 05:45:52.130820 'SIZE verifiedserver\r\n' 05:45:52.130934 Received DATA (on stdin) 05:45:52.130945 > 8 bytes data, server => client 05:45:52.130955 '213 17\r\n' 05:45:52.130998 < 21 bytes data, client => server 05:45:52.131008 'RETR verifiedserver\r\n' 05:45:52.131207 Received DATA (on stdin) 05:45:52.131218 > 29 bytes data, server => client 05:45:52.131229 '150 Binary junk (17 bytes).\r\n' 05:45:52.131887 Received DATA (on stdin) 05:45:52.131900 > 28 bytes data, server => client 05:45:52.131910 '226 File transfer complete\r\n' 05:45:52.180490 < 6 bytes data, client => server 05:45:52.180525 'QUIT\r\n' 05:45:52.183908 Received DATA (on stdin) 05:45:52.183926 > 18 bytes data, server => client 05:45:52.183937 '221 bye bye baby\r\n' 05:45:52.185090 ====> Client disconnect 05:45:52.185285 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.127524 Running IPv4 version 05:45:51.127596 Listening on port 37395 05:45:51.127640 Wrote pid 83576 to log/23/server/ftp_sockdata.pid 05:45:51.127664 Received PING (on stdin) 05:45:51.127768 Received PORT (on stdin) 05:45:51.130498 ====> Client connect 05:45:51.131253 Received DATA (on stdin) 05:45:51.131264 > 17 bytes data, server => client 05:45:51.131278 'WE ROOLZ: 81405\r\n' 05:45:51.131361 ====> Client disconnect 05:45:51.131450 Received DISC (on stdin) 05:45:51.131462 Crikey! Client also wants to disconnect 05:45:51.131472 Received ACKD (on stdin) 05:45:51.131558 Received QUIT (on stdin) 05:45:51.131567 quits 05:45:51.131646 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==83613== ==83613== Process terminating with default action of signal 4 (SIGILL) ==83613== Illegal opcode at address 0x4014883 ==83613== at 0x4014883: getparameter (tool_getparam.c:2899) ==83613== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83613== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83613== by 0x4004208: main (tool_main.c:189) === End of file valgrind141 test 0143...[FTP URL with type=a] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind143 ../src/curl -q --output log/24/curl143.out --include --trace-ascii log/24/trace143 --trace-time "ftp://127.0.0.1:38499/%2ftmp/moo/143;type=a" > log/24/stdout143 2> log/24/stderr143 143: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind143 ../src/curl -q --output log/24/curl143.out --include --trace-ascii log/24/trace143 --trace-time "ftp://127.0.0.1:38499/%2ftmp/moo/143;type=a" > log/24/stdout143 2> log/24/stderr143 === End of file commands.log === Start of file ftp_server.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind142 ../src/curl -q --output log/5/curl142.out --include --trace-ascii log/5/trace142 --trace-time ftp://127.0.0.1:39947/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 > log/5/stdout142 2> log/5/stderr142 05:45:51.664263 ====> Client connect 05:45:51.664517 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.669204 < "USER anonymous" 05:45:51.669254 > "331 We are happy you popped in![CR][LF]" 05:45:51.669422 < "PASS ftp@example.com" 05:45:51.669451 > "230 Welcome you silly person[CR][LF]" 05:45:51.669603 < "PWD" 05:45:51.669640 > "257 "/" is current directory[CR][LF]" 05:45:51.669800 < "EPSV" 05:45:51.669833 ====> Passive DATA channel requested by client 05:45:51.669850 DATA sockfilt for passive data channel starting... 05:45:51.683778 DATA sockfilt for passive data channel started (pid 83577) 05:45:51.683939 DATA sockfilt for passive data channel listens on port 33435 05:45:51.683993 > "229 Entering Passive Mode (|||33435|)[CR][LF]" 05:45:51.684015 Client has been notified that DATA conn will be accepted on port 33435 05:45:51.688970 Client connects to port 33435 05:45:51.689030 ====> Client established passive DATA connection on port 33435 05:45:51.689170 < "TYPE I" 05:45:51.689220 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.695726 < "SIZE verifiedserver" 05:45:51.695807 > "213 17[CR][LF]" 05:45:51.698972 < "RETR verifiedserver" 05:45:51.699033 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.699151 =====> Closing passive DATA connection... 05:45:51.699175 Server disconnects passive DATA connection 05:45:51.699529 Server disconnected passive DATA connection 05:45:51.699565 DATA sockfilt for passive data channel quits (pid 83577) 05:45:51.699853 DATA sockfilt for passive data channel quit (pid 83577) 05:45:51.699885 =====> Closed passive DATA connection 05:45:51.699917 > "226 File transfer complete[CR][LF]" 05:45:51.743981 < "QUIT" 05:45:51.744050 > "221 bye bye baby[CR][LF]" 05:45:51.745614 MAIN sockfilt said DISC 05:45:51.745650 ====> Client disconnected 05:45:51.745754 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.125624 ====> Client connect 05:45:52.130342 Received DATA (on stdin) 05:45:52.130370 > 146 bytes data, server => client 05:45:52.130382 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.130392 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.130401 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.130479 < 16 bytes data, client => server 05:45:52.130489 'USER anonymous\r\n' 05:45:52.130723 Received DATA (on stdin) 05:45:52.130734 > 33 bytes data, server => client 05:45:52.130745 '331 We are happy you popped in!\r\n' 05:45:52.130793 < 22 bytes data, client => server 05:45:52.130804 'PASS ftp@example.com\r\n' 05:45:52.130916 Received DATA (on stdin) 05:45:52.130927 > 30 bytes data, server => client 05:45:52.130938 '230 Welcome you silly person\r\n' 05:45:52.130985 < 5 bytes data, client => server 05:45:52.130995 'PWD\r\n' 05:45:52.131105 Received DATA (on stdin) 05:45:52.131116 > 30 bytes data, server => client 05:45:52.131126 '257 "/" is current directory\r\n' 05:45:52.131181 < 6 bytes data, client => server 05:45:52.131192 'EPSV\r\n' 05:45:52.147005 Received DATA (on stdin) 05:45:52.147037 > 39 bytes data, server => client 05:45:52.147049 '229 Entering Passive Mode (|||33435|)\r\n' 05:45:52.147223 < 8 bytes data, client => server 05:45:52.147239 'TYPE I\r\n' 05:45:52.153685 Received DATA (on stdin) 05:45:52.153708 > 33 bytes data, server => client 05:45:52.153720 '200 I modify TYPE as you wanted\r\n' 05:45:52.153793 < 21 bytes data, client => server 05:45:52.153806 'SIZE verifiedserver\r\n' 05:45:52.159601 Received DATA (on stdin) 05:45:52.159628 > 8 bytes data, server => client 05:45:52.159639 '213 17\r\n' 05:45:52.159728 < 21 bytes data, client => server 05:45:52.159743 'RETR verifiedserver\r\n' 05:45:52.160654 Received DATA (on stdin) 05:45:52.160677 > 29 bytes data, server => client 05:45:52.160690 '150 Binary junk (17 bytes).\r\n' 05:45:52.161389 Received DATA (on stdin) 05:45:52.161403 > 28 bytes data, server => client 05:45:52.161414 '226 File transfer complete\r\n' 05:45:52.205241 < 6 bytes data, client => server 05:45:52.205276 'QUIT\r\n' 05:45:52.205528 Received DATA (on stdin) 05:45:52.205543 > 18 bytes data, server => client 05:45:52.205554 '221 bye bye baby\r\n' 05:45:52.207017 ====> Client disconnect 05:45:52.207224 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.144998 Running IPv4 version 05:45:51.145106 Listening on port 33435 05:45:51.145149 Wrote pid 83577 to log/24/server/ftp_sockdata.pid 05:45:51.145174 Received PING (on stdin) 05:45:51.145299 Received PORT (on stdin) 05:45:51.150350 ====> Client connect 05:45:51.160751 Received DATA (on stdin) 05:45:51.160772 > 17 bytes data, server => client 05:45:51.160783 'WE ROOLZ: 81530\r\n' 05:45:51.160814 Received DISC (on stdin) 05:45:51.160828 ====> Client forcibly disconnected 05:45:51.161043 Received QUIT (on stdin) 05:45:51.161056 quits 05:45:51.161135 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==83637== ==83637== Process terminating with default action of signal 4 (SIGILL) ==83637== Illegal opcode at address 0x4014883 ==83637== at 0x4014883: getparameter (tool_getparam.c:2899) ==83637== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83637== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83637== by 0x4004208: main (tool_main.c:189) === End of file valgrind143 test 0142...[FTP URL with 150 dir levels] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind142 ../src/curl -q --output log/5/curl142.out --include --trace-ascii log/5/trace142 --trace-time ftp://127.0.0.1:39947/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 > log/5/stdout142 2> log/5/stderr142 142: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind142 ../src/curl -q --output log/5/curl142.out --include --trace-ascii log/5/trace142 --trace-time ftp://127.0.0.1:39947/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/partCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind140 ../src/curl -q --output log/8/curl140.out --include --trace-ascii log/8/trace140 --trace-time ftp://127.0.0.1:41333/blalbla/140 -z "1 jan 2004" > log/8/stdout140 2> log/8/stderr140 74/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 > log/5/stdout142 2> log/5/stderr142 === End of file commands.log === Start of file ftp_server.log 05:45:51.629309 ====> Client connect 05:45:51.629493 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.629848 < "USER anonymous" 05:45:51.629895 > "331 We are happy you popped in![CR][LF]" 05:45:51.630097 < "PASS ftp@example.com" 05:45:51.630137 > "230 Welcome you silly person[CR][LF]" 05:45:51.630320 < "PWD" 05:45:51.630361 > "257 "/" is current directory[CR][LF]" 05:45:51.630556 < "EPSV" 05:45:51.630590 ====> Passive DATA channel requested by client 05:45:51.630607 DATA sockfilt for passive data channel starting... 05:45:51.633237 DATA sockfilt for passive data channel started (pid 83560) 05:45:51.633358 DATA sockfilt for passive data channel listens on port 39819 05:45:51.633409 > "229 Entering Passive Mode (|||39819|)[CR][LF]" 05:45:51.633433 Client has been notified that DATA conn will be accepted on port 39819 05:45:51.633645 Client connects to port 39819 05:45:51.633679 ====> Client established passive DATA connection on port 39819 05:45:51.633817 < "TYPE I" 05:45:51.633860 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.634041 < "SIZE verifiedserver" 05:45:51.634085 > "213 17[CR][LF]" 05:45:51.634265 < "RETR verifiedserver" 05:45:51.634306 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.634399 =====> Closing passive DATA connection... 05:45:51.634423 Server disconnects passive DATA connection 05:45:51.634674 Server disconnected passive DATA connection 05:45:51.634708 DATA sockfilt for passive data channel quits (pid 83560) 05:45:51.634966 DATA sockfilt for passive data channel quit (pid 83560) 05:45:51.634997 =====> Closed passive DATA connection 05:45:51.635026 > "226 File transfer complete[CR][LF]" 05:45:51.679238 < "QUIT" 05:45:51.679312 > "221 bye bye baby[CR][LF]" 05:45:51.680529 MAIN sockfilt said DISC 05:45:51.680564 ====> Client disconnected 05:45:51.680649 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.090666 ====> Client connect 05:45:52.090976 Received DATA (on stdin) 05:45:52.090991 > 146 bytes data, server => client 05:45:52.091003 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.091014 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.091023 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.091136 < 16 bytes data, client => server 05:45:52.091153 'USER anonymous\r\n' 05:45:52.091368 Received DATA (on stdin) 05:45:52.091381 > 33 bytes data, server => client 05:45:52.091392 '331 We are happy you popped in!\r\n' 05:45:52.091451 < 22 bytes data, client => server 05:45:52.091467 'PASS ftp@example.com\r\n' 05:45:52.091610 Received DATA (on stdin) 05:45:52.091623 > 30 bytes data, server => client 05:45:52.091633 '230 Welcome you silly person\r\n' 05:45:52.091689 < 5 bytes data, client => server 05:45:52.091704 'PWD\r\n' 05:45:52.091833 Received DATA (on stdin) 05:45:52.091845 > 30 bytes data, server => client 05:45:52.091855 '257 "/" is current directory\r\n' 05:45:52.091922 < 6 bytes data, client => server 05:45:52.091937 'EPSV\r\n' 05:45:52.094908 Received DATA (on stdin) 05:45:52.094922 > 39 bytes data, server => client 05:45:52.094933 '229 Entering Passive Mode (|||39819|)\r\n' 05:45:52.095166 < 8 bytes data, client => server 05:45:52.095181 'TYPE I\r\n' 05:45:52.095334 Received DATA (on stdin) 05:45:52.095348 > 33 bytes data, server => client 05:45:52.095357 '200 I modify TYPE as you wanted\r\n' 05:45:52.095409 < 21 bytes data, client => server 05:45:52.095422 'SIZE verifiedserver\r\n' 05:45:52.095556 Received DATA (on stdin) 05:45:52.095569 > 8 bytes data, server => client 05:45:52.095579 '213 17\r\n' 05:45:52.095635 < 21 bytes data, client => server 05:45:52.095650 'RETR verifiedserver\r\n' 05:45:52.095894 Received DATA (on stdin) 05:45:52.095907 > 29 bytes data, server => client 05:45:52.095918 '150 Binary junk (17 bytes).\r\n' 05:45:52.096496 Received DATA (on stdin) 05:45:52.096509 > 28 bytes data, server => client 05:45:52.096520 '226 File transfer complete\r\n' 05:45:52.140488 < 6 bytes data, client => server 05:45:52.140522 'QUIT\r\n' 05:45:52.140790 Received DATA (on stdin) 05:45:52.140805 > 18 bytes data, server => client 05:45:52.140815 '221 bye bye baby\r\n' 05:45:52.141931 ====> Client disconnect 05:45:52.142129 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.094389 Running IPv4 version 05:45:51.094454 Listening on port 39819 05:45:51.094494 Wrote pid 83560 to log/5/server/ftp_sockdata.pid 05:45:51.094640 Received PING (on stdin) 05:45:51.094733 Received PORT (on stdin) 05:45:51.095056 ====> Client connect 05:45:51.095946 Received DATA (on stdin) 05:45:51.095960 > 17 bytes data, server => client 05:45:51.095970 'WE ROOLZ: 81382\r\n' 05:45:51.095997 Received DISC (on stdin) 05:45:51.096010 ====> Client forcibly disconnected 05:45:51.096186 Received QUIT (on stdin) 05:45:51.096200 quits 05:45:51.096283 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==83589== ==83589== Process terminating with default action of signal 4 (SIGILL) ==83589== Illegal opcode at address 0x4014883 ==83589== at 0x4014883: getparameter (tool_getparam.c:2899) ==83589== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83589== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83589== by 0x4004208: main (tool_main.c:189) === End of file valgrind142 test 0140...[FTP download file with -z, expected to not transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind140 ../src/curl -q --output log/8/curl140.out --include --trace-ascii log/8/trace140 --trace-time ftp://127.0.0.1:41333/blalbla/140 -z "1 jan 2004" > log/8/stdout140 2> log/8/stderr140 140: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 140 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind140 ../src/curl -q --output log/8/curl140.out --include --trace-ascii log/8/trace140 --trace-time ftp://127.0.0.1:41333/blalbla/140 -z "1 jan 2004" > log/8/stdout140 2> log/8/stderr140 === End of file commands.log === Start of file ftp_server.log 05:45:51.619020 ====> Client connect 05:45:51.619276 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.619651 < "USER anonymous" 05:45:51.619698 > "331 We are happy you popped in![CR][LF]" 05:45:51.619895 < "PASS ftp@example.com" 05:45:51.619931 > "230 Welcome you silly person[CR][LF]" 05:45:51.620108 < "PWD" 05:45:51.620149 > "257 "/" is current directory[CR][LF]" 05:45:51.620338 < "EPSV" 05:45:51.620371 ====> Passive DATA channel requested by client 05:45:51.620389 DATA sockfilt for passive data channel starting... 05:45:51.628906 DATA sockfilt for passive data channel starCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind148 ../src/curl -q --output log/14/curl148.out --include --trace-ascii log/14/trace148 --trace-time ftp://127.0.0.1:46299/attempt/to/get/this/148 --ftp-create-dirs > log/14/stdout148 2> log/14/stderr148 ted (pid 83552) 05:45:51.629111 DATA sockfilt for passive data channel listens on port 46617 05:45:51.629174 > "229 Entering Passive Mode (|||46617|)[CR][LF]" 05:45:51.629195 Client has been notified that DATA conn will be accepted on port 46617 05:45:51.632274 Client connects to port 46617 05:45:51.632310 ====> Client established passive DATA connection on port 46617 05:45:51.632423 < "TYPE I" 05:45:51.632465 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.638974 < "SIZE verifiedserver" 05:45:51.639032 > "213 17[CR][LF]" 05:45:51.639800 < "RETR verifiedserver" 05:45:51.639841 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.639942 =====> Closing passive DATA connection... 05:45:51.639961 Server disconnects passive DATA connection 05:45:51.640135 Server disconnected passive DATA connection 05:45:51.640162 DATA sockfilt for passive data channel quits (pid 83552) 05:45:51.640449 DATA sockfilt for passive data channel quit (pid 83552) 05:45:51.640478 =====> Closed passive DATA connection 05:45:51.640508 > "226 File transfer complete[CR][LF]" 05:45:51.685829 < "QUIT" 05:45:51.685885 > "221 bye bye baby[CR][LF]" 05:45:51.687353 MAIN sockfilt said DISC 05:45:51.687385 ====> Client disconnected 05:45:51.687463 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.080349 ====> Client connect 05:45:52.080759 Received DATA (on stdin) 05:45:52.080774 > 146 bytes data, server => client 05:45:52.080786 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.080796 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.080806 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.080930 < 16 bytes data, client => server 05:45:52.080948 'USER anonymous\r\n' 05:45:52.081174 Received DATA (on stdin) 05:45:52.081188 > 33 bytes data, server => client 05:45:52.081199 '331 We are happy you popped in!\r\n' 05:45:52.081257 < 22 bytes data, client => server 05:45:52.081273 'PASS ftp@example.com\r\n' 05:45:52.081401 Received DATA (on stdin) 05:45:52.081415 > 30 bytes data, server => client 05:45:52.081425 '230 Welcome you silly person\r\n' 05:45:52.081479 < 5 bytes data, client => server 05:45:52.081491 'PWD\r\n' 05:45:52.081618 Received DATA (on stdin) 05:45:52.081631 > 30 bytes data, server => client 05:45:52.081641 '257 "/" is current directory\r\n' 05:45:52.081707 < 6 bytes data, client => server 05:45:52.081721 'EPSV\r\n' 05:45:52.091195 Received DATA (on stdin) 05:45:52.091218 > 39 bytes data, server => client 05:45:52.091229 '229 Entering Passive Mode (|||46617|)\r\n' 05:45:52.091389 < 8 bytes data, client => server 05:45:52.091406 'TYPE I\r\n' 05:45:52.094019 Received DATA (on stdin) 05:45:52.094037 > 33 bytes data, server => client 05:45:52.094049 '200 I modify TYPE as you wanted\r\n' 05:45:52.094111 < 21 bytes data, client => server 05:45:52.094124 'SIZE verifiedserver\r\n' 05:45:52.100503 Received DATA (on stdin) 05:45:52.100516 > 8 bytes data, server => client 05:45:52.100524 '213 17\r\n' 05:45:52.101144 < 21 bytes data, client => server 05:45:52.101162 'RETR verifiedserver\r\n' 05:45:52.101429 Received DATA (on stdin) 05:45:52.101441 > 29 bytes data, server => client 05:45:52.101452 '150 Binary junk (17 bytes).\r\n' 05:45:52.101975 Received DATA (on stdin) 05:45:52.101987 > 28 bytes data, server => client 05:45:52.101998 '226 File transfer complete\r\n' 05:45:52.147108 < 6 bytes data, client => server 05:45:52.147131 'QUIT\r\n' 05:45:52.147356 Received DATA (on stdin) 05:45:52.147369 > 18 bytes data, server => client 05:45:52.147379 '221 bye bye baby\r\n' 05:45:52.148761 ====> Client disconnect 05:45:52.148935 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.087197 Running IPv4 version 05:45:51.087297 Listening on port 46617 05:45:51.087342 Wrote pid 83552 to log/8/server/ftp_sockdata.pid 05:45:51.087365 Received PING (on stdin) 05:45:51.090451 Received PORT (on stdin) 05:45:51.093676 ====> Client connect 05:45:51.101485 Received DATA (on stdin) 05:45:51.101501 > 17 bytes data, server => client 05:45:51.101512 'WE ROOLZ: 81360\r\n' 05:45:51.101538 Received DISC (on stdin) 05:45:51.101550 ====> Client forcibly disconnected 05:45:51.101637 Received QUIT (on stdin) 05:45:51.101647 quits 05:45:51.101718 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==83631== ==83631== Process terminating with default action of signal 4 (SIGILL) ==83631== Illegal opcode at address 0x4014883 ==83631== at 0x4014883: getparameter (tool_getparam.c:2899) ==83631== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83631== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83631== by 0x4004208: main (tool_main.c:189) === End of file valgrind140 test 0148...[FTP with --ftp-create-dirs (failing MKD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind148 ../src/curl -q --output log/14/curl148.out --include --trace-ascii log/14/trace148 --trace-time ftp://127.0.0.1:46299/attempt/to/get/this/148 --ftp-create-dirs > log/14/stdout148 2> log/14/stderr148 148: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind148 ../src/curl -q --output log/14/curl148.out --include --trace-ascii log/14/trace148 --trace-time ftp://127.0.0.1:46299/attempt/to/get/this/148 --ftp-create-dirs > log/14/stdout148 2> log/14/stderr148 === End of file commands.log === Start of file ftp_server.log 05:45:51.979041 ====> Client connect 05:45:51.979222 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.979577 < "USER anonymous" 05:45:51.979616 > "331 We are happy you popped in![CR][LF]" 05:45:51.979807 < "PASS ftp@example.com" 05:45:51.979839 > "230 Welcome you silly person[CR][LF]" 05:45:51.980019 < "PWD" 05:45:51.980054 > "257 "/" is current directory[CR][LF]" 05:45:51.980246 < "EPSV" 05:45:51.980273 ====> Passive DATA channel requested by client 05:45:51.980290 DATA sockfilt for passive data channel starting... 05:45:51.986334 DATA sockfilt for passive data channel started (pid 83921) 05:45:51.986481 DATA sockfilt for passive data channel listens on port 42203 05:45:51.986538 > "229 Entering Passive Mode (|||42203|)[CR][LF]" 05:45:51.986557 Client has been notified that DATA conn will be accepted on port 42203 05:45:51.986881 Client connects to port 42203 05:45:51.986914 ====> Client established passive DATA connection on port 42203 05:45:51.987013 < "TYPE I" 05:45:51.987054 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.987235 < "SIZE verifiedserver" 05:45:51.987279 > "213 17[CR][LF]" 05:45:51.987456 < "RETR verifiedserver" 05:45:51.987499 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.987600 =====> Closing passive DATA connection... 05:45:51.987623 Server disconnects passive DATA connection 05:45:51.987898 Server disconnected passive DATA connection 05:45:51.987930 DATA sockfilt for passive data channel quits (pid 83921) 05:45:51.988221 DATA sockfilt for passive data channel quit (pid 83921) 05:45:51.988250 =====> Closed passive DATA connection 05:45:51.988280 > "226 File transfer complete[CR][LF]" 05:45:52.032517 < "QUIT" 05:45:52.032576 > "221 bye bye baby[CR][LF]" 05:45:52.033792 MAIN sockfilt said DISC 05:45:52.033826 ====> Client disconnected 05:45:52.033923 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.440352 ====> Client connect 05:45:51.440706 ReceiveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind146 ../src/curl -q --output log/13/curl146.out --include --trace-ascii log/13/trace146 --trace-time ftp://127.0.0.1:46845/first/dir/here/146 ftp://127.0.0.1:46845/146 > log/13/stdout146 2> log/13/stderr146 d DATA (on stdin) 05:45:51.440723 > 146 bytes data, server => client 05:45:51.440736 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.440747 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.440757 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.440880 < 16 bytes data, client => server 05:45:51.440897 'USER anonymous\r\n' 05:45:51.441090 Received DATA (on stdin) 05:45:51.441103 > 33 bytes data, server => client 05:45:51.441114 '331 We are happy you popped in!\r\n' 05:45:51.441172 < 22 bytes data, client => server 05:45:51.441188 'PASS ftp@example.com\r\n' 05:45:51.441310 Received DATA (on stdin) 05:45:51.441323 > 30 bytes data, server => client 05:45:51.441334 '230 Welcome you silly person\r\n' 05:45:51.441388 < 5 bytes data, client => server 05:45:51.441403 'PWD\r\n' 05:45:51.441524 Received DATA (on stdin) 05:45:51.441537 > 30 bytes data, server => client 05:45:51.441548 '257 "/" is current directory\r\n' 05:45:51.441616 < 6 bytes data, client => server 05:45:51.441630 'EPSV\r\n' 05:45:51.448035 Received DATA (on stdin) 05:45:51.448054 > 39 bytes data, server => client 05:45:51.448066 '229 Entering Passive Mode (|||42203|)\r\n' 05:45:51.448259 < 8 bytes data, client => server 05:45:51.448277 'TYPE I\r\n' 05:45:51.448523 Received DATA (on stdin) 05:45:51.448536 > 33 bytes data, server => client 05:45:51.448547 '200 I modify TYPE as you wanted\r\n' 05:45:51.448604 < 21 bytes data, client => server 05:45:51.448618 'SIZE verifiedserver\r\n' 05:45:51.448747 Received DATA (on stdin) 05:45:51.448759 > 8 bytes data, server => client 05:45:51.448770 '213 17\r\n' 05:45:51.448827 < 21 bytes data, client => server 05:45:51.448842 'RETR verifiedserver\r\n' 05:45:51.449093 Received DATA (on stdin) 05:45:51.449106 > 29 bytes data, server => client 05:45:51.449117 '150 Binary junk (17 bytes).\r\n' 05:45:51.449749 Received DATA (on stdin) 05:45:51.449763 > 28 bytes data, server => client 05:45:51.449775 '226 File transfer complete\r\n' 05:45:51.493791 < 6 bytes data, client => server 05:45:51.493818 'QUIT\r\n' 05:45:51.494051 Received DATA (on stdin) 05:45:51.494066 > 18 bytes data, server => client 05:45:51.494077 '221 bye bye baby\r\n' 05:45:51.495202 ====> Client disconnect 05:45:51.495397 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.443913 Running IPv4 version 05:45:51.443983 Listening on port 42203 05:45:51.444018 Wrote pid 83921 to log/14/server/ftp_sockdata.pid 05:45:51.447722 Received PING (on stdin) 05:45:51.447842 Received PORT (on stdin) 05:45:51.448298 ====> Client connect 05:45:51.449181 Received DATA (on stdin) 05:45:51.449197 > 17 bytes data, server => client 05:45:51.449208 'WE ROOLZ: 81045\r\n' 05:45:51.449237 Received DISC (on stdin) 05:45:51.449252 ====> Client forcibly disconnected 05:45:51.449407 Received QUIT (on stdin) 05:45:51.449419 quits 05:45:51.449516 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server REPLY MKD 550 We will have no such thing Testnum 148 === End of file server.cmd === Start of file valgrind148 ==84018== ==84018== Process terminating with default action of signal 4 (SIGILL) ==84018== Illegal opcode at address 0x4014883 ==84018== at 0x4014883: getparameter (tool_getparam.c:2899) ==84018== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84018== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84018== by 0x4004208: main (tool_main.c:189) === End of file valgrind148 test 0146...[persistent FTP with different paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind146 ../src/curl -q --output log/13/curl146.out --include --trace-ascii log/13/trace146 --trace-time ftp://127.0.0.1:46845/first/dir/here/146 ftp://127.0.0.1:46845/146 > log/13/stdout146 2> log/13/stderr146 146: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 146 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind146 ../src/curl -q --output log/13/curl146.out --include --trace-ascii log/13/trace146 --trace-time ftp://127.0.0.1:46845/first/dir/here/146 ftp://127.0.0.1:46845/146 > log/13/stdout146 2> log/13/stderr146 === End of file commands.log === Start of file ftp_server.log 05:45:51.877446 ====> Client connect 05:45:51.877638 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:51.885966 < "USER anonymous" 05:45:51.886019 > "331 We are happy you popped in![CR][LF]" 05:45:51.886173 < "PASS ftp@example.com" 05:45:51.886197 > "230 Welcome you silly person[CR][LF]" 05:45:51.886335 < "PWD" 05:45:51.886366 > "257 "/" is current directory[CR][LF]" 05:45:51.886522 < "EPSV" 05:45:51.886551 ====> Passive DATA channel requested by client 05:45:51.886565 DATA sockfilt for passive data channel starting... 05:45:51.893281 DATA sockfilt for passive data channel started (pid 83812) 05:45:51.893442 DATA sockfilt for passive data channel listens on port 39703 05:45:51.893508 > "229 Entering Passive Mode (|||39703|)[CR][LF]" 05:45:51.893531 Client has been notified that DATA conn will be accepted on port 39703 05:45:51.897892 Client connects to port 39703 05:45:51.897953 ====> Client established passive DATA connection on port 39703 05:45:51.898073 < "TYPE I" 05:45:51.898109 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:51.905762 < "SIZE verifiedserver" 05:45:51.905840 > "213 17[CR][LF]" 05:45:51.906061 < "RETR verifiedserver" 05:45:51.906099 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:51.906203 =====> Closing passive DATA connection... 05:45:51.906225 Server disconnects passive DATA connection 05:45:51.906514 Server disconnected passive DATA connection 05:45:51.906548 DATA sockfilt for passive data channel quits (pid 83812) 05:45:51.906819 DATA sockfilt for passive data channel quit (pid 83812) 05:45:51.906845 =====> Closed passive DATA connection 05:45:51.906871 > "226 File transfer complete[CR][LF]" 05:45:51.952557 < "QUIT" 05:45:51.952611 > "221 bye bye baby[CR][LF]" 05:45:51.953621 MAIN sockfilt said DISC 05:45:51.953648 ====> Client disconnected 05:45:51.953743 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.338778 ====> Client connect 05:45:52.347011 Received DATA (on stdin) 05:45:52.347059 > 146 bytes data, server => client 05:45:52.347071 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.347082 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.347091 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.347211 < 16 bytes data, client => server 05:45:52.347222 'USER anonymous\r\n' 05:45:52.347488 Received DATA (on stdin) 05:45:52.347498 > 33 bytes data, server => client 05:45:52.347507 '331 We are happy you popped in!\r\n' 05:45:52.347554 < 22 bytes data, client => server 05:45:52.347564 'PASS ftp@example.com\r\n' 05:45:52.347659 Received DATA (on stdin) 05:45:52.347669 > 30 bytes data, server => client 05:45:52.347678 '230 Welcome you silly person\r\n' 05:45:52.347719 < 5 bytes data, client => server 05:45:52.347729 'PWD\r\n' 05:45:52.347834 Received DATA (on stdin) 05:45:52.347844 > 30 bytes data, server => client 05:45:52.347853 '257 "/" is current directory\r\n' 05:45:52.347907 < 6 bytes data, client => server 05:45:52.347917 'EPSV\r\n' 05:45:52.355017 Received DATA (on stdin) 05:45:52.355036 > 39 bytes data, server => client 05:45:52.355046 '229 Entering Passive Mode (|||39703|)\r\n' 05:45:52.359235 < 8 bytes data, client => server 05:45:52.359264 'TYPE I\r\n' 05:45CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind149 ../src/curl -q --output log/1/curl149.out --include --trace-ascii log/1/trace149 --trace-time -T log/1/upload149 ftp://127.0.0.1:41623/dir1/149 -T log/1/upload149 ftp://127.0.0.1:41623/dir2/149 > log/1/stdout149 2> log/1/stderr149 :52.359574 Received DATA (on stdin) 05:45:52.359585 > 33 bytes data, server => client 05:45:52.359594 '200 I modify TYPE as you wanted\r\n' 05:45:52.367018 < 21 bytes data, client => server 05:45:52.367054 'SIZE verifiedserver\r\n' 05:45:52.367326 Received DATA (on stdin) 05:45:52.367340 > 8 bytes data, server => client 05:45:52.367351 '213 17\r\n' 05:45:52.367430 < 21 bytes data, client => server 05:45:52.367444 'RETR verifiedserver\r\n' 05:45:52.367695 Received DATA (on stdin) 05:45:52.367707 > 29 bytes data, server => client 05:45:52.367718 '150 Binary junk (17 bytes).\r\n' 05:45:52.368337 Received DATA (on stdin) 05:45:52.368350 > 28 bytes data, server => client 05:45:52.368361 '226 File transfer complete\r\n' 05:45:52.413824 < 6 bytes data, client => server 05:45:52.413862 'QUIT\r\n' 05:45:52.414076 Received DATA (on stdin) 05:45:52.414086 > 18 bytes data, server => client 05:45:52.414095 '221 bye bye baby\r\n' 05:45:52.415033 ====> Client disconnect 05:45:52.415206 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:51.354356 Running IPv4 version 05:45:51.354448 Listening on port 39703 05:45:51.354489 Wrote pid 83812 to log/13/server/ftp_sockdata.pid 05:45:51.354679 Received PING (on stdin) 05:45:51.354792 Received PORT (on stdin) 05:45:51.359293 ====> Client connect 05:45:51.367783 Received DATA (on stdin) 05:45:51.367801 > 17 bytes data, server => client 05:45:51.367812 'WE ROOLZ: 81411\r\n' 05:45:51.367845 Received DISC (on stdin) 05:45:51.367864 ====> Client forcibly disconnected 05:45:51.368026 Received QUIT (on stdin) 05:45:51.368039 quits 05:45:51.368127 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==83909== ==83909== Process terminating with default action of signal 4 (SIGILL) ==83909== Illegal opcode at address 0x4014883 ==83909== at 0x4014883: getparameter (tool_getparam.c:2899) ==83909== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==83909== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==83909== by 0x4004208: main (tool_main.c:189) === End of file valgrind146 test 0149...[FTP with multiple uploads] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind149 ../src/curl -q --output log/1/curl149.out --include --trace-ascii log/1/trace149 --trace-time -T log/1/upload149 ftp://127.0.0.1:41623/dir1/149 -T log/1/upload149 ftp://127.0.0.1:41623/dir2/149 > log/1/stdout149 2> log/1/stderr149 149: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind149 ../src/curl -q --output log/1/curl149.out --include --trace-ascii log/1/trace149 --trace-time -T log/1/upload149 ftp://127.0.0.1:41623/dir1/149 -T log/1/upload149 ftp://127.0.0.1:41623/dir2/149 > log/1/stdout149 2> log/1/stderr149 === End of file commands.log === Start of file ftp_server.log 05:45:52.032350 ====> Client connect 05:45:52.032557 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:52.039061 < "USER anonymous" 05:45:52.039120 > "331 We are happy you popped in![CR][LF]" 05:45:52.045719 < "PASS ftp@example.com" 05:45:52.045778 > "230 Welcome you silly person[CR][LF]" 05:45:52.049176 < "PWD" 05:45:52.049241 > "257 "/" is current directory[CR][LF]" 05:45:52.049429 < "EPSV" 05:45:52.049463 ====> Passive DATA channel requested by client 05:45:52.049481 DATA sockfilt for passive data channel starting... 05:45:52.056177 DATA sockfilt for passive data channel started (pid 84002) 05:45:52.056323 DATA sockfilt for passive data channel listens on port 45199 05:45:52.056385 > "229 Entering Passive Mode (|||45199|)[CR][LF]" 05:45:52.056404 Client has been notified that DATA conn will be accepted on port 45199 05:45:52.056736 Client connects to port 45199 05:45:52.056768 ====> Client established passive DATA connection on port 45199 05:45:52.056873 < "TYPE I" 05:45:52.056909 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:52.057075 < "SIZE verifiedserver" 05:45:52.057121 > "213 17[CR][LF]" 05:45:52.057291 < "RETR verifiedserver" 05:45:52.057326 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:52.057419 =====> Closing passive DATA connection... 05:45:52.057437 Server disconnects passive DATA connection 05:45:52.057672 Server disconnected passive DATA connection 05:45:52.057705 DATA sockfilt for passive data channel quits (pid 84002) 05:45:52.057989 DATA sockfilt for passive data channel quit (pid 84002) 05:45:52.058018 =====> Closed passive DATA connection 05:45:52.058046 > "226 File transfer complete[CR][LF]" 05:45:52.102616 < "QUIT" 05:45:52.102682 > "221 bye bye baby[CR][LF]" 05:45:52.103933 MAIN sockfilt said DISC 05:45:52.103966 ====> Client disconnected 05:45:52.104076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:51.493678 ====> Client connect 05:45:51.494037 Received DATA (on stdin) 05:45:51.494052 > 146 bytes data, server => client 05:45:51.494065 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:51.494076 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:51.494086 '220 \___|\___/|_| \_\_____|\r\n' 05:45:51.495063 < 16 bytes data, client => server 05:45:51.495093 'USER anonymous\r\n' 05:45:51.503674 Received DATA (on stdin) 05:45:51.503705 > 33 bytes data, server => client 05:45:51.503717 '331 We are happy you popped in!\r\n' 05:45:51.507012 < 22 bytes data, client => server 05:45:51.507034 'PASS ftp@example.com\r\n' 05:45:51.507248 Received DATA (on stdin) 05:45:51.507260 > 30 bytes data, server => client 05:45:51.507271 '230 Welcome you silly person\r\n' 05:45:51.510466 < 5 bytes data, client => server 05:45:51.510498 'PWD\r\n' 05:45:51.510714 Received DATA (on stdin) 05:45:51.510727 > 30 bytes data, server => client 05:45:51.510738 '257 "/" is current directory\r\n' 05:45:51.510804 < 6 bytes data, client => server 05:45:51.510817 'EPSV\r\n' 05:45:51.517882 Received DATA (on stdin) 05:45:51.517900 > 39 bytes data, server => client 05:45:51.517911 '229 Entering Passive Mode (|||45199|)\r\n' 05:45:51.518112 < 8 bytes data, client => server 05:45:51.518132 'TYPE I\r\n' 05:45:51.518377 Received DATA (on stdin) 05:45:51.518389 > 33 bytes data, server => client 05:45:51.518400 '200 I modify TYPE as you wanted\r\n' 05:45:51.518453 < 21 bytes data, client => server 05:45:51.518465 'SIZE verifiedserver\r\n' 05:45:51.518591 Received DATA (on stdin) 05:45:51.518602 > 8 bytes data, server => client 05:45:51.518612 '213 17\r\n' 05:45:51.518664 < 21 bytes data, client => server 05:45:51.518677 'RETR verifiedserver\r\n' 05:45:51.518904 Received DATA (on stdin) 05:45:51.518916 > 29 bytes data, server => client 05:45:51.518926 '150 Binary junk (17 bytes).\r\n' 05:45:51.519512 Received DATA (on stdin) 05:45:51.519524 > 28 bytes data, server => client 05:45:51.519534 '226 File transfer complete\r\n' 05:45:51.563832 < 6 bytes data, client => server 05:45:51.563874 'QUIT\r\n' 05:45:51.564155 Received DATA (on stdin) 05:45:51.564168 > 18 bytes data, server => client 05:45:51.564178 '221 bye bye baby\r\n' 05:45:51.565333 ====> Client disconnect 05:45:51.565547 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:52.514900 Running IPv4 version 05:45:52.514992 Listening on port 45199 05:45:52.515033 Wrote pid 84002 to log/1/server/ftp_sockdata.pid 05:45:52.517548 Received PING (on stdin) 05:45:52.517684 Received PORT (on stdin) 05:45:52.518154 =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind152 ../src/curl -q --output log/10/curl152.out --include --trace-ascii log/10/trace152 --trace-time http://127.0.0.1:46741/152 --fail > log/10/stdout152 2> log/10/stderr152 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind154 ../src/curl -q --output log/15/curl154.out --include --trace-ascii log/15/trace154 --trace-time http://127.0.0.1:43413/154 -T log/15/put154 -u testuser:testpass --anyauth > log/15/stdout154 2> log/15/stderr154 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind150 ../src/curl -q --output log/12/curl150.out --include --trace-ascii log/12/trace150 --trace-time http://127.0.0.1:36353/150 -u testuser:testpass --ntlm --fail > log/12/stdout150 2> log/12/stderr150 ===> Client connect 05:45:52.518954 Received DATA (on stdin) 05:45:52.518966 > 17 bytes data, server => client 05:45:52.518977 'WE ROOLZ: 81663\r\n' 05:45:52.519000 Received DISC (on stdin) 05:45:52.519011 ====> Client forcibly disconnected 05:45:52.519180 Received QUIT (on stdin) 05:45:52.519191 quits 05:45:52.519283 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 149 === End of file server.cmd === Start of file upload149 send away this contents === End of file upload149 === Start of file valgrind149 ==84081== ==84081== Process terminating with default action of signal 4 (SIGILL) ==84081== Illegal opcode at address 0x4014883 ==84081== at 0x4014883: getparameter (tool_getparam.c:2899) ==84081== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84081== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84081== by 0x4004208: main (tool_main.c:189) === End of file valgrind149 test 0152...[HTTP GET with an error code that might trick authentication and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind152 ../src/curl -q --output log/10/curl152.out --include --trace-ascii log/10/trace152 --trace-time http://127.0.0.1:46741/152 --fail > log/10/stdout152 2> log/10/stderr152 152: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind152 ../src/curl -q --output log/10/curl152.out --include --trace-ascii log/10/trace152 --trace-time http://127.0.0.1:46741/152 --fail > log/10/stdout152 2> log/10/stderr152 === End of file commands.log === Start of file http_server.log 05:45:52.072704 ====> Client connect 05:45:52.072743 accept_connection 3 returned 4 05:45:52.072761 accept_connection 3 returned 0 05:45:52.072777 Read 93 bytes 05:45:52.072788 Process 93 bytes request 05:45:52.072802 Got request: GET /verifiedserver HTTP/1.1 05:45:52.072812 Are-we-friendly question received 05:45:52.072839 Wrote request (93 bytes) input to log/10/server.input 05:45:52.072858 Identifying ourselves as friends 05:45:52.073035 Response sent (56 bytes) and written to log/10/server.response 05:45:52.073048 special request received, no persistency 05:45:52.073057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 41902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 152 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind152 ==84390== ==84390== Process terminating with default action of signal 4 (SIGILL) ==84390== Illegal opcode at address 0x4014883 ==84390== at 0x4014883: getparameter (tool_getparam.c:2899) ==84390== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84390== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84390== by 0x4004208: main (tool_main.c:189) === End of file valgrind152 test 0154...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind154 ../src/curl -q --output log/15/curl154.out --include --trace-ascii log/15/trace154 --trace-time http://127.0.0.1:43413/154 -T log/15/put154 -u testuser:testpass --anyauth > log/15/stdout154 2> log/15/stderr154 154: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind154 ../src/curl -q --output log/15/curl154.out --include --trace-ascii log/15/trace154 --trace-time http://127.0.0.1:43413/154 -T log/15/put154 -u testuser:testpass --anyauth > log/15/stdout154 2> log/15/stderr154 === End of file commands.log === Start of file http_server.log 05:45:53.169629 ====> Client connect 05:45:53.169664 accept_connection 3 returned 4 05:45:53.169681 accept_connection 3 returned 0 05:45:53.169696 Read 93 bytes 05:45:53.169706 Process 93 bytes request 05:45:53.169720 Got request: GET /verifiedserver HTTP/1.1 05:45:53.169730 Are-we-friendly question received 05:45:53.169754 Wrote request (93 bytes) input to log/15/server.input 05:45:53.169772 Identifying ourselves as friends 05:45:53.169832 Response sent (56 bytes) and written to log/15/server.response 05:45:53.169843 special request received, no persistency 05:45:53.169852 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 60884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file put154 This is data we upload with PUT a second line line three four is the number of lines === End of file put154 === Start of file server.cmd Testnum 154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind154 ==84441== ==84441== Process terminating with default action of signal 4 (SIGILL) ==84441== Illegal opcode at address 0x4014883 ==84441== at 0x4014883: getparameter (tool_getparam.c:2899) ==84441== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84441== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84441== by 0x4004208: main (tool_main.c:189) === End of file valgrind154 test 0150...[HTTP with NTLM authorization and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind150 ../src/curl -q --output log/12/curl150.out --include --trace-ascii log/12/trace150 --trace-time http://127.0.0.1:36353/150 -u testuser:testpass --ntlm --fail > log/12/stdout150 2> log/12/stderr150 150: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind150 ../src/curl -q --output log/12/curl150.out --include --trace-ascii log/12/trace150 --trace-time http://127.0.0.1:36353/150 -u testuser:testpass --ntlm --fail > log/12/stdout150 2> log/12/stderr150 === End of file commands.log === Start of file http_server.log 05:45:52.753758 ====> Client connect 05:45:52.753803 accept_connection 3 reCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind151 ../src/curl -q --output log/21/curl151.out --include --trace-ascii log/21/trace151 --trace-time http://127.0.0.1:42891/151 > log/21/stdout151 2> log/21/stderr151 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind158 ../src/curl -q --output log/19/curl158.out --include --trace-ascii log/19/trace158 --trace-time http://127.0.0.1:35701/158 -F name=daniel > log/19/stdout158 2> log/19/stderr158 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind155 ../src/curl -q --output log/11/curl155.out --include --trace-ascii log/11/trace155 --trace-time http://127.0.0.1:34551/155 -T log/11/put155 -u testuser:testpass --anyauth > log/11/stdout155 2> log/11/stderr155 turned 4 05:45:52.753821 accept_connection 3 returned 0 05:45:52.753836 Read 93 bytes 05:45:52.753846 Process 93 bytes request 05:45:52.753860 Got request: GET /verifiedserver HTTP/1.1 05:45:52.753870 Are-we-friendly question received 05:45:52.753900 Wrote request (93 bytes) input to log/12/server.input 05:45:52.753920 Identifying ourselves as friends 05:45:52.754002 Response sent (56 bytes) and written to log/12/server.response 05:45:52.754014 special request received, no persistency 05:45:52.754023 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 54510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind150 ==84252== ==84252== Process terminating with default action of signal 4 (SIGILL) ==84252== Illegal opcode at address 0x4014883 ==84252== at 0x4014883: getparameter (tool_getparam.c:2899) ==84252== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84252== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84252== by 0x4004208: main (tool_main.c:189) === End of file valgrind150 test 0151...[HTTP GET with an error code that might trick authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind151 ../src/curl -q --output log/21/curl151.out --include --trace-ascii log/21/trace151 --trace-time http://127.0.0.1:42891/151 > log/21/stdout151 2> log/21/stderr151 151: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind151 ../src/curl -q --output log/21/curl151.out --include --trace-ascii log/21/trace151 --trace-time http://127.0.0.1:42891/151 > log/21/stdout151 2> log/21/stderr151 === End of file commands.log === Start of file http_server.log 05:45:51.763998 ====> Client connect 05:45:51.764033 accept_connection 3 returned 4 05:45:51.764049 accept_connection 3 returned 0 05:45:51.764061 Read 93 bytes 05:45:51.764069 Process 93 bytes request 05:45:51.764082 Got request: GET /verifiedserver HTTP/1.1 05:45:51.764090 Are-we-friendly question received 05:45:51.764115 Wrote request (93 bytes) input to log/21/server.input 05:45:51.764129 Identifying ourselves as friends 05:45:51.764177 Response sent (56 bytes) and written to log/21/server.response 05:45:51.764185 special request received, no persistency 05:45:51.764192 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 42246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind151 ==84242== ==84242== Process terminating with default action of signal 4 (SIGILL) ==84242== Illegal opcode at address 0x4014883 ==84242== at 0x4014883: getparameter (tool_getparam.c:2899) ==84242== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84242== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84242== by 0x4004208: main (tool_main.c:189) === End of file valgrind151 test 0158...[HTTP multipart formpost with only a 100 reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind158 ../src/curl -q --output log/19/curl158.out --include --trace-ascii log/19/trace158 --trace-time http://127.0.0.1:35701/158 -F name=daniel > log/19/stdout158 2> log/19/stderr158 158: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind158 ../src/curl -q --output log/19/curl158.out --include --trace-ascii log/19/trace158 --trace-time http://127.0.0.1:35701/158 -F name=daniel > log/19/stdout158 2> log/19/stderr158 === End of file commands.log === Start of file http_server.log 05:45:52.760265 ====> Client connect 05:45:52.760299 accept_connection 3 returned 4 05:45:52.760314 accept_connection 3 returned 0 05:45:52.760527 Read 93 bytes 05:45:52.760541 Process 93 bytes request 05:45:52.760554 Got request: GET /verifiedserver HTTP/1.1 05:45:52.760563 Are-we-friendly question received 05:45:52.760592 Wrote request (93 bytes) input to log/19/server.input 05:45:52.760607 Identifying ourselves as friends 05:45:52.760660 Response sent (56 bytes) and written to log/19/server.response 05:45:52.760670 special request received, no persistency 05:45:52.760678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 41574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind158 ==84796== ==84796== Process terminating with default action of signal 4 (SIGILL) ==84796== Illegal opcode at address 0x4014883 ==84796== at 0x4014883: getparameter (tool_getparam.c:2899) ==84796== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84796== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84796== by 0x4004208: main (tool_main.c:189) === End of file valgrind158 test 0155...[HTTP PUT with --anyauth authorization (picking NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind155 ../src/curl -q --output log/11/curl155.out --include --trace-ascii log/11/trace155 --trace-time http://127.0.0.1:34551/155 -T log/11/put155 -u testuser:testpass --anyauth > log/11/stdout155 2> log/11/stderr155 155: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 155 === CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind156 ../src/curl -q --output log/2/curl156.out --include --trace-ascii log/2/trace156 --trace-time http://127.0.0.1:41799/156 -T log/2/put156 -u testuser:testpass --anyauth > log/2/stdout156 2> log/2/stderr156 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind153 ../src/curl -q --include --trace-ascii log/7/trace153 --trace-time http://127.0.0.1:39013/1530001 -u testuser:testpass --digest http://127.0.0.1:39013/1530002 > log/7/stdout153 2> log/7/stderr153 Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind155 ../src/curl -q --output log/11/curl155.out --include --trace-ascii log/11/trace155 --trace-time http://127.0.0.1:34551/155 -T log/11/put155 -u testuser:testpass --anyauth > log/11/stdout155 2> log/11/stderr155 === End of file commands.log === Start of file http_server.log 05:45:53.353855 ====> Client connect 05:45:53.353903 accept_connection 3 returned 4 05:45:53.353923 accept_connection 3 returned 0 05:45:53.353941 Read 93 bytes 05:45:53.353950 Process 93 bytes request 05:45:53.353963 Got request: GET /verifiedserver HTTP/1.1 05:45:53.353972 Are-we-friendly question received 05:45:53.353994 Wrote request (93 bytes) input to log/11/server.input 05:45:53.354009 Identifying ourselves as friends 05:45:53.354092 Response sent (56 bytes) and written to log/11/server.response 05:45:53.354102 special request received, no persistency 05:45:53.354110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 51366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file put155 This is data we upload with PUT a second line line three four is the number of lines === End of file put155 === Start of file server.cmd Testnum 155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind155 ==84570== ==84570== Process terminating with default action of signal 4 (SIGILL) ==84570== Illegal opcode at address 0x4014883 ==84570== at 0x4014883: getparameter (tool_getparam.c:2899) ==84570== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84570== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84570== by 0x4004208: main (tool_main.c:189) === End of file valgrind155 test 0156...[HTTP PUT with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind156 ../src/curl -q --output log/2/curl156.out --include --trace-ascii log/2/trace156 --trace-time http://127.0.0.1:41799/156 -T log/2/put156 -u testuser:testpass --anyauth > log/2/stdout156 2> log/2/stderr156 156: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 156 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind156 ../src/curl -q --output log/2/curl156.out --include --trace-ascii log/2/trace156 --trace-time http://127.0.0.1:41799/156 -T log/2/put156 -u testuser:testpass --anyauth > log/2/stdout156 2> log/2/stderr156 === End of file commands.log === Start of file http_server.log 05:45:53.393746 ====> Client connect 05:45:53.393788 accept_connection 3 returned 4 05:45:53.393810 accept_connection 3 returned 0 05:45:53.395826 Read 93 bytes 05:45:53.395847 Process 93 bytes request 05:45:53.395861 Got request: GET /verifiedserver HTTP/1.1 05:45:53.395871 Are-we-friendly question received 05:45:53.395902 Wrote request (93 bytes) input to log/2/server.input 05:45:53.395920 Identifying ourselves as friends 05:45:53.395981 Response sent (56 bytes) and written to log/2/server.response 05:45:53.395993 special request received, no persistency 05:45:53.396001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 54994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file put156 This is data we upload with PUT a second line line three four is the number of lines === End of file put156 === Start of file server.cmd Testnum 156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind156 ==84600== ==84600== Process terminating with default action of signal 4 (SIGILL) ==84600== Illegal opcode at address 0x4014883 ==84600== at 0x4014883: getparameter (tool_getparam.c:2899) ==84600== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84600== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84600== by 0x4004208: main (tool_main.c:189) === End of file valgrind156 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind157 ../src/curl -q --output log/3/curl157.out --include --trace-ascii log/3/trace157 --trace-time http://127.0.0.1:39591/157 -u testuser:testpass --anyauth > log/3/stdout157 2> log/3/stderr157 test 0153...[HTTP with Digest authorization with stale=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind153 ../src/curl -q --include --trace-ascii log/7/trace153 --trace-time http://127.0.0.1:39013/1530001 -u testuser:testpass --digest http://127.0.0.1:39013/1530002 > log/7/stdout153 2> log/7/stderr153 153: stdout FAILED: --- log/7/check-expected 2026-03-14 05:45:55.531282720 +0000 +++ log/7/check-generated 2026-03-14 05:45:55.531282720 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/7/ directory after test 153 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind153 ../src/curl -q --include --trace-ascii log/7/trace153 --trace-time http://127.0.0.1:39013/1530001 -u testuser:testpass --digest http://127.0.0.1:39013/1530002 > log/7/stdout153 2> log/7/stderr153 === End of file commands.log === Start of file http_server.log 05:45:52.103746 ====> Client connect 05:45:52.103789 accept_connection 3 returned 4 05:45:52.103808 accept_connection 3 returned 0 05:45:52.103824 Read 93 bytes 05:45:52.103833 Process 93 bytes request 05:45:52.103847 Got request: GET /verifiedserver HTTP/1.1 05:45:52.103856 Are-we-friendly question received 05:45:52.103880 Wrote request (93 bytes) input to log/7/server.input 05:45:52.103896 Identifying ourselves as friends 05:45:52.103966 Response sent (56 bytes) and written to log/7/server.response 05:45:52.103975 special request received, no persistency 05:45:52.103983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 46446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 153 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind153 ==84419== ==84419== Process terminating with default action of signal 4 (SIGILL) ==84419== Illegal opcode at address 0x4014883 ==84419== at 0x4014883: getparameter (tool_getparam.c:2899) ==84419== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84419== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84419== by 0x4004208: main (tool_main.c:189) === End of file valgrind153 test 0157...[HTTP GET with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind157 ../src/curl -q --output log/3/curl157.out --include --trace-ascii log/3/trace157 --trace-time http://127.0.0.1:39591/157 -u testuser:testpass --anyauth > log/3/stdout157 2> log/3/stderr157 157: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind157 ../src/curl -q --output log/3/curl157.out --include --trace-ascii log/3/trace157 --trace-time http://127.0.0.1:39591/157 -u testuser:testpass --anyauth > log/3/stdout157 2> log/3/stderr157 === End of file commands.log === Start of file http_server.log 05:45:53.613755 ====> Client connect 05:45:53.613802 accept_connection 3 returned 4 05:45:53.613823 accept_connection 3 returned 0 05:45:53.613839 Read 93 bytes 05:45:53.613849 Process 93 bytes request 05:45:53.613862 Got request: GET /verifiedserver HTTP/1.1 05:45:53.613872 Are-we-friendly question received 05:45:53.613895 Wrote request (93 bytes) input to log/3/server.input 05:45:53.613911 Identifying ourselves as friends 05:45:53.613991 Response sent (56 bytes) and written to log/3/server.response 05:45:53.614001 special request received, no persistency 05:45:53.614009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 40482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind157 ==84717== ==84717== Process terminating with default action of signal 4 (SIGILL) ==84717== Illegal opcode at address 0x4014883 ==84717== at 0x4014883: getpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind165 ../src/curl -q --output log/16/curl165.out --include --trace-ascii log/16/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:44673 http://www.große.de/page/165 > log/16/stdout165 2> log/16/stderr165 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind161 ../src/curl -q --output log/22/curl161.out --include --trace-ascii log/22/trace161 --trace-time ftp://127.0.0.1:41347/161 > log/22/stdout161 2> log/22/stderr161 arameter (tool_getparam.c:2899) ==84717== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84717== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84717== by 0x4004208: main (tool_main.c:189) === End of file valgrind157 setenv LC_ALL = C.UTF-8 test 0165...[HTTP over proxy with IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind165 ../src/curl -q --output log/16/curl165.out --include --trace-ascii log/16/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:44673 http://www.große.de/page/165 > log/16/stdout165 2> log/16/stderr165 165: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 165 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind165 ../src/curl -q --output log/16/curl165.out --include --trace-ascii log/16/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:44673 http://www.große.de/page/165 > log/16/stdout165 2> log/16/stderr165 === End of file commands.log === Start of file http_server.log 05:45:54.388711 ====> Client connect 05:45:54.388752 accept_connection 3 returned 4 05:45:54.388770 accept_connection 3 returned 0 05:45:54.388786 Read 93 bytes 05:45:54.388795 Process 93 bytes request 05:45:54.388809 Got request: GET /verifiedserver HTTP/1.1 05:45:54.388818 Are-we-friendly question received 05:45:54.388843 Wrote request (93 bytes) input to log/16/server.input 05:45:54.388860 Identifying ourselves as friends 05:45:54.388916 Response sent (56 bytes) and written to log/16/server.response 05:45:54.388926 special request received, no persistency 05:45:54.388935 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 36328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 165 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind165 ==85164== ==85164== Process terminating with default action of signal 4 (SIGILL) ==85164== Illegal opcode at address 0x4014883 ==85164== at 0x4014883: getparameter (tool_getparam.c:2899) ==85164== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85164== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85164== by 0x4004208: main (tool_main.c:189) === End of file valgrind165 test 0161...[FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind161 ../src/curl -q --output log/22/curl161.out --include --trace-ascii log/22/trace161 --trace-time ftp://127.0.0.1:41347/161 > log/22/stdout161 2> log/22/stderr161 161: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind161 ../src/curl -q --output log/22/curl161.out --include --trace-ascii log/22/trace161 --trace-time ftp://127.0.0.1:41347/161 > log/22/stdout161 2> log/22/stderr161 === End of file commands.log === Start of file ftp_server.log 05:45:53.442423 ====> Client connect 05:45:53.442604 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:53.443313 < "USER anonymous" 05:45:53.443348 > "331 We are happy you popped in![CR][LF]" 05:45:53.443523 < "PASS ftp@example.com" 05:45:53.443551 > "230 Welcome you silly person[CR][LF]" 05:45:53.443717 < "PWD" 05:45:53.443751 > "257 "/" is current directory[CR][LF]" 05:45:53.443925 < "EPSV" 05:45:53.443950 ====> Passive DATA channel requested by client 05:45:53.443965 DATA sockfilt for passive data channel starting... 05:45:53.448019 DATA sockfilt for passive data channel started (pid 84884) 05:45:53.448142 DATA sockfilt for passive data channel listens on port 39481 05:45:53.448191 > "229 Entering Passive Mode (|||39481|)[CR][LF]" 05:45:53.448212 Client has been notified that DATA conn will be accepted on port 39481 05:45:53.448494 Client connects to port 39481 05:45:53.448527 ====> Client established passive DATA connection on port 39481 05:45:53.448606 < "TYPE I" 05:45:53.448639 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:53.448808 < "SIZE verifiedserver" 05:45:53.448849 > "213 17[CR][LF]" 05:45:53.463009 < "RETR verifiedserver" 05:45:53.463083 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:53.463190 =====> Closing passive DATA connection... 05:45:53.463209 Server disconnects passive DATA connection 05:45:53.465602 Server disconnected passive DATA connection 05:45:53.465638 DATA sockfilt for passive data channel quits (pid 84884) 05:45:53.465950 DATA sockfilt for passive data channel quit (pid 84884) 05:45:53.465980 =====> Closed passive DATA connection 05:45:53.466018 > "226 File transfer complete[CR][LF]" 05:45:53.519097 < "QUIT" 05:45:53.519150 > "221 bye bye baby[CR][LF]" 05:45:53.520522 MAIN sockfilt said DISC 05:45:53.520557 ====> Client disconnected 05:45:53.520623 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:52.899669 ====> Client connect 05:45:52.904452 Received DATA (on stdin) 05:45:52.904481 > 146 bytes data, server => client 05:45:52.904494 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:52.904505 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:52.904515 '220 \___|\___/|_| \_\_____|\r\n' 05:45:52.904631 < 16 bytes data, client => server 05:45:52.904646 'USER anonymous\r\n' 05:45:52.904817 Received DATA (on stdin) 05:45:52.904830 > 33 bytes data, server => client 05:45:52.904841 '331 We are happy you popped in!\r\n' 05:45:52.904894 < 22 bytes data, client => server 05:45:52.904907 'PASS ftp@example.com\r\n' 05:45:52.905018 Received DATA (on stdin) 05:45:52.905030 > 30 bytes data, server => client 05:45:52.905040 '230 Welcome you silly person\r\n' 05:45:52.905093 < 5 bytes data, client => server 05:45:52.905105 'PWD\r\n' 05:45:52.905216 Received DATA (on stdin) 05:45:52.905227 > 30 bytes data, server => client 05:45:52.905238 '257 "/" is current directory\r\n' 05:45:52.905301 < 6 bytes data, client => server 05:45:52.905313 'EPSV\r\n' 05:45:52.909686 Received DATA (on stdin) 05:45:52.909700 > 39 bytes data, server => client 05:45:52.909712 '229 Entering Passive Mode (|||39481|)\r\n' 05:45:52.909874 < 8 bytes data, client => server 05:45:52.909890 'TYPE I\r\n' 05:45:52.910106 Received DATA (on stdin) 05:45:52.910119 > 33 bytes data, server => client 05:45:52.910130 '200 I modify TYPE as you wanted\r\n' 05:45:52.910184 < 21 bytes data, client => server 05:45:52.910195 'SIZE verifiedserver\r\n' 05:45:52.916994 Received DATA (on stdin) 05:45:52.917032 > 8 bytes data, server => client 05:45:52.917044 '213 17\r\n' 05:45:52.917141 < 21 bytes data, client => server 05:45:52.917154 'RETR verifiedserver\r\n' 05:45:52.924684 Received DATA (on stdin) 05:45:52.924705 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind160 ../src/curl -q --include --trace-ascii log/18/trace160 --trace-time http://127.0.0.1:39913/want/160 http://127.0.0.1:39913/wantmore/1600001 > log/18/stdout160 2> log/18/stderr160 29 bytes data, server => client 05:45:52.924716 '150 Binary junk (17 bytes).\r\n' 05:45:52.927497 Received DATA (on stdin) 05:45:52.927515 > 28 bytes data, server => client 05:45:52.927526 '226 File transfer complete\r\n' 05:45:52.980383 < 6 bytes data, client => server 05:45:52.980422 'QUIT\r\n' 05:45:52.980619 Received DATA (on stdin) 05:45:52.980630 > 18 bytes data, server => client 05:45:52.980640 '221 bye bye baby\r\n' 05:45:52.981705 ====> Client disconnect 05:45:52.982087 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:53.908890 Running IPv4 version 05:45:53.908949 Listening on port 39481 05:45:53.908985 Wrote pid 84884 to log/22/server/ftp_sockdata.pid 05:45:53.909420 Received PING (on stdin) 05:45:53.909514 Received PORT (on stdin) 05:45:53.909911 ====> Client connect 05:45:53.924774 Received DATA (on stdin) 05:45:53.924792 > 17 bytes data, server => client 05:45:53.924802 'WE ROOLZ: 81140\r\n' 05:45:53.924937 Received DISC (on stdin) 05:45:53.924949 ====> Client forcibly disconnected 05:45:53.927122 Received QUIT (on stdin) 05:45:53.927138 quits 05:45:53.927214 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==84955== ==84955== Process terminating with default action of signal 4 (SIGILL) ==84955== Illegal opcode at address 0x4014883 ==84955== at 0x4014883: getparameter (tool_getparam.c:2899) ==84955== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84955== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84955== by 0x4004208: main (tool_main.c:189) === End of file valgrind161 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind163 ../src/curl -q --output log/6/curl163.out --include --trace-ascii log/6/trace163 --trace-time http://127.0.0.1:33035/we/want/163 -F "name= log/6/stdout163 2> log/6/stderr163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind164 ../src/curl -q --output log/4/curl164.out --include --trace-ascii log/4/trace164 --trace-time http://127.0.0.1:40253/want/164 -r 0-10,12-15 > log/4/stdout164 2> log/4/stderr164 test 0160...[HTTP with delayed close, conn reuse, connection reset and retry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind160 ../src/curl -q --include --trace-ascii log/18/trace160 --trace-time http://127.0.0.1:39913/want/160 http://127.0.0.1:39913/wantmore/1600001 > log/18/stdout160 2> log/18/stderr160 160: stdout FAILED: --- log/18/check-expected 2026-03-14 05:45:55.874616054 +0000 +++ log/18/check-generated 2026-03-14 05:45:55.874616054 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/18/ directory after test 160 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] [CR][LF] surprise[LF] HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind160 ../src/curl -q --include --trace-ascii log/18/trace160 --trace-time http://127.0.0.1:39913/want/160 http://127.0.0.1:39913/wantmore/1600001 > log/18/stdout160 2> log/18/stderr160 === End of file commands.log === Start of file http_server.log 05:45:52.859972 ====> Client connect 05:45:52.860007 accept_connection 3 returned 4 05:45:52.860025 accept_connection 3 returned 0 05:45:52.863843 Read 93 bytes 05:45:52.863867 Process 93 bytes request 05:45:52.863880 Got request: GET /verifiedserver HTTP/1.1 05:45:52.863889 Are-we-friendly question received 05:45:52.863927 Wrote request (93 bytes) input to log/18/server.input 05:45:52.863945 Identifying ourselves as friends 05:45:52.863996 Response sent (56 bytes) and written to log/18/server.response 05:45:52.864005 special request received, no persistency 05:45:52.864013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 39756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind160 ==84863== ==84863== Process terminating with default action of signal 4 (SIGILL) ==84863== Illegal opcode at address 0x4014883 ==84863== at 0x4014883: getparameter (tool_getparam.c:2899) ==84863== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84863== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84863== by 0x4004208: main (tool_main.c:189) === End of file valgrind160 test 0163...[HTTP multipart formpost with contents from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind163 ../src/curl -q --output log/6/curl163.out --include --trace-ascii log/6/trace163 --trace-time http://127.0.0.1:33035/we/want/163 -F "name= log/6/stdout163 2> log/6/stderr163 163: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind163 ../src/curl -q --output log/6/curl163.out --include --trace-ascii log/6/trace163 --trace-time http://127.0.0.1:33035/we/want/163 -F "name= log/6/stdout163 2> log/6/stderr163 === End of file commands.log === Start of file field163 contents from a file newlinens? yes please [tab][CR] too === End of file field163 === Start of file http_server.log 05:45:53.077109 ====> Client connect 05:45:53.077151 accept_connection 3 returned 4 05:45:53.077170 accept_connection 3 returned 0 05:45:53.077363 Read 93 bytes 05:45:53.077379 Process 93 bytes request 05:45:53.077394 Got request: GET /verifiedserver HTTP/1.1 05:45:53.077404 Are-we-friendly question received 05:45:53.077445 Wrote request (93 bytes) input to log/6/server.input 05:45:53.077463 Identifying ourselves as friends 05:45:53.077525 Response sent (56 bytes) and written to log/6/server.response 05:45:53.077537 special request received, no persistency 05:45:53.077546 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 40164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 163 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind163 ==85029== ==85029== Process terminating with default action of signal 4 (SIGILL) ==85029== Illegal opcode at address 0x4014883 ==85029== at 0x4014883: getparameter (tool_getparam.c:2899) ==85029== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85029== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85029== by 0x4004208: main (tool_main.c:189) === End of file valgrind163 test 0164...[HTTP range with multiple ranges] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind164 ../src/curl -q --output log/4/curl164.out --include --trace-ascii log/4/trace164 --trace-time http://127.0.0.1:40253/want/164 -r 0-10,12-15 > log/4/stdout164 2> log/4/stderr164 164: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 164 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind164 ../src/curl -q --output log/4/curl164.out --include --trace-ascii log/4/trace164 --trace-time http://127.0.0.1:40253/want/164 -r 0-10,12-15 > log/4/stdout164 2> log/4/stderr164 === End of file commands.log === Start of file http_server.log 05:45:53.337180 ====> Client connect 05:45:53.337217 accept_connection 3 returned 4 05:45:53.337235 accept_connection 3 returned 0 05:45:53.337251 Read 93 bytes 05:45:53.337260 Process 93 bytes request 05:45:53.337275 Got request: GET /verifiedserver HTTP/1.1 05:45:53.337285 Are-we-friendly question received 05:45:53.337313 Wrote request (93 bytes) input to log/4/server.input 05:45:53.337333 Identifying ourselves as friends 05:45:53.337398 Response sent (56 bytes) and written to log/4/server.response CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind162 ../src/curl -q --output log/17/curl162.out --include --trace-ascii log/17/trace162 --trace-time http://127.0.0.1:41505/162 --proxy http://127.0.0.1:41505 --proxy-user foo:bar --proxy-ntlm --fail > log/17/stdout162 2> log/17/stderr162 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind170 ../src/curl -q --output log/20/curl170.out --include --trace-ascii log/20/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:38929 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/20/stdout170 2> log/20/stderr170 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind167 ../src/curl -q --output log/24/curl167.out --include --trace-ascii log/24/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:33593 --proxy-user foo:bar --digest --user digest:a-lot > log/24/stdout167 2> log/24/stderr167 05:45:53.337411 special request received, no persistency 05:45:53.337420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 46772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind164 ==85151== ==85151== Process terminating with default action of signal 4 (SIGILL) ==85151== Illegal opcode at address 0x4014883 ==85151== at 0x4014883: getparameter (tool_getparam.c:2899) ==85151== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85151== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85151== by 0x4004208: main (tool_main.c:189) === End of file valgrind164 test 0162...[HTTP GET asking for --proxy-ntlm when some other authentication is required] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind162 ../src/curl -q --output log/17/curl162.out --include --trace-ascii log/17/trace162 --trace-time http://127.0.0.1:41505/162 --proxy http://127.0.0.1:41505 --proxy-user foo:bar --proxy-ntlm --fail > log/17/stdout162 2> log/17/stderr162 162: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind162 ../src/curl -q --output log/17/curl162.out --include --trace-ascii log/17/trace162 --trace-time http://127.0.0.1:41505/162 --proxy http://127.0.0.1:41505 --proxy-user foo:bar --proxy-ntlm --fail > log/17/stdout162 2> log/17/stderr162 === End of file commands.log === Start of file http_server.log 05:45:53.882237 ====> Client connect 05:45:53.882271 accept_connection 3 returned 4 05:45:53.882287 accept_connection 3 returned 0 05:45:53.882302 Read 93 bytes 05:45:53.882311 Process 93 bytes request 05:45:53.882325 Got request: GET /verifiedserver HTTP/1.1 05:45:53.882334 Are-we-friendly question received 05:45:53.882358 Wrote request (93 bytes) input to log/17/server.input 05:45:53.882375 Identifying ourselves as friends 05:45:53.882430 Response sent (56 bytes) and written to log/17/server.response 05:45:53.882440 special request received, no persistency 05:45:53.882449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 45902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 162 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind162 ==84886== ==84886== Process terminating with default action of signal 4 (SIGILL) ==84886== Illegal opcode at address 0x4014883 ==84886== at 0x4014883: getparameter (tool_getparam.c:2899) ==84886== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==84886== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==84886== by 0x4004208: main (tool_main.c:189) === End of file valgrind162 test 0170...[HTTP POST with --proxy-ntlm and no SSL with no response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind170 ../src/curl -q --output log/20/curl170.out --include --trace-ascii log/20/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:38929 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/20/stdout170 2> log/20/stderr170 170: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 170 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind170 ../src/curl -q --output log/20/curl170.out --include --trace-ascii log/20/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:38929 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/20/stdout170 2> log/20/stderr170 === End of file commands.log === Start of file http_server.log 05:45:53.690453 ====> Client connect 05:45:53.690498 accept_connection 3 returned 4 05:45:53.690517 accept_connection 3 returned 0 05:45:53.690533 Read 93 bytes 05:45:53.690543 Process 93 bytes request 05:45:53.690556 Got request: GET /verifiedserver HTTP/1.1 05:45:53.690565 Are-we-friendly question received 05:45:53.690679 Wrote request (93 bytes) input to log/20/server.input 05:45:53.690696 Identifying ourselves as friends 05:45:53.690769 Response sent (56 bytes) and written to log/20/server.response 05:45:53.690779 special request received, no persistency 05:45:53.690787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 34118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind170 ==85425== ==85425== Process terminating with default action of signal 4 (SIGILL) ==85425== Illegal opcode at address 0x4014883 ==85425== at 0x4014883: getparameter (tool_getparam.c:2899) ==85425== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85425== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85425== by 0x4004208: main (tool_main.c:189) === End of file valgrind170 test 0167...[HTTP with proxy-requiring-Basic to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind167 ../src/curl -q --output log/24/curl167.out --include --trace-ascii log/24/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:33593 --proxy-user foo:bar --digest --user digest:a-lot > log/24/stdout167 2> log/24/stderr167 167: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 167 === Start of file commands.log ../libtool --mode=execute /usr/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind166 ../src/curl -q --output log/9/curl166.out --include --trace-ascii log/9/trace166 --trace-time http://127.0.0.1:33885/we/want/166 -F "name=@log/9/fie ld 166" > log/9/stdout166 2> log/9/stderr166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind168 ../src/curl -q --output log/5/curl168.out --include --trace-ascii log/5/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:35621 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/5/stdout168 2> log/5/stderr168 bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind167 ../src/curl -q --output log/24/curl167.out --include --trace-ascii log/24/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:33593 --proxy-user foo:bar --digest --user digest:a-lot > log/24/stdout167 2> log/24/stderr167 === End of file commands.log === Start of file http_server.log 05:45:54.557361 ====> Client connect 05:45:54.557399 accept_connection 3 returned 4 05:45:54.557418 accept_connection 3 returned 0 05:45:54.557434 Read 93 bytes 05:45:54.557445 Process 93 bytes request 05:45:54.557460 Got request: GET /verifiedserver HTTP/1.1 05:45:54.557470 Are-we-friendly question received 05:45:54.557499 Wrote request (93 bytes) input to log/24/server.input 05:45:54.557518 Identifying ourselves as friends 05:45:54.557583 Response sent (56 bytes) and written to log/24/server.response 05:45:54.557595 special request received, no persistency 05:45:54.557605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 57154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 167 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind167 ==85304== ==85304== Process terminating with default action of signal 4 (SIGILL) ==85304== Illegal opcode at address 0x4014883 ==85304== at 0x4014883: getparameter (tool_getparam.c:2899) ==85304== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85304== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85304== by 0x4004208: main (tool_main.c:189) === End of file valgrind167 test 0166...[HTTP formpost a file with spaces in name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind166 ../src/curl -q --output log/9/curl166.out --include --trace-ascii log/9/trace166 --trace-time http://127.0.0.1:33885/we/want/166 -F "name=@log/9/fie ld 166" > log/9/stdout166 2> log/9/stderr166 166: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind166 ../src/curl -q --output log/9/curl166.out --include --trace-ascii log/9/trace166 --trace-time http://127.0.0.1:33885/we/want/166 -F "name=@log/9/fie ld 166" > log/9/stdout166 2> log/9/stderr166 === End of file commands.log === Start of file fie ld 166 data inside the file === End of file fie ld 166 === Start of file http_server.log 05:45:53.573203 ====> Client connect 05:45:53.573243 accept_connection 3 returned 4 05:45:53.573262 accept_connection 3 returned 0 05:45:53.573279 Read 93 bytes 05:45:53.573290 Process 93 bytes request 05:45:53.573305 Got request: GET /verifiedserver HTTP/1.1 05:45:53.573315 Are-we-friendly question received 05:45:53.573342 Wrote request (93 bytes) input to log/9/server.input 05:45:53.573359 Identifying ourselves as friends 05:45:53.573422 Response sent (56 bytes) and written to log/9/server.response 05:45:53.573433 special request received, no persistency 05:45:53.573442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 59468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind166 ==85305== ==85305== Process terminating with default action of signal 4 (SIGILL) ==85305== Illegal opcode at address 0x4014883 ==85305== at 0x4014883: getparameter (tool_getparam.c:2899) ==85305== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85305== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85305== by 0x4004208: main (tool_main.c:189) === End of file valgrind166 test 0168...[HTTP with proxy-requiring-Digest to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind168 ../src/curl -q --output log/5/curl168.out --include --trace-ascii log/5/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:35621 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/5/stdout168 2> log/5/stderr168 168: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind168 ../src/curl -q --output log/5/curl168.out --include --trace-ascii log/5/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:35621 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/5/stdout168 2> log/5/stderr168 === End of file commands.log === Start of file http_server.log 05:45:54.620424 ====> Client connect 05:45:54.620473 accept_connection 3 returned 4 05:45:54.620492 accept_connection 3 returned 0 05:45:54.620513 Read 93 bytes 05:45:54.620522 Process 93 bytes request 05:45:54.620536 Got request: GET /verifiedserver HTTP/1.1 05:45:54.620545 Are-we-friendly question received 05:45:54.620572 Wrote request (93 bytes) input to log/5/server.input 05:45:54.620589 Identifying ourselves as friends 05:45:54.620681 Response sent (56 bytes) and written to log/5/server.response 05:45:54.620691 special request received, no persistency 05:45:54.620700 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 47878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind168 ==85385== ==85385== Process terminating with default action of signal 4 (SIGILL) ==85385== Illegal opcode at address 0x4014883 ==85385== at 0x4014883: getparameter (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind172 ../src/curl -q --output log/14/curl172.out --include --trace-ascii log/14/trace172 --trace-time http://127.0.0.1:35549/we/want/172 -b log/14/jar172.txt -b "tool=curl; name=fool" > log/14/stdout172 2> log/14/stderr172 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind171 ../src/curl -q --output log/8/curl171.out --include --trace-ascii log/8/trace171 --trace-time -c log/8/jar171 -x 127.0.0.1:45623 http://z.x.com/171 > log/8/stdout171 2> log/8/stderr171 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind173 ../src/curl -q --output log/13/curl173.out --include --trace-ascii log/13/trace173 --trace-time http://127.0.0.1:45359/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/13/stdout173 2> log/13/stderr173 tool_getparam.c:2899) ==85385== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85385== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85385== by 0x4004208: main (tool_main.c:189) === End of file valgrind168 test 0172...[HTTP with cookies file and custom added cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind172 ../src/curl -q --output log/14/curl172.out --include --trace-ascii log/14/trace172 --trace-time http://127.0.0.1:35549/we/want/172 -b log/14/jar172.txt -b "tool=curl; name=fool" > log/14/stdout172 2> log/14/stderr172 172: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind172 ../src/curl -q --output log/14/curl172.out --include --trace-ascii log/14/trace172 --trace-time http://127.0.0.1:35549/we/want/172 -b log/14/jar172.txt -b "tool=curl; name=fool" > log/14/stdout172 2> log/14/stderr172 === End of file commands.log === Start of file http_server.log 05:45:55.130744 ====> Client connect 05:45:55.130780 accept_connection 3 returned 4 05:45:55.130795 accept_connection 3 returned 0 05:45:55.130810 Read 93 bytes 05:45:55.130820 Process 93 bytes request 05:45:55.130834 Got request: GET /verifiedserver HTTP/1.1 05:45:55.130843 Are-we-friendly question received 05:45:55.130868 Wrote request (93 bytes) input to log/14/server.input 05:45:55.130884 Identifying ourselves as friends 05:45:55.130944 Response sent (56 bytes) and written to log/14/server.response 05:45:55.130954 special request received, no persistency 05:45:55.130963 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 47994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file jar172.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .127.0.0.1 TRUE /silly/ FALSE 0 ismatch this .127.0.0.1 TRUE / FALSE 0 partmatch present 127.0.0.1 FALSE /we/want/ FALSE 22139150993 nodomain value === End of file jar172.txt === Start of file server.cmd Testnum 172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind172 ==85672== ==85672== Process terminating with default action of signal 4 (SIGILL) ==85672== Illegal opcode at address 0x4014883 ==85672== at 0x4014883: getparameter (tool_getparam.c:2899) ==85672== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85672== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85672== by 0x4004208: main (tool_main.c:189) === End of file valgrind172 test 0171...[HTTP, get cookie with dot prefixed full domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind171 ../src/curl -q --output log/8/curl171.out --include --trace-ascii log/8/trace171 --trace-time -c log/8/jar171 -x 127.0.0.1:45623 http://z.x.com/171 > log/8/stdout171 2> log/8/stderr171 171: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind171 ../src/curl -q --output log/8/curl171.out --include --trace-ascii log/8/trace171 --trace-time -c log/8/jar171 -x 127.0.0.1:45623 http://z.x.com/171 > log/8/stdout171 2> log/8/stderr171 === End of file commands.log === Start of file http_server.log 05:45:53.957102 ====> Client connect 05:45:53.957146 accept_connection 3 returned 4 05:45:53.957165 accept_connection 3 returned 0 05:45:53.957182 Read 93 bytes 05:45:53.957192 Process 93 bytes request 05:45:53.957207 Got request: GET /verifiedserver HTTP/1.1 05:45:53.957217 Are-we-friendly question received 05:45:53.957244 Wrote request (93 bytes) input to log/8/server.input 05:45:53.957261 Identifying ourselves as friends 05:45:53.957343 Response sent (56 bytes) and written to log/8/server.response 05:45:53.957354 special request received, no persistency 05:45:53.957363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 54874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind171 ==85617== ==85617== Process terminating with default action of signal 4 (SIGILL) ==85617== Illegal opcode at address 0x4014883 ==85617== at 0x4014883: getparameter (tool_getparam.c:2899) ==85617== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85617== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85617== by 0x4004208: main (tool_main.c:189) === End of file valgrind171 test 0173...[HTTP RFC1867-formpost a file from stdin with "faked" filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind173 ../src/curl -q --output log/13/curl173.out --include --trace-ascii log/13/trace173 --trace-time http://127.0.0.1:45359/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/13/stdout173 2> log/13/stderr173 173: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 173 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind173 ../src/curl -q --output log/13/curl173.out --include --trace-ascii log/13/trace173 --trace-time http://127.0.0.1:45359/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/13/stdout173 2> log/13/stderr173 === End of file commands.log === Start of file http_server.log 05:45:55.243742 ====> Client connect 05:45:55.243788 accept_connection 3 returned 4 05:45:55.243809 accept_connection 3 returned 0 05:45:55.243827 Read 93 bytes 05:45:55.243839 Process 93 bytes request 05:45:55.243853 Got request: GET /verifiedserver HTTP/1.1 05:45:55.243864 Are-we-friendly question received 05:45:55.243894 Wrote request (93 bytes) input to log/13/server.input 05:45:55.243913 Identifying oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind169 ../src/curl -q --output log/23/curl169.out --include --trace-ascii log/23/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:33217 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/23/stdout169 2> log/23/stderr169 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind176 ../src/curl -q --output log/15/curl176.out --include --trace-ascii log/15/trace176 --trace-time http://127.0.0.1:43413/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/15/stdout176 2> log/15/stderr176 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind174 ../src/curl -q --output log/1/curl174.out --include --trace-ascii log/1/trace174 --trace-time http://127.0.0.1:38765/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/1/stdout174 2> log/1/stderr174 urselves as friends 05:45:55.243997 Response sent (56 bytes) and written to log/13/server.response 05:45:55.244010 special request received, no persistency 05:45:55.244020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 43038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 173 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stdin-for-173 line1 line2 line3 line4 line5 line6 line7 line8 === End of file stdin-for-173 === Start of file valgrind173 ==85763== ==85763== Process terminating with default action of signal 4 (SIGILL) ==85763== Illegal opcode at address 0x4014883 ==85763== at 0x4014883: getparameter (tool_getparam.c:2899) ==85763== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85763== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85763== by 0x4004208: main (tool_main.c:189) === End of file valgrind173 test 0169...[HTTP with proxy-requiring-NTLM to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind169 ../src/curl -q --output log/23/curl169.out --include --trace-ascii log/23/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:33217 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/23/stdout169 2> log/23/stderr169 169: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 169 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind169 ../src/curl -q --output log/23/curl169.out --include --trace-ascii log/23/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:33217 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/23/stdout169 2> log/23/stderr169 === End of file commands.log === Start of file http_server.log 05:45:54.676364 ====> Client connect 05:45:54.676398 accept_connection 3 returned 4 05:45:54.676414 accept_connection 3 returned 0 05:45:54.676564 Read 93 bytes 05:45:54.676578 Process 93 bytes request 05:45:54.676592 Got request: GET /verifiedserver HTTP/1.1 05:45:54.676602 Are-we-friendly question received 05:45:54.676631 Wrote request (93 bytes) input to log/23/server.input 05:45:54.676651 Identifying ourselves as friends 05:45:54.676715 Response sent (56 bytes) and written to log/23/server.response 05:45:54.676726 special request received, no persistency 05:45:54.676735 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 59444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 169 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind169 ==85395== ==85395== Process terminating with default action of signal 4 (SIGILL) ==85395== Illegal opcode at address 0x4014883 ==85395== at 0x4014883: getparameter (tool_getparam.c:2899) ==85395== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85395== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85395== by 0x4004208: main (tool_main.c:189) === End of file valgrind169 test 0176...[HTTP POST --ntlm to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind176 ../src/curl -q --output log/15/curl176.out --include --trace-ascii log/15/trace176 --trace-time http://127.0.0.1:43413/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/15/stdout176 2> log/15/stderr176 176: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 176 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind176 ../src/curl -q --output log/15/curl176.out --include --trace-ascii log/15/trace176 --trace-time http://127.0.0.1:43413/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/15/stdout176 2> log/15/stderr176 === End of file commands.log === Start of file http_server.log 05:45:55.635026 ====> Client connect 05:45:55.635065 accept_connection 3 returned 4 05:45:55.635084 accept_connection 3 returned 0 05:45:55.635104 Read 93 bytes 05:45:55.635114 Process 93 bytes request 05:45:55.635129 Got request: GET /verifiedserver HTTP/1.1 05:45:55.635138 Are-we-friendly question received 05:45:55.635165 Wrote request (93 bytes) input to log/15/server.input 05:45:55.635185 Identifying ourselves as friends 05:45:55.635248 Response sent (56 bytes) and written to log/15/server.response 05:45:55.635260 special request received, no persistency 05:45:55.635269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 60890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind176 ==85985== ==85985== Process terminating with default action of signal 4 (SIGILL) ==85985== Illegal opcode at address 0x4014883 ==85985== at 0x4014883: getparameter (tool_getparam.c:2899) ==85985== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85985== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85985== by 0x4004208: main (tool_main.c:189) === End of file valgrind176 test 0174...[HTTP POST --anyauth to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind174 ../src/curl -q --output log/1/curl174.out --include --trace-ascii log/1/trace174 --trace-time http://127.0.0.1:38765/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/1/stdout174 2> log/1/stderr174 174: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind175 ../src/curl -q --output log/10/curl175.out --include --trace-ascii log/10/trace175 --trace-time http://127.0.0.1:46741/175 -u auser:apasswd --digest -d "junkelijunk" > log/10/stdout175 2> log/10/stderr175 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind177 ../src/curl -q --output log/12/curl177.out --include --trace-ascii log/12/trace177 --trace-time http://127.0.0.1:36353/177 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout177 2> log/12/stderr177 ch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind174 ../src/curl -q --output log/1/curl174.out --include --trace-ascii log/1/trace174 --trace-time http://127.0.0.1:38765/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/1/stdout174 2> log/1/stderr174 === End of file commands.log === Start of file http_server.log 05:45:55.329586 ====> Client connect 05:45:55.329616 accept_connection 3 returned 4 05:45:55.329630 accept_connection 3 returned 0 05:45:55.329755 Read 93 bytes 05:45:55.329766 Process 93 bytes request 05:45:55.329778 Got request: GET /verifiedserver HTTP/1.1 05:45:55.329786 Are-we-friendly question received 05:45:55.329810 Wrote request (93 bytes) input to log/1/server.input 05:45:55.329825 Identifying ourselves as friends 05:45:55.329871 Response sent (56 bytes) and written to log/1/server.response 05:45:55.329879 special request received, no persistency 05:45:55.329886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 49912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind174 ==85830== ==85830== Process terminating with default action of signal 4 (SIGILL) ==85830== Illegal opcode at address 0x4014883 ==85830== at 0x4014883: getparameter (tool_getparam.c:2899) ==85830== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85830== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85830== by 0x4004208: main (tool_main.c:189) === End of file valgrind174 test 0175...[HTTP POST --digest to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind175 ../src/curl -q --output log/10/curl175.out --include --trace-ascii log/10/trace175 --trace-time http://127.0.0.1:46741/175 -u auser:apasswd --digest -d "junkelijunk" > log/10/stdout175 2> log/10/stderr175 175: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 175 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind175 ../src/curl -q --output log/10/curl175.out --include --trace-ascii log/10/trace175 --trace-time http://127.0.0.1:46741/175 -u auser:apasswd --digest -d "junkelijunk" > log/10/stdout175 2> log/10/stderr175 === End of file commands.log === Start of file http_server.log 05:45:54.360397 ====> Client connect 05:45:54.360440 accept_connection 3 returned 4 05:45:54.367049 accept_connection 3 returned 0 05:45:54.367096 Read 93 bytes 05:45:54.367107 Process 93 bytes request 05:45:54.367122 Got request: GET /verifiedserver HTTP/1.1 05:45:54.367131 Are-we-friendly question received 05:45:54.370375 Wrote request (93 bytes) input to log/10/server.input 05:45:54.370417 Identifying ourselves as friends 05:45:54.370509 Response sent (56 bytes) and written to log/10/server.response 05:45:54.370519 special request received, no persistency 05:45:54.370528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 41914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 175 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind175 ==85849== ==85849== Process terminating with default action of signal 4 (SIGILL) ==85849== Illegal opcode at address 0x4014883 ==85849== at 0x4014883: getparameter (tool_getparam.c:2899) ==85849== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==85849== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==85849== by 0x4004208: main (tool_main.c:189) === End of file valgrind175 test 0177...[HTTP POST --digest to server doing a 302-location response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind177 ../src/curl -q --output log/12/curl177.out --include --trace-ascii log/12/trace177 --trace-time http://127.0.0.1:36353/177 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout177 2> log/12/stderr177 177: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 177 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind177 ../src/curl -q --output log/12/curl177.out --include --trace-ascii log/12/trace177 --trace-time http://127.0.0.1:36353/177 -u auser:apasswd --digest -d "junkelijunk" > log/12/stdout177 2> log/12/stderr177 === End of file commands.log === Start of file http_server.log 05:45:55.649503 ====> Client connect 05:45:55.649536 accept_connection 3 returned 4 05:45:55.649550 accept_connection 3 returned 0 05:45:55.650105 Read 93 bytes 05:45:55.650122 Process 93 bytes request 05:45:55.650135 Got request: GET /verifiedserver HTTP/1.1 05:45:55.650143 Are-we-friendly question received 05:45:55.650169 Wrote request (93 bytes) input to log/12/server.input 05:45:55.650184 Identifying ourselves as friends 05:45:55.650234 Response sent (56 bytes) and written to log/12/server.response 05:45:55.650242 special request received, no persistency 05:45:55.650249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 54524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 177 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind177 ==86053== ==86053== Process terminating with default action of signal 4 (SIGILL) ==86053== Illegal opcode at address 0x4014883 ==86053== at 0x4014883: getparameter (tool_getparam.c:2899) ==86053== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind181 ../src/curl -q --output log/2/curl181.out --include --trace-ascii log/2/trace181 --trace-time http://127.0.0.1:41799/we/want/181 --data-binary @log/2/test181.txt --http1.0 > log/2/stdout181 2> log/2/stderr181 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind180 ../src/curl -q --output log/11/curl180.out --include --trace-ascii log/11/trace180 --trace-time http://127.0.0.1:34551/we/want/180 -T log/11/test180.txt --http1.0 > log/11/stdout180 2> log/11/stderr180 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind179 ../src/curl -q --output log/19/curl179.out --include --trace-ascii log/19/trace179 --trace-time http://supertrooper.fake/c/179 -b log/19/injar179 -x 127.0.0.1:35701 > log/19/stdout179 2> log/19/stderr179 ) ==86053== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86053== by 0x4004208: main (tool_main.c:189) === End of file valgrind177 test 0181...[HTTP 1.0 POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind181 ../src/curl -q --output log/2/curl181.out --include --trace-ascii log/2/trace181 --trace-time http://127.0.0.1:41799/we/want/181 --data-binary @log/2/test181.txt --http1.0 > log/2/stdout181 2> log/2/stderr181 181: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind181 ../src/curl -q --output log/2/curl181.out --include --trace-ascii log/2/trace181 --trace-time http://127.0.0.1:41799/we/want/181 --data-binary @log/2/test181.txt --http1.0 > log/2/stdout181 2> log/2/stderr181 === End of file commands.log === Start of file http_server.log 05:45:55.994374 ====> Client connect 05:45:55.994416 accept_connection 3 returned 4 05:45:55.994434 accept_connection 3 returned 0 05:45:55.994450 Read 93 bytes 05:45:55.994460 Process 93 bytes request 05:45:55.994475 Got request: GET /verifiedserver HTTP/1.1 05:45:55.994484 Are-we-friendly question received 05:45:55.994515 Wrote request (93 bytes) input to log/2/server.input 05:45:55.994533 Identifying ourselves as friends 05:45:55.994602 Response sent (56 bytes) and written to log/2/server.response 05:45:55.994614 special request received, no persistency 05:45:55.994623 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 54996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file test181.txt Weird file to upload for testing the POST feature === End of file test181.txt === Start of file valgrind181 ==86265== ==86265== Process terminating with default action of signal 4 (SIGILL) ==86265== Illegal opcode at address 0x4014883 ==86265== at 0x4014883: getparameter (tool_getparam.c:2899) ==86265== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86265== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86265== by 0x4004208: main (tool_main.c:189) === End of file valgrind181 test 0180...[HTTP 1.0 PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind180 ../src/curl -q --output log/11/curl180.out --include --trace-ascii log/11/trace180 --trace-time http://127.0.0.1:34551/we/want/180 -T log/11/test180.txt --http1.0 > log/11/stdout180 2> log/11/stderr180 180: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind180 ../src/curl -q --output log/11/curl180.out --include --trace-ascii log/11/trace180 --trace-time http://127.0.0.1:34551/we/want/180 -T log/11/test180.txt --http1.0 > log/11/stdout180 2> log/11/stderr180 === End of file commands.log === Start of file http_server.log 05:45:55.975400 ====> Client connect 05:45:55.975428 accept_connection 3 returned 4 05:45:55.975443 accept_connection 3 returned 0 05:45:55.975456 Read 93 bytes 05:45:55.975465 Process 93 bytes request 05:45:55.975478 Got request: GET /verifiedserver HTTP/1.1 05:45:55.975486 Are-we-friendly question received 05:45:55.975506 Wrote request (93 bytes) input to log/11/server.input 05:45:55.975520 Identifying ourselves as friends 05:45:55.975567 Response sent (56 bytes) and written to log/11/server.response 05:45:55.975575 special request received, no persistency 05:45:55.975584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 51378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file test180.txt Weird file to upload for testing the PUT feature === End of file test180.txt === Start of file valgrind180 ==86269== ==86269== Process terminating with default action of signal 4 (SIGILL) ==86269== Illegal opcode at address 0x4014883 ==86269== at 0x4014883: getparameter (tool_getparam.c:2899) ==86269== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86269== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86269== by 0x4004208: main (tool_main.c:189) === End of file valgrind180 test 0179...[HTTP using proxy and cookies with path checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind179 ../src/curl -q --output log/19/curl179.out --include --trace-ascii log/19/trace179 --trace-time http://supertrooper.fake/c/179 -b log/19/injar179 -x 127.0.0.1:35701 > log/19/stdout179 2> log/19/stderr179 179: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 179 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind179 ../src/curl -q --output log/19/curl179.out --include --trace-ascii log/19/trace179 --trace-time http://supertrooper.fake/c/179 -b log/19/injar179 -x 127.0.0.1:35701 > log/19/stdout179 2> log/19/stderr179 === End of file commands.log === Start of file http_server.log 05:45:54.731673 ====> Client connect 05:45:54.731708 accept_connection 3 returned 4 05:45:54.731723 accept_connection 3 returned 0 05:45:54.731737 Read 93 bytes 05:45:54.731745 Process 93 bytes request 05:45:54.731758 Got request: GET /verifiedserver HTTP/1.1 05:45:54.731767 Are-we-friendly question received 05:45:54.731790 Wrote request (93 bytes) input to log/19/server.input 05:45:54.731805 Identifying ourselves as friends 05:45:54.731857 Response sent (56 bytes) and written to log/19/server.response 05:45:54.731865 special request received, no persistency 05:45:54.731873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 3570CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:39591 > log/3/stdout183 2> log/3/stderr183 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind186 ../src/curl -q --output log/18/curl186.out --include --trace-ascii log/18/trace186 --trace-time http://127.0.0.1:39913/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/18/stdout186 2> log/18/stderr186 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind178 ../src/curl -q --output log/21/curl178.out --include --trace-ascii log/21/trace178 --trace-time http://127.0.0.1:42891/178 > log/21/stdout178 2> log/21/stderr178 1) from 127.0.0.1 port 41580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file injar179 supertrooper.fake FALSE /a FALSE 22139150993 mooo indeed supertrooper.fake FALSE /b FALSE 0 moo1 indeed supertrooper.fake FALSE /c FALSE 22139150993 moo2 indeed === End of file injar179 === Start of file server.cmd Testnum 179 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind179 ==86089== ==86089== Process terminating with default action of signal 4 (SIGILL) ==86089== Illegal opcode at address 0x4014883 ==86089== at 0x4014883: getparameter (tool_getparam.c:2899) ==86089== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86089== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86089== by 0x4004208: main (tool_main.c:189) === End of file valgrind179 test 0183...[HTTP GET two URLs over a single proxy with persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:39591 > log/3/stdout183 2> log/3/stderr183 183: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind183 ../src/curl -q --output log/3/curl183.out --include --trace-ascii log/3/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:39591 > log/3/stdout183 2> log/3/stderr183 === End of file commands.log === Start of file http_server.log 05:45:56.113971 ====> Client connect 05:45:56.114007 accept_connection 3 returned 4 05:45:56.114025 accept_connection 3 returned 0 05:45:56.114043 Read 93 bytes 05:45:56.114053 Process 93 bytes request 05:45:56.114068 Got request: GET /verifiedserver HTTP/1.1 05:45:56.114077 Are-we-friendly question received 05:45:56.114105 Wrote request (93 bytes) input to log/3/server.input 05:45:56.114122 Identifying ourselves as friends 05:45:56.114186 Response sent (56 bytes) and written to log/3/server.response 05:45:56.114196 special request received, no persistency 05:45:56.114205 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 40492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind183 ==86340== ==86340== Process terminating with default action of signal 4 (SIGILL) ==86340== Illegal opcode at address 0x4014883 ==86340== at 0x4014883: getparameter (tool_getparam.c:2899) ==86340== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86340== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86340== by 0x4004208: main (tool_main.c:189) === End of file valgrind183 test 0186...[HTTP RFC1867-type formposting with types on text fields] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind186 ../src/curl -q --output log/18/curl186.out --include --trace-ascii log/18/trace186 --trace-time http://127.0.0.1:39913/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/18/stdout186 2> log/18/stderr186 186: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind186 ../src/curl -q --output log/18/curl186.out --include --trace-ascii log/18/trace186 --trace-time http://127.0.0.1:39913/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/18/stdout186 2> log/18/stderr186 === End of file commands.log === Start of file http_server.log 05:45:55.426897 ====> Client connect 05:45:55.426928 accept_connection 3 returned 4 05:45:55.426943 accept_connection 3 returned 0 05:45:55.426956 Read 93 bytes 05:45:55.426965 Process 93 bytes request 05:45:55.426978 Got request: GET /verifiedserver HTTP/1.1 05:45:55.426997 Are-we-friendly question received 05:45:55.427019 Wrote request (93 bytes) input to log/18/server.input 05:45:55.427035 Identifying ourselves as friends 05:45:55.427086 Response sent (56 bytes) and written to log/18/server.response 05:45:55.427095 special request received, no persistency 05:45:55.427104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 39768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind186 ==86645== ==86645== Process terminating with default action of signal 4 (SIGILL) ==86645== Illegal opcode at address 0x4014883 ==86645== at 0x4014883: getparameter (tool_getparam.c:2899) ==86645== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86645== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86645== by 0x4004208: main (tool_main.c:189) === End of file valgrind186 test 0178...[HTTP response with negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind178 ../src/curl -q --output log/21/curl178.out --include --trace-ascii log/21/trace178 --trace-time http://127.0.0.1:42891/178 > log/21/stdout178 2> log/21/stderr178 178: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind178 ../sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind184 ../src/curl -q --output log/16/curl184.out --include --trace-ascii log/16/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:44673 > log/16/stdout184 2> log/16/stderr184 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind182 ../src/curl -q --output log/7/curl182.out --include --trace-ascii log/7/trace182 --trace-time ftp://127.0.0.1:44937/182 > log/7/stdout182 2> log/7/stderr182 rc/curl -q --output log/21/curl178.out --include --trace-ascii log/21/trace178 --trace-time http://127.0.0.1:42891/178 > log/21/stdout178 2> log/21/stderr178 === End of file commands.log === Start of file http_server.log 05:45:54.733771 ====> Client connect 05:45:54.733815 accept_connection 3 returned 4 05:45:54.733833 accept_connection 3 returned 0 05:45:54.733848 Read 93 bytes 05:45:54.733858 Process 93 bytes request 05:45:54.733870 Got request: GET /verifiedserver HTTP/1.1 05:45:54.733879 Are-we-friendly question received 05:45:54.733905 Wrote request (93 bytes) input to log/21/server.input 05:45:54.733921 Identifying ourselves as friends 05:45:54.733990 Response sent (56 bytes) and written to log/21/server.response 05:45:54.734002 special request received, no persistency 05:45:54.734011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 42260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind178 ==86088== ==86088== Process terminating with default action of signal 4 (SIGILL) ==86088== Illegal opcode at address 0x4014883 ==86088== at 0x4014883: getparameter (tool_getparam.c:2899) ==86088== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86088== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86088== by 0x4004208: main (tool_main.c:189) === End of file valgrind178 test 0184...[HTTP replace Host: when following Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind184 ../src/curl -q --output log/16/curl184.out --include --trace-ascii log/16/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:44673 > log/16/stdout184 2> log/16/stderr184 184: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 184 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind184 ../src/curl -q --output log/16/curl184.out --include --trace-ascii log/16/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:44673 > log/16/stdout184 2> log/16/stderr184 === End of file commands.log === Start of file http_server.log 05:45:56.273744 ====> Client connect 05:45:56.273836 accept_connection 3 returned 4 05:45:56.273855 accept_connection 3 returned 0 05:45:56.273873 Read 93 bytes 05:45:56.273883 Process 93 bytes request 05:45:56.273900 Got request: GET /verifiedserver HTTP/1.1 05:45:56.273910 Are-we-friendly question received 05:45:56.273940 Wrote request (93 bytes) input to log/16/server.input 05:45:56.273958 Identifying ourselves as friends 05:45:56.274026 Response sent (56 bytes) and written to log/16/server.response 05:45:56.274035 special request received, no persistency 05:45:56.274044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 36336 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 184 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind184 ==86522== ==86522== Process terminating with default action of signal 4 (SIGILL) ==86522== Illegal opcode at address 0x4014883 ==86522== at 0x4014883: getparameter (tool_getparam.c:2899) ==86522== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86522== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86522== by 0x4004208: main (tool_main.c:189) === End of file valgrind184 test 0182...[FTP download an empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind182 ../src/curl -q --output log/7/curl182.out --include --trace-ascii log/7/trace182 --trace-time ftp://127.0.0.1:44937/182 > log/7/stdout182 2> log/7/stderr182 182: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 182 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind182 ../src/curl -q --output log/7/curl182.out --include --trace-ascii log/7/trace182 --trace-time ftp://127.0.0.1:44937/182 > log/7/stdout182 2> log/7/stderr182 === End of file commands.log === Start of file ftp_server.log 05:45:55.631314 ====> Client connect 05:45:55.635650 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:55.635997 < "USER anonymous" 05:45:55.636040 > "331 We are happy you popped in![CR][LF]" 05:45:55.636230 < "PASS ftp@example.com" 05:45:55.636262 > "230 Welcome you silly person[CR][LF]" 05:45:55.636440 < "PWD" 05:45:55.636475 > "257 "/" is current directory[CR][LF]" 05:45:55.636671 < "EPSV" 05:45:55.636701 ====> Passive DATA channel requested by client 05:45:55.636719 DATA sockfilt for passive data channel starting... 05:45:55.655596 DATA sockfilt for passive data channel started (pid 86325) 05:45:55.661819 DATA sockfilt for passive data channel listens on port 45451 05:45:55.661910 > "229 Entering Passive Mode (|||45451|)[CR][LF]" 05:45:55.661939 Client has been notified that DATA conn will be accepted on port 45451 05:45:55.663269 Client connects to port 45451 05:45:55.663312 ====> Client established passive DATA connection on port 45451 05:45:55.663432 < "TYPE I" 05:45:55.663477 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:55.664105 < "SIZE verifiedserver" 05:45:55.664146 > "213 17[CR][LF]" 05:45:55.664307 < "RETR verifiedserver" 05:45:55.664340 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:55.664434 =====> Closing passive DATA connection... 05:45:55.664451 Server disconnects passive DATA connection 05:45:55.664689 Server disconnected passive DATA connection 05:45:55.664717 DATA sockfilt for passive data channel quits (pid 86325) 05:45:55.665423 DATA sockfilt for passive data channel quit (pid 86325) 05:45:55.665457 =====> Closed passive DATA connection 05:45:55.665496 > "226 File transfer complete[CR][LF]" 05:45:55.712551 < "QUIT" 05:45:55.712608 > "221 bye bye baby[CR][LF]" 05:45:55.713980 MAIN sockfilt said DISC 05:45:55.714012 ====> Client disconnected 05:45:55.714099 Awaiting input === End of file ftp_server.log === Start of file ftpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind185 ../src/curl -q --output log/22/curl185.out --include --trace-ascii log/22/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:41477 > log/22/stdout185 2> log/22/stderr185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind189 ../src/curl -q --output log/17/curl189.out --include --trace-ascii log/17/trace189 --trace-time http://127.0.0.1:41505/189 -C 50 -L > log/17/stdout189 2> log/17/stderr189 _sockctrl.log 05:45:56.092634 ====> Client connect 05:45:56.097010 Received DATA (on stdin) 05:45:56.097045 > 146 bytes data, server => client 05:45:56.097152 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:56.097166 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:56.097176 '220 \___|\___/|_| \_\_____|\r\n' 05:45:56.097283 < 16 bytes data, client => server 05:45:56.097300 'USER anonymous\r\n' 05:45:56.097512 Received DATA (on stdin) 05:45:56.097526 > 33 bytes data, server => client 05:45:56.097537 '331 We are happy you popped in!\r\n' 05:45:56.097594 < 22 bytes data, client => server 05:45:56.097609 'PASS ftp@example.com\r\n' 05:45:56.097731 Received DATA (on stdin) 05:45:56.097744 > 30 bytes data, server => client 05:45:56.097755 '230 Welcome you silly person\r\n' 05:45:56.097809 < 5 bytes data, client => server 05:45:56.097824 'PWD\r\n' 05:45:56.097944 Received DATA (on stdin) 05:45:56.097956 > 30 bytes data, server => client 05:45:56.097967 '257 "/" is current directory\r\n' 05:45:56.098038 < 6 bytes data, client => server 05:45:56.098053 'EPSV\r\n' 05:45:56.123421 Received DATA (on stdin) 05:45:56.123443 > 39 bytes data, server => client 05:45:56.123456 '229 Entering Passive Mode (|||45451|)\r\n' 05:45:56.123683 < 8 bytes data, client => server 05:45:56.123702 'TYPE I\r\n' 05:45:56.124952 Received DATA (on stdin) 05:45:56.124967 > 33 bytes data, server => client 05:45:56.124979 '200 I modify TYPE as you wanted\r\n' 05:45:56.125041 < 21 bytes data, client => server 05:45:56.125058 'SIZE verifiedserver\r\n' 05:45:56.125611 Received DATA (on stdin) 05:45:56.125624 > 8 bytes data, server => client 05:45:56.125633 '213 17\r\n' 05:45:56.125686 < 21 bytes data, client => server 05:45:56.125697 'RETR verifiedserver\r\n' 05:45:56.125917 Received DATA (on stdin) 05:45:56.125929 > 29 bytes data, server => client 05:45:56.125939 '150 Binary junk (17 bytes).\r\n' 05:45:56.126969 Received DATA (on stdin) 05:45:56.126990 > 28 bytes data, server => client 05:45:56.127001 '226 File transfer complete\r\n' 05:45:56.173804 < 6 bytes data, client => server 05:45:56.173843 'QUIT\r\n' 05:45:56.174077 Received DATA (on stdin) 05:45:56.174088 > 18 bytes data, server => client 05:45:56.174099 '221 bye bye baby\r\n' 05:45:56.175388 ====> Client disconnect 05:45:56.175563 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:55.111269 Running IPv4 version 05:45:55.111386 Listening on port 45451 05:45:55.114615 Wrote pid 86325 to log/7/server/ftp_sockdata.pid 05:45:55.114642 Received PING (on stdin) 05:45:55.123103 Received PORT (on stdin) 05:45:55.123727 ====> Client connect 05:45:55.125965 Received DATA (on stdin) 05:45:55.125978 > 17 bytes data, server => client 05:45:55.125988 'WE ROOLZ: 81085\r\n' 05:45:55.126020 Received DISC (on stdin) 05:45:55.126031 ====> Client forcibly disconnected 05:45:55.126189 Received QUIT (on stdin) 05:45:55.126201 quits 05:45:55.126273 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==86397== ==86397== Process terminating with default action of signal 4 (SIGILL) ==86397== Illegal opcode at address 0x4014883 ==86397== at 0x4014883: getparameter (tool_getparam.c:2899) ==86397== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86397== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86397== by 0x4004208: main (tool_main.c:189) === End of file valgrind182 test 0185...[HTTP replace Host: when following Location: on the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind185 ../src/curl -q --output log/22/curl185.out --include --trace-ascii log/22/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:41477 > log/22/stdout185 2> log/22/stderr185 185: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 185 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind185 ../src/curl -q --output log/22/curl185.out --include --trace-ascii log/22/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:41477 > log/22/stdout185 2> log/22/stderr185 === End of file commands.log === Start of file http_server.log 05:45:56.287070 ====> Client connect 05:45:56.287113 accept_connection 3 returned 4 05:45:56.287130 accept_connection 3 returned 0 05:45:56.287147 Read 93 bytes 05:45:56.287157 Process 93 bytes request 05:45:56.287170 Got request: GET /verifiedserver HTTP/1.1 05:45:56.287178 Are-we-friendly question received 05:45:56.287204 Wrote request (93 bytes) input to log/22/server.input 05:45:56.287220 Identifying ourselves as friends 05:45:56.287293 Response sent (56 bytes) and written to log/22/server.response 05:45:56.287303 special request received, no persistency 05:45:56.287312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 49568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 185 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind185 ==86523== ==86523== Process terminating with default action of signal 4 (SIGILL) ==86523== Illegal opcode at address 0x4014883 ==86523== at 0x4014883: getparameter (tool_getparam.c:2899) ==86523== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86523== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86523== by 0x4004208: main (tool_main.c:189) === End of file valgrind185 test 0189...[HTTP GET with resume and redirect (to a page that does not resume)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind189 ../src/curl -q --output log/17/curl189.out --include --trace-ascii log/17/trace189 --trace-time http://127.0.0.1:41505/189 -C 50 -L > log/17/stdout189 2> log/17/stderr189 189: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind189 ../src/curl -q --output log/17/curl189.out --include --trace-ascii log/17/trace189 --trace-time http://127.0.0.1:41505/189 -C 50 -L > log/17/stdout189 2> log/17/stderr189 === End of file commands.log === Start of file http_server.log 05:45:56.703772 ====> Client connect 05:45:56.703817 accept_connection 3 returned 4 05:45:56.703835 accept_connection 3 returned 0 05:45:56.703851 Read 93 bytes 05:45:56.703860 Process 93 bytes request 05:45:56.703873 Got request: GET /verifiedserver HTTP/1.1 05:45:56.703882 Are-we-friendly question received 05:45:56.703905 Wrote request (93 bytes) input to log/17/server.input CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind187 ../src/curl -q --output log/6/curl187.out --include --trace-ascii log/6/trace187 --trace-time http://127.0.0.1:33035?oh=what-weird=test/187 -L > log/6/stdout187 2> log/6/stderr187 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind188 ../src/curl -q --output log/4/curl188.out --include --trace-ascii log/4/trace188 --trace-time http://127.0.0.1:40253/188 -C 50 -L > log/4/stdout188 2> log/4/stderr188 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind190 ../src/curl -q --output log/20/curl190.out --include --trace-ascii log/20/trace190 --trace-time ftp://127.0.0.1:43013/path/to/file/190 -m 10 > log/20/stdout190 2> log/20/stderr190 * kill pid for ftp-ctrl => 81046 RUN: Process with pid 81041 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind194 ../src/curl -q --output log/14/curl194.out --include --trace-ascii log/14/trace194 --trace-time http://127.0.0.1:35549/want/194 -C 87 --fail > log/14/stdout194 2> log/14/stderr194 05:45:56.703921 Identifying ourselves as friends 05:45:56.704058 Response sent (56 bytes) and written to log/17/server.response 05:45:56.704068 special request received, no persistency 05:45:56.704077 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 45918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind189 ==86849== ==86849== Process terminating with default action of signal 4 (SIGILL) ==86849== Illegal opcode at address 0x4014883 ==86849== at 0x4014883: getparameter (tool_getparam.c:2899) ==86849== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86849== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86849== by 0x4004208: main (tool_main.c:189) === End of file valgrind189 test 0187...[HTTP redirect with bad hostname separation and slash in parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind187 ../src/curl -q --output log/6/curl187.out --include --trace-ascii log/6/trace187 --trace-time http://127.0.0.1:33035?oh=what-weird=test/187 -L > log/6/stdout187 2> log/6/stderr187 187: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind187 ../src/curl -q --output log/6/curl187.out --include --trace-ascii log/6/trace187 --trace-time http://127.0.0.1:33035?oh=what-weird=test/187 -L > log/6/stdout187 2> log/6/stderr187 === End of file commands.log === Start of file http_server.log 05:45:55.459646 ====> Client connect 05:45:55.459684 accept_connection 3 returned 4 05:45:55.459699 accept_connection 3 returned 0 05:45:55.459713 Read 93 bytes 05:45:55.459723 Process 93 bytes request 05:45:55.459736 Got request: GET /verifiedserver HTTP/1.1 05:45:55.459744 Are-we-friendly question received 05:45:55.459770 Wrote request (93 bytes) input to log/6/server.input 05:45:55.459785 Identifying ourselves as friends 05:45:55.459841 Response sent (56 bytes) and written to log/6/server.response 05:45:55.459850 special request received, no persistency 05:45:55.459858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 40170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 187 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind187 ==86674== ==86674== Process terminating with default action of signal 4 (SIGILL) ==86674== Illegal opcode at address 0x4014883 ==86674== at 0x4014883: getparameter (tool_getparam.c:2899) ==86674== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86674== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86674== by 0x4004208: main (tool_main.c:189) === End of file valgrind187 test 0188...[HTTP GET with resume and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind188 ../src/curl -q --output log/4/curl188.out --include --trace-ascii log/4/trace188 --trace-time http://127.0.0.1:40253/188 -C 50 -L > log/4/stdout188 2> log/4/stderr188 188: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 188 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind188 ../src/curl -q --output log/4/curl188.out --include --trace-ascii log/4/trace188 --trace-time http://127.0.0.1:40253/188 -C 50 -L > log/4/stdout188 2> log/4/stderr188 === End of file commands.log === Start of file http_server.log 05:45:55.553753 ====> Client connect 05:45:55.553805 accept_connection 3 returned 4 05:45:55.553830 accept_connection 3 returned 0 05:45:55.553852 Read 93 bytes 05:45:55.553864 Process 93 bytes request 05:45:55.553880 Got request: GET /verifiedserver HTTP/1.1 05:45:55.553891 Are-we-friendly question received 05:45:55.553923 Wrote request (93 bytes) input to log/4/server.input 05:45:55.553944 Identifying ourselves as friends 05:45:55.554035 Response sent (56 bytes) and written to log/4/server.response 05:45:55.554049 special request received, no persistency 05:45:55.554059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 46774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind188 ==86761== ==86761== Process terminating with default action of signal 4 (SIGILL) ==86761== Illegal opcode at address 0x4014883 ==86761== at 0x4014883: getparameter (tool_getparam.c:2899) ==86761== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86761== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86761== by 0x4004208: main (tool_main.c:189) === End of file valgrind188 test 0194...[HTTP resume transfer with the whole file already downloaded and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind194 ../src/curl -q --output log/14/curl194.out --include --trace-ascii log/14/trace194 --trace-time http://127.0.0.1:35549/want/194 -C 87 --fail > log/14/stdout194 2> log/14/stderr194 194: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind194 ../src/curl -q --output log/14/curl194.out --include --trace-ascii log/14/trace194 --trace-time http://127.0.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind192 ../src/curl -q --include --trace-ascii log/9/trace192 --trace-time http://127.0.0.1:33885/192 -w "%{num_connects}\n" > log/9/stdout192 2> log/9/stderr192 0.1:35549/want/194 -C 87 --fail > log/14/stdout194 2> log/14/stderr194 === End of file commands.log === Start of file http_server.log 05:45:57.417049 ====> Client connect 05:45:57.417086 accept_connection 3 returned 4 05:45:57.417104 accept_connection 3 returned 0 05:45:57.417119 Read 93 bytes 05:45:57.417128 Process 93 bytes request 05:45:57.417142 Got request: GET /verifiedserver HTTP/1.1 05:45:57.417151 Are-we-friendly question received 05:45:57.417179 Wrote request (93 bytes) input to log/14/server.input 05:45:57.417196 Identifying ourselves as friends 05:45:57.417266 Response sent (56 bytes) and written to log/14/server.response 05:45:57.417277 special request received, no persistency 05:45:57.417285 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 48002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 194 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind194 ==87187== ==87187== Process terminating with default action of signal 4 (SIGILL) ==87187== Illegal opcode at address 0x4014883 ==87187== at 0x4014883: getparameter (tool_getparam.c:2899) ==87187== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87187== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87187== by 0x4004208: main (tool_main.c:189) === End of file valgrind194 RUN: Process with pid 81041 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind191 ../src/curl -q --output log/24/curl191.out --include --trace-ascii log/24/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:38499/191" > log/24/stdout191 2> log/24/stderr191 test 0192...[HTTP GET -w num_connects with one simple connect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind192 ../src/curl -q --include --trace-ascii log/9/trace192 --trace-time http://127.0.0.1:33885/192 -w "%{num_connects}\n" > log/9/stdout192 2> log/9/stderr192 192: stdout FAILED: --- log/9/check-expected 2026-03-14 05:45:58.917949386 +0000 +++ log/9/check-generated 2026-03-14 05:45:58.917949386 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -1[LF] == Contents of files in the log/9/ directory after test 192 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind192 ../src/curl -q --include --trace-ascii log/9/trace192 --trace-time http://127.0.0.1:33885/192 -w "%{num_connects}\n" > log/9/stdout192 2> log/9/stderr192 === End of file commands.log === Start of file http_server.log 05:45:56.005723 ====> Client connect 05:45:56.005760 accept_connection 3 returned 4 05:45:56.005779 accept_connection 3 returned 0 05:45:56.005796 Read 93 bytes 05:45:56.005807 Process 93 bytes request 05:45:56.005821 Got request: GET /verifiedserver HTTP/1.1 05:45:56.005831 Are-we-friendly question received 05:45:56.005860 Wrote request (93 bytes) input to log/9/server.input 05:45:56.005880 Identifying ourselves as friends 05:45:56.005948 Response sent (56 bytes) and written to log/9/server.response 05:45:56.005961 special request received, no persistency 05:45:56.005972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 59478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 192 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind192 ==86980== ==86980== Process terminating with default action of signal 4 (SIGILL) ==86980== Illegal opcode at address 0x4014883 ==86980== at 0x4014883: getparameter (tool_getparam.c:2899) ==86980== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86980== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86980== by 0x4004208: main (tool_main.c:189) === End of file valgrind192 test 0190...[FTP download with strict timeout and slow CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind190 ../src/curl -q --output log/20/curl190.out --include --trace-ascii log/20/trace190 --trace-time ftp://127.0.0.1:43013/path/to/file/190 -m 10 > log/20/stdout190 2> log/20/stderr190 190: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind190 ../src/curl -q --output log/20/curl190.out --include --trace-ascii log/20/trace190 --trace-time ftp://127.0.0.1:43013/path/to/file/190 -m 10 > log/20/stdout190 2> log/20/stderr190 === End of file commands.log === Start of file ftp_server.log 05:45:56.474648 ====> Client connect 05:45:56.474864 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:56.475182 < "USER anonymous" 05:45:56.475225 > "331 We are happy you popped in![CR][LF]" 05:45:56.475427 < "PASS ftp@example.com" 05:45:56.475464 > "230 Welcome you silly person[CR][LF]" 05:45:56.475661 < "PWD" 05:45:56.475701 > "257 "/" is current directory[CR][LF]" 05:45:56.475901 < "EPSV" 05:45:56.475931 ====> Passive DATA channel requested by client 05:45:56.475949 DATA sockfilt for passive data channel starting... 05:45:56.483290 DATA sockfilt for passive data channel started (pid 86943) 05:45:56.483414 DATA sockfilt for passive data channel listens on port 37345 05:45:56.483461 > "229 Entering Passive Mode (|||37345|)[CR][LF]" 05:45:56.483480 Client has been notified that DATA conn will be accepted on port 37345 05:45:56.483711 Client connects to port 37345 05:45:56.483739 ====> Client established passive DATA connection on port 37345 05:45:56.483827 < "TYPE I" 05:45:56.483857 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:56.484003 < "SIZE verifiedserver" 05:45:56.484037 > "213 17[CR][LF]" 05:45:56.484173 < "RETR verifiedserver" 05:45:56.484205 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:56.484296 =====> Closing passive DATA connection... 05:45:56.484315 Server disconnects passive DATA connection 05:45:56.484560 Server disconnected passive DATA connection 05:45:56.484595 DATA sockfilt for passive data channel quits (pid 86943) 05:45:56.484861 DATA sockfilt for passive data channel quit (pid 86943) 05:45:56.484892 =====> Closed passive DATA connection 05:45:56.484925 > "226 File transfer complete[CR][LF]" 05:45:56.529046 < "QUIT" 05:45:56.529121 > "221 bye bye baby[CR][LF]" 05:45:56.530794 MAIN sockfilt said DISC 05:45:56.530830 ====> Client disconnected 05:45:56.530914 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:55.935996 ====> Client connect 05:45:55.936349 Received DATA (on stdin) 05:45:55.936368 > 146 bytes data, server => client 05:45:55.936380 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:55.936391 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:55.936401 '220 \___|\___/|_| \_\_____|\r\n' 05:45:55.936489 < 16 bytes data, client => server 05:45:55.936507 'USER anonymous\r\n' 05:45:55.936701 Received DATA (on stdin) 05:45:55.936715 > 33 bytes data, server => client 05:45:55.936727 '331 We are happy you popped in!\r\n' 05:45:55.936786 < 22 bytes data, client => server 05:45:55.936803 'PASS ftp@example.com\r\n' 05:45:55.936934 Received DATA (on stdin) 05:45:55.936947 > 30 bytes data, server => client 05:45:55.936958 '230 Welcome you silly person\r\n' 05:45:55.937025 < 5 bytes data, client => server 05:45:55.937041 'PWD\r\n' 05:45:55.937172 Received DATA (on stdin) 05:45:55.937186 > 30 bytes data, server => client 05:45:55.937196 '257 "/" is current directory\r\n' 05:45:55.937266 < 6 bytes data, client => server 05:45:55.937283 'EPSV\r\n' 05:45:55.944952 Received DATA (on stdin) 05:45:55.944968 > 39 bytes data, server => client 05:45:55.944979 '229 Entering Passive Mode (|||37345|)\r\n' 05:45:55.945099 < 8 bytes data, client => server 05:45:55.945110 'TYPE I\r\n' 05:45:55.945320 Received DATA (on stdin) 05:45:55.945332 > 33 bytes data, server => client 05:45:55.945341 '200 I modify TYPE as you wanted\r\n' 05:45:55.945389 < 21 bytes data, client => server 05:45:55.945399 'SIZE verifiedserver\r\n' 05:45:55.945498 Received DATA (on stdin) 05:45:55.945507 > 8 bytes data, server => client 05:45:55.945516 '213 17\r\n' 05:45:55.945558 < 21 bytes data, client => server 05:45:55.945567 'RETR verifiedserver\r\n' 05:45:55.945782 Received DATA (on stdin) 05:45:55.945795 > 29 bytes data, server => client 05:45:55.945806 '150 Binary junk (17 bytes).\r\n' 05:45:55.946396 Received DATA (on stdin) 05:45:55.946410 > 28 bytes data, server => client 05:45:55.946420 '226 File transfer complete\r\n' 05:45:55.987222 < 6 bytes data, client => server 05:45:55.987278 'QUIT\r\n' 05:45:55.990604 Received DATA (on stdin) 05:45:55.990625 > 18 bytes data, server => client 05:45:55.990637 '221 bye bye baby\r\n' 05:45:55.991916 ====> Client disconnect 05:45:55.992381 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:56.944446 Running IPv4 version 05:45:56.944499 Listening on port 37345 05:45:56.944530 Wrote pid 86943 to log/20/server/ftp_sockdata.pid 05:45:56.944697 Received PING (on stdin) 05:45:56.944787 Received PORT (on stdin) 05:45:56.945130 ====> Client connect 05:45:56.945832 Received DATA (on stdin) 05:45:56.945845 > 17 bytes data, server => client 05:45:56.945855 'WE ROOLZ: 81041\r\n' 05:45:56.945880 Received DISC (on stdin) 05:45:56.945893 ====> Client forcibly disconnected 05:45:56.946074 Received QUIT (on stdin) 05:45:56.946088 quits 05:45:56.946148 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY CWD 60 Testnum 190 === End of file server.cmd === Start of file valgrind190 ==86969== ==86969== Process terminating with default action of signal 4 (SIGILL) ==86969== Illegal opcode at address 0x4014883 ==86969== at 0x4014883: getparameter (tool_getparam.c:2899) ==86969== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86969== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86969== by 0x4004208: main (tool_main.c:189) === End of file valgrind190 test 0191...[FTP URL with ?-letters in username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind191 ../src/curl -q --output log/24/curl191.out --include --trace-ascii log/24/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:38499/191" > log/24/stdout191 2> log/24/stderr191 191: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind191 ../src/curl -q --output log/24/curl191.out --include --trace-ascii log/24/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:38499/191" > log/24/stdout191 2> log/24/stderr191 === End of file commands.log === Start of file ftp_server.log 05:45:56.482605 ====> Client connect 05:45:56.482768 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:56.483057 < "USER anonymous" 05:45:56.483093 > "331 We are happy you popped in![CR][LF]" 05:45:56.483251 < "PASS ftp@example.com" 05:45:56.483276 > "230 Welcome you silly person[CR][LF]" 05:45:56.483422 < "PWD" 05:45:56.483453 > "257 "/" is current directory[CR][LF]" 05:45:56.483608 < "EPSV" 05:45:56.483635 ====> Passive DATA channel requested by client 05:45:56.483650 DATA sockfilt for passive data channel starting... 05:45:56.494026 DATA sockfilt for passive data channel started (pid 86951) 05:45:56.494205 DATA sockfilt for passive data channel listens on port 36273 05:45:56.494271 > "229 Entering Passive Mode (|||36273|)[CR][LF]" 05:45:56.494298 Client has been notified that DATA conn will be accepted on port 36273 05:45:56.494647 Client connects to port 36273 05:45:56.494681 ====> Client established passive DATA connection on port 36273 05:45:56.494781 < "TYPE I" 05:45:56.494822 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:56.495013 < "SIZE verifiedserver" 05:45:56.495057 > "213 17[CR][LF]" 05:45:56.495242 < "RETR verifiedserver" 05:45:56.495286 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:56.495398 =====> Closing passive DATA connection... 05:45:56.495423 Server disconnects passive DATA connection 05:45:56.495692 Server disconnected passive DATA connection 05:45:56.495728 DATA sockfilt for passive data channel quits (pid 86951) 05:45:56.496016 DATA sockfilt for passive data channel quit (pid 86951) 05:45:56.496045 =====> Closed passive DATA connection 05:45:56.496077 > "226 File transfer complete[CR][LF]" 05:45:56.542400 < "QUIT" 05:45:56.542460 > "221 bye bye baby[CR][LF]" 05:45:56.543722 MAIN sockfilt said DISC 05:45:56.543757 ====> Client disconnected 05:45:56.543840 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:56.943946 ====> Client connect 05:45:56.944247 Received DATA (on stdin) 05:45:56.944261 > 146 bytes data, server => client 05:45:56.944273 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:56.944283 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:56.944292 '220 \___|\___/|_| \_\_____|\r\n' 05:45:56.944375 < 16 bytes data, client => server 05:45:56.944387 'USER anonymous\r\n' 05:45:56.944558 Received DATA (on stdin) 05:45:56.944569 > 33 bytes data, server => client 05:45:56.944579 '331 We are happy you popped in!\r\n' 05:45:56.944630 < 22 bytes data, client => server 05:45:56.944641 'PASS ftp@example.com\r\n' 05:45:56.944739 Received DATA (on stdin) 05:45:56.944750 > 30 bytes data, server => client 05:45:56.944760 '230 Welcome you silly person\r\n' 05:45:56.944808 < 5 bytes data, client => server 05:45:56.944818 'PWD\r\n' 05:45:56.944917 Received DATA (on stdin) 05:45:56.944927 > 30 bytes data, server => client 05:45:56.944937 '257 "/" is current directory\r\n' 05:45:56.944993 < 6 bytes data, client => server 05:45:56.945002 'EPSV\r\n' 05:45:56.955779 Received DATA (on stdin) 05:45:56.955800 > 39 bytes data, server => client 05:45:56.955812 '229 Entering Passive Mode (|||36273|)\r\n' 05:45:56.956024 < 8 bytes data, client => server 05:45:56.956041 'TYPE I\r\n' 05:45:56.956295 Received DATA (on stdin) 05:45:56.956309 > 33 bytes data, server => client 05:45:56.956320 '200 I modify TYPE as you wanted\r\n' 05:45:56.956376 < 21 bytes data, client => server 05:45:56.956392 'SIZE verifiedserver\r\n' 05:45:56.956527 Received DATA (on stdin) 05:45:56.956541 > 8 bytes data, server => client 05:45:56.956551 '213 17\r\n' 05:45:56.956607 < 21 bytes data, client => server 05:45:56.956623 'RETR verifiedserver\r\n' 05:45:56.956894 Received DATA (on stdin) 05:45:56.956907 > 29 bytes data, server => client 05:45:56.956917 '150 Binary junk (17 bytes).\r\n' 05:45:56.957546 Received DATA (on stdin) 05:45:56.957561 > 28 bytes data, server => client 05:45:56.957571 '226 File transfer complete\r\n' 05:45:57.003687 < 6 bytes data, client => server 05:45:57.003719 'QUIT\r\n' 05:45:57.003936 Received DATA (on stdin) 05:45:57.003949 > 18 bytes data, server => client 05:45:57.003960 '221 bye bye baby\r\n' 05:45:57.005131 ====> Client disconnect 05:45:57.005317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:56.951118 Running IPv4 version 05:45:56.951202 Listening on port 36273 05:45:56.951243 Wrote pid 86951 to log/24/server/ftp_sockdata.pid 05:45:56.955393 Received PING (on stdin) 05:45:56.955554 Received PORT (on stdin) 05:45:56.956064 ====> Client connect 05:45:56.956945 Received DATA (on stdin) 05:45:56.956959 > 17 bytes data, server => client 05:45:56.956973 'WE ROOLZ: 81530\r\n' 05:45:56.957008 Received DISC (on stdin) 05:45:56.957023 ====> Client forcibly disconnected 05:45:56.957207 Received QUIT (on stdin) 05:45:56.957220 quits 05:45:56.957288 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==86975== ==86975== Process termCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind195 ../src/curl -q --output log/8/curl195.out --include --trace-ascii log/8/trace195 --trace-time ftp://127.0.0.1:41333/195 > log/8/stdout195 2> log/8/stderr195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind193 ../src/curl -q --include --trace-ascii log/5/trace193 --trace-time http://127.0.0.1:35621/193 -w "%{num_connects}\n" -L > log/5/stdout193 2> log/5/stderr193 inating with default action of signal 4 (SIGILL) ==86975== Illegal opcode at address 0x4014883 ==86975== at 0x4014883: getparameter (tool_getparam.c:2899) ==86975== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==86975== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==86975== by 0x4004208: main (tool_main.c:189) === End of file valgrind191 test 0195...[FTP response 530 after PASS, temporarily not allowed access] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind195 ../src/curl -q --output log/8/curl195.out --include --trace-ascii log/8/trace195 --trace-time ftp://127.0.0.1:41333/195 > log/8/stdout195 2> log/8/stderr195 195: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 195 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind195 ../src/curl -q --output log/8/curl195.out --include --trace-ascii log/8/trace195 --trace-time ftp://127.0.0.1:41333/195 > log/8/stdout195 2> log/8/stderr195 === End of file commands.log === Start of file ftp_server.log 05:45:56.946493 ====> Client connect 05:45:56.946643 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:56.946910 < "USER anonymous" 05:45:56.946943 > "331 We are happy you popped in![CR][LF]" 05:45:56.947107 < "PASS ftp@example.com" 05:45:56.947133 > "230 Welcome you silly person[CR][LF]" 05:45:56.947274 < "PWD" 05:45:56.947304 > "257 "/" is current directory[CR][LF]" 05:45:56.947453 < "EPSV" 05:45:56.947477 ====> Passive DATA channel requested by client 05:45:56.947491 DATA sockfilt for passive data channel starting... 05:45:56.949296 DATA sockfilt for passive data channel started (pid 87175) 05:45:56.949404 DATA sockfilt for passive data channel listens on port 41743 05:45:56.949442 > "229 Entering Passive Mode (|||41743|)[CR][LF]" 05:45:56.949461 Client has been notified that DATA conn will be accepted on port 41743 05:45:56.949676 Client connects to port 41743 05:45:56.949706 ====> Client established passive DATA connection on port 41743 05:45:56.949779 < "TYPE I" 05:45:56.949804 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:56.949954 < "SIZE verifiedserver" 05:45:56.949994 > "213 17[CR][LF]" 05:45:56.950136 < "RETR verifiedserver" 05:45:56.950168 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:56.950250 =====> Closing passive DATA connection... 05:45:56.950267 Server disconnects passive DATA connection 05:45:56.950483 Server disconnected passive DATA connection 05:45:56.950509 DATA sockfilt for passive data channel quits (pid 87175) 05:45:56.950715 DATA sockfilt for passive data channel quit (pid 87175) 05:45:56.950738 =====> Closed passive DATA connection 05:45:56.950764 > "226 File transfer complete[CR][LF]" 05:45:56.992902 < "QUIT" 05:45:56.992967 > "221 bye bye baby[CR][LF]" 05:45:56.996294 MAIN sockfilt said DISC 05:45:56.997184 ====> Client disconnected 05:45:56.998582 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:57.407828 ====> Client connect 05:45:57.408118 Received DATA (on stdin) 05:45:57.408132 > 146 bytes data, server => client 05:45:57.408144 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:57.408154 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:57.408164 '220 \___|\___/|_| \_\_____|\r\n' 05:45:57.408237 < 16 bytes data, client => server 05:45:57.408248 'USER anonymous\r\n' 05:45:57.408411 Received DATA (on stdin) 05:45:57.408422 > 33 bytes data, server => client 05:45:57.408433 '331 We are happy you popped in!\r\n' 05:45:57.408483 < 22 bytes data, client => server 05:45:57.408493 'PASS ftp@example.com\r\n' 05:45:57.408595 Received DATA (on stdin) 05:45:57.408606 > 30 bytes data, server => client 05:45:57.408616 '230 Welcome you silly person\r\n' 05:45:57.408660 < 5 bytes data, client => server 05:45:57.408670 'PWD\r\n' 05:45:57.408766 Received DATA (on stdin) 05:45:57.408777 > 30 bytes data, server => client 05:45:57.408787 '257 "/" is current directory\r\n' 05:45:57.408840 < 6 bytes data, client => server 05:45:57.408849 'EPSV\r\n' 05:45:57.410928 Received DATA (on stdin) 05:45:57.410941 > 39 bytes data, server => client 05:45:57.410951 '229 Entering Passive Mode (|||41743|)\r\n' 05:45:57.411065 < 8 bytes data, client => server 05:45:57.411078 'TYPE I\r\n' 05:45:57.411267 Received DATA (on stdin) 05:45:57.411278 > 33 bytes data, server => client 05:45:57.411289 '200 I modify TYPE as you wanted\r\n' 05:45:57.411337 < 21 bytes data, client => server 05:45:57.411347 'SIZE verifiedserver\r\n' 05:45:57.411456 Received DATA (on stdin) 05:45:57.411467 > 8 bytes data, server => client 05:45:57.411477 '213 17\r\n' 05:45:57.411521 < 21 bytes data, client => server 05:45:57.411532 'RETR verifiedserver\r\n' 05:45:57.411732 Received DATA (on stdin) 05:45:57.411743 > 29 bytes data, server => client 05:45:57.411753 '150 Binary junk (17 bytes).\r\n' 05:45:57.412229 Received DATA (on stdin) 05:45:57.412241 > 28 bytes data, server => client 05:45:57.412251 '226 File transfer complete\r\n' 05:45:57.454152 < 6 bytes data, client => server 05:45:57.454184 'QUIT\r\n' 05:45:57.454441 Received DATA (on stdin) 05:45:57.454454 > 18 bytes data, server => client 05:45:57.454465 '221 bye bye baby\r\n' 05:45:57.455319 ====> Client disconnect 05:45:57.459585 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:56.410469 Running IPv4 version 05:45:56.410529 Listening on port 41743 05:45:56.410562 Wrote pid 87175 to log/8/server/ftp_sockdata.pid 05:45:56.410704 Received PING (on stdin) 05:45:56.410783 Received PORT (on stdin) 05:45:56.411098 ====> Client connect 05:45:56.411776 Received DATA (on stdin) 05:45:56.411788 > 17 bytes data, server => client 05:45:56.411798 'WE ROOLZ: 81360\r\n' 05:45:56.411820 Received DISC (on stdin) 05:45:56.411830 ====> Client forcibly disconnected 05:45:56.411980 Received QUIT (on stdin) 05:45:56.411990 quits 05:45:56.412048 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 530 temporarily not available Testnum 195 === End of file server.cmd === Start of file valgrind195 ==87223== ==87223== Process terminating with default action of signal 4 (SIGILL) ==87223== Illegal opcode at address 0x4014883 ==87223== at 0x4014883: getparameter (tool_getparam.c:2899) ==87223== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87223== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87223== by 0x4004208: main (tool_main.c:189) === End of file valgrind195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind196 ../src/curl -q --include --trace-ascii log/13/trace196 --trace-time ftp://127.0.0.1:46845/196 --retry 1 -w '%{num_retries}\n' > log/13/stdout196 2> log/13/stderr196 test 0193...[HTTP GET -w num_connects with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind193 ../src/curl -q --include --trace-ascii log/5/trace193 --trace-time http://127.0.0.1:35621/193 -w "%{num_connects}\n" -L > log/5/stdout193 2> log/5/stderr193 193: stdout FAILED: --- log/5/check-expected 2026-03-14 05:45:59.324616052 +0000 +++ log/5/check-generated 2026-03-14 05:45:59.324616052 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -Location: ./193[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -2[LF] == Contents of files in the log/5/ directory after test 193 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] Location: ./193[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind193 ../src/curl -q --include --trace-ascii log/5/trace193 --trace-time http://127.0.0.1:35621/193 -w "%{num_connects}\n" -L > log/5/stdout193 2> log/5/stderr193 === End of file commands.log === Start of file http_server.log 05:45:57.395703 ====> Client connect 05:45:57.395734 accept_connection 3 returned 4 05:45:57.395749 accept_connection 3 returned 0 05:45:57.395764 Read 93 bytes 05:45:57.395773 Process 93 bytes request 05:45:57.395787 Got request: GET /verifiedserver HTTP/1.1 05:45:57.395796 Are-we-friendly question received 05:45:57.395818 Wrote request (93 bytes) input to log/5/server.input 05:45:57.395834 Identifying ourselves as friends 05:45:57.395886 Response sent (56 bytes) and written to log/5/server.response 05:45:57.395895 special request received, no persistency 05:45:57.395904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 47890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 193 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind193 ==87178== ==87178== Process terminating with default action of signal 4 (SIGILL) ==87178== Illegal opcode at address 0x4014883 ==87178== at 0x4014883: getparameter (tool_getparam.c:2899) ==87178== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87178== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87178== by 0x4004208: main (tool_main.c:189) === End of file valgrind193 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind202 ../src/curl -q --trace-ascii log/2/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/2/test202.txt > log/2/stdout202 2> log/2/stderr202 test 0196...[FTP transient error, retry request once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind196 ../src/curl -q --include --trace-ascii log/13/trace196 --trace-time ftp://127.0.0.1:46845/196 --retry 1 -w '%{num_retries}\n' > log/13/stdout196 2> log/13/stderr196 196: stdout FAILED: --- log/13/check-expected 2026-03-14 05:45:59.407949385 +0000 +++ log/13/check-generated 2026-03-14 05:45:59.407949385 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/13/ directory after test 196 === Start of file check-expected 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind196 ../src/curl -q --include --trace-ascii log/13/trace196 --trace-time ftp://127.0.0.1:46845/196 --retry 1 -w '%{num_retries}\n' > log/13/stdout196 2> log/13/stderr196 === End of file commands.log === Start of file ftp_server.log 05:45:57.134929 ====> Client connect 05:45:57.135165 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:57.135468 < "USER anonymous" 05:45:57.135506 > "331 We are happy you popped in![CR][LF]" 05:45:57.135689 < "PASS ftp@example.com" 05:45:57.135716 > "230 Welcome you silly person[CR][LF]" 05:45:57.136596 < "PWD" 05:45:57.136633 > "257 "/" is current directory[CR][LF]" 05:45:57.136815 < "EPSV" 05:45:57.136840 ====> Passive DATA channel requested by client 05:45:57.136854 DATA sockfilt for passive data channel starting... 05:45:57.152253 DATA sockfilt for passive data channel started (pid 87313) 05:45:57.152443 DATA sockfilt for passive data channel listens on port 33737 05:45:57.152498 > "229 Entering Passive Mode (|||33737|)[CR][LF]" 05:45:57.152518 Client has been notified that DATA conn will be accepted on port 33737 05:45:57.152889 Client connects to port 33737 05:45:57.152925 ====> Client established passive DATA connection on port 33737 05:45:57.153028 < "TYPE I" 05:45:57.153062 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:57.153231 < "SIZE verifiedserver" 05:45:57.153273 > "213 17[CR][LF]" 05:45:57.153421 < "RETR verifiedserver" 05:45:57.153453 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:57.153540 =====> Closing passive DATA connection... 05:45:57.153555 Server disconnects passive DATA connection 05:45:57.153708 Server disconnected passive DATA connection 05:45:57.153730 DATA sockfilt for passive data channel quits (pid 87313) 05:45:57.153951 DATA sockfilt for passive data channel quit (pid 87313) 05:45:57.153975 =====> Closed passive DATA connection 05:45:57.154000 > "226 File transfer complete[CR][LF]" 05:45:57.205887 < "QUIT" 05:45:57.205941 > "221 bye bye baby[CR][LF]" 05:45:57.207090 MAIN sockfilt said DISC 05:45:57.207119 ====> Client disconnected 05:45:57.207198 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:57.596286 ====> Client connect 05:45:57.596644 Received DATA (on stdin) 05:45:57.596659 > 146 bytes data, server => client 05:45:57.596671 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:57.596681 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:57.596690 '220 \___|\___/|_| \_\_____|\r\n' 05:45:57.596780 < 16 bytes data, client => server 05:45:57.596794 'USER anonymous\r\n' 05:45:57.596977 Received DATA (on stdin) 05:45:57.597002 > 33 bytes data, server => client 05:45:57.597013 '331 We are happy you popped in!\r\n' 05:45:57.597065 < 22 bytes data, client => server 05:45:57.597075 'PASS ftp@example.com\r\n' 05:45:57.597179 Received DATA (on stdin) 05:45:57.597189 > 30 bytes data, server => client 05:45:57.597199 '230 Welcome you silly person\r\n' 05:45:57.597961 < 5 bytes data, client => server 05:45:57.597978 'PWD\r\n' 05:45:57.598100 Received DATA (on stdin) 05:45:57.598112 > 30 bytes data, server => client 05:45:57.598122 '257 "/" is current directory\r\n' 05:45:57.598188 < 6 bytes data, client => server 05:45:57.598202 'EPSV\r\n' 05:45:57.613992 Received DATA (on stdin) 05:45:57.614011 > 39 bytes data, server => client 05:45:57.614022 '229 Entering Passive Mode (|||33737|)\r\n' 05:45:57.614260 < 8 bytes data, client => server 05:45:57.614275 'TYPE I\r\n' 05:45:57.614529 Received DATA (on stdin) 05:45:57.614540 > 33 bytes data, server => client 05:45:57.614550 '200 I modify TYPE as you wanted\r\n' 05:45:57.614607 < 21 bytes data, client => server 05:45:57.614618 'SIZE verifiedserver\r\n' 05:45:57.614737 Received DATA (on stdin) 05:45:57.614748 > 8 bytes data, server => client 05:45:57.614757 '213 17\r\n' 05:45:57.614805 < 21 bytes data, client => server 05:45:57.614815 'RETR verifiedserver\r\n' 05:45:57.615020 Received DATA (on stdin) 05:45:57.615031 > 29 bytes data, server => client 05:45:57.615041 '150 Binary junk (17 bytes).\r\n' 05:45:57.615466 Received DATA (on stdin) 05:45:57.615478 > 28 bytes data, server => client 05:45:57.615488 '226 File transfer complete\r\n' 05:45:57.667163 < 6 bytes data, client => server 05:45:57.667198 'QUIT\r\n' 05:45:57.667407 Received DATA (on stdin) 05:45:57.667418 > 18 bytes data, server => client 05:45:57.667428 '221 bye bye baby\r\n' 05:45:57.668506 ====> Client disconnect 05:45:57.668660 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:57.599663 Running IPv4 version 05:45:57.599720 Listening on port 33737 05:45:57.599761 Wrote pid 87313 to log/13/server/ftp_sockdata.pid 05:45:57.610361 Received PING (on stdin) 05:45:57.613781 Received PORT (on stdin) 05:45:57.614299 ====> Client connect 05:45:57.615065 Received DATA (on stdin) 05:45:57.615079 > 17 bytes data, server => client 05:45:57.615089 'WE ROOLZ: 81411\r\n' 05:45:57.615112 Received DISC (on stdin) 05:45:57.615123 ====> Client forcibly disconnected 05:45:57.615197 Received QUIT (on stdin) 05:45:57.615207 quits 05:45:57.615259 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 430 temporarily not available Testnum 196 === End of file server.cmd === Start of file valgrind196 ==87394== ==87394== Process terminating with default action of signal 4 (SIGILL) ==87394== Illegal opcode at address 0x4014883 ==87394== at 0x4014883: getparameter (tool_getparam.c:2899) ==87394== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87394== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87394== by 0x4004208: main (tool_main.c:189) === End of file valgrind196 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind200 ../src/curl -q --output log/10/curl200.out --trace-ascii log/10/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test200.txt > log/10/stdout200 2> log/10/stderr200 test 0202...[two file:// URLs to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind202 ../src/curl -q --trace-ascii log/2/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/2/test202.txt > log/2/stdout202 2> log/2/stderr202 202: stdout FAILED: --- log/2/check-expected 2026-03-14 05:45:59.624616052 +0000 +++ log/2/check-generated 2026-03-14 05:45:59.624616052 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/2/ directory after test 202 === Start of file check-expected contents in a single file[LF] contents in a single file[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind202 ../src/curl -q --trace-ascii log/2/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/2/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/2/test202.txt > log/2/stdout202 2> log/2/stderr202 === End of file commands.log === Start of file server.cmd Testnum 202 === End of file server.cmd === Start of file test202.txt contents in a single file === End of file test202.txt === Start of file valgrind202 ==87635== ==87635== Process terminating with default action of signal 4 (SIGILL) ==87635== Illegal opcode at address 0x4014883 ==87635== at 0x4014883: getparameter (tool_getparam.c:2899) ==87635== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87635== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87635== by 0x4004208: main (tool_main.c:189) === End of file valgrind202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind198 ../src/curl -q --output log/15/curl198.out --include --trace-ascii log/15/trace198 --trace-time http://127.0.0.1:43413/198 --retry 1000 > log/15/stdout198 2> log/15/stderr198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind204 ../src/curl -q --output log/19/curl204.out --trace-ascii log/19/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/result204.txt -T log/19/upload204.txt > log/19/stdout204 2> log/19/stderr204 test 0200...[basic file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind200 ../src/curl -q --output log/10/curl200.out --trace-ascii log/10/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test200.txt > log/10/stdout200 2> log/10/stderr200 200: data FAILED: --- log/10/check-expected 2026-03-14 05:45:59.677949385 +0000 +++ log/10/check-generated 2026-03-14 05:45:59.677949385 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/10/ directory after test 200 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind200 ../src/curl -q --output log/10/curl200.out --trace-ascii log/10/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test200.txt > log/10/stdout200 2> log/10/stderr200 === End of file commands.log === Start of file server.cmd Testnum 200 === End of file server.cmd === Start of file test200.txt foo bar bar foo moo === End of file test200.txt === Start of file valgrind200 ==87570== ==87570== Process terminating with default action of signal 4 (SIGILL) ==87570== Illegal opcode at address 0x4014883 ==87570== at 0x4014883: getparameter (tool_getparam.c:2899) ==87570== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87570== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87570== by 0x4004208: main (tool_main.c:189) === End of file valgrind200 test 0198...[HTTP GET --retry on 503 error with output to file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind198 ../src/curl -q --output log/15/curl198.out --include --trace-ascii log/15/trace198 --trace-time http://127.0.0.1:43413/198 --retry 1000 > log/15/stdout198 2> log/15/stderr198 198: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind198 ../src/curl -q --output log/15/curl198.out --include --trace-ascii log/15/trace198 --trace-time http://127.0.0.1:43413/198 --retry 1000 > log/15/stdout198 2> log/15/stderr198 === End of file commands.log === Start of file http_server.log 05:45:57.660415 ====> Client connect 05:45:57.660469 accept_connection 3 returned 4 05:45:57.660491 accept_connection 3 returned 0 05:45:57.660511 Read 93 bytes 05:45:57.660522 Process 93 bytes request 05:45:57.660540 Got request: GET /verifiedserver HTTP/1.1 05:45:57.660551 Are-we-friendly question received 05:45:57.660583 Wrote request (93 bytes) input to log/15/server.input 05:45:57.660603 Identifying ourselves as friends 05:45:57.660698 Response sent (56 bytes) and written to log/15/server.response 05:45:57.660712 special request received, no persistency 05:45:57.660722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 60904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 198 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind198 ==87399== ==87399== Process terminating with default action of signal 4 (SIGILL) ==87399== Illegal opcode at address 0x4014883 ==87399== at 0x4014883: getparameter (tool_getparam.c:2899) ==87399== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87399== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87399== by 0x4004208: main (tool_main.c:189) === End of file valgrind198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind199 ../src/curl -q --output log/1/curl199.out --include --trace-ascii log/1/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:38765/{199,199}" -G > log/1/stdout199 2> log/1/stderr199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind197 ../src/curl -q --include --trace-ascii log/23/trace197 --trace-time http://127.0.0.1:33217/197 --retry 1000 > log/23/stdout197 2> log/23/stderr197 test 0204...["upload" with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind204 ../src/curl -q --output log/19/curl204.out --trace-ascii log/19/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/result204.txt -T log/19/upload204.txt > log/19/stdout204 2> log/19/stderr204 204: output (log/19/result204.txt) FAILED: --- log/19/check-expected 2026-03-14 05:45:59.767949385 +0000 +++ log/19/check-generated 2026-03-14 05:45:59.767949385 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/19/ directory after test 204 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind204 ../src/curl -q --output log/19/curl204.out --trace-ascii log/19/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/result204.txt -T log/19/upload204.txt > log/19/stdout204 2> log/19/stderr204 === End of file commands.log === Start of file server.cmd Testnum 204 === End of file server.cmd === Start of file upload204.txt data in file to write === End of file upload204.txt === Start of file valgrind204 ==87770== ==87770== Process terminating with default action of signal 4 (SIGILL) ==87770== Illegal opcode at address 0x4014883 ==87770== at 0x4014883: getparameter (tool_getparam.c:2899) ==87770== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87770== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87770== by 0x4004208: main (tool_main.c:189) === End of file valgrind204 test 0199...[HTTP with -d, -G and {}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind199 ../src/curl -q --output log/1/curl199.out --include --trace-ascii log/1/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:38765/{199,199}" -G > log/1/stdout199 2> log/1/stderr199 199: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind199 ../src/curl -q --output log/1/curl199.out --include --trace-ascii log/1/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:38765/{199,199}" -G > log/1/stdout199 2> log/1/stderr199 === End of file commands.log === Start of file http_server.log 05:45:57.783735 ====> Client connect 05:45:57.783773 accept_connection 3 returned 4 05:45:57.783790 accept_connection 3 returned 0 05:45:57.783805 Read 93 bytes 05:45:57.783815 Process 93 bytes request 05:45:57.783829 Got request: GET /verifiedserver HTTP/1.1 05:45:57.783838 Are-we-friendly question received 05:45:57.783862 Wrote request (93 bytes) input to log/1/server.input 05:45:57.783879 Identifying ourselves as friends 05:45:57.783941 Response sent (56 bytes) and written to log/1/server.response 05:45:57.783951 special request received, no persistency 05:45:57.783960 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 49920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 199 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind199 ==87491== ==87491== Process terminating with default action of signal 4 (SIGILL) ==87491== Illegal opcode at address 0x4014883 ==87491== at 0x4014883: getparameter (tool_getparam.c:2899) ==87491== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87491== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87491== by 0x4004208: main (tool_main.c:189) === End of file valgrind199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind203 ../src/curl -q --output log/11/curl203.out --trace-ascii log/11/trace203 --trace-time file:/startdir/src/build-curl/tests/log/11/test203.txt > log/11/stdout203 2> log/11/stderr203 test 0197...[HTTP GET --retry on 503 error with output to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind197 ../src/curl -q --include --trace-ascii log/23/trace197 --trace-time http://127.0.0.1:33217/197 --retry 1000 > log/23/stdout197 2> log/23/stderr197 197: stdout FAILED: --- log/23/check-expected 2026-03-14 05:45:59.787949385 +0000 +++ log/23/check-generated 2026-03-14 05:45:59.787949385 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 503 BAD swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 21[LF] -[LF] -server not available[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Connection: close[LF] -[LF] -ok[LF] == Contents of files in the log/23/ directory after test 197 === Start of file check-expected HTTP/1.1 503 BAD swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 21[LF] [LF] server not available[LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Connection: close[LF] [LF] ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind197 ../src/curl -q --include --trace-ascii log/23/trace197 --trace-time http://127.0.0.1:33217/197 --retry 1000 > log/23/stdout197 2> log/23/stderr197 === End of file commands.log === Start of file http_server.log 05:45:57.595019 ====> Client connect 05:45:57.595052 accept_connection 3 returned 4 05:45:57.595067 accept_connection 3 returned 0 05:45:57.595081 Read 93 bytes 05:45:57.595090 Process 93 bytes request 05:45:57.595102 Got request: GET /verifiedserver HTTP/1.1 05:45:57.595111 Are-we-friendly question received 05:45:57.595135 Wrote request (93 bytes) input to log/23/server.input 05:45:57.595151 Identifying ourselves as friends 05:45:57.595204 Response sent (56 bytes) and written to log/23/server.response 05:45:57.595213 special request received, no persistency 05:45:57.595222 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 59446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind197 ==87332== ==87332== Process terminating with default action of signal 4 (SIGILL) ==87332== Illegal opcode at address 0x4014883 ==87332== at 0x4014883: getparameter (tool_getparam.c:2899) ==87332== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87332== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87332== by 0x4004208: main (tool_main.c:189) === End of file valgrind197 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind201 ../src/curl -q --output log/12/curl201.out --include --trace-ascii log/12/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/12/non-existent-file.txt > log/12/stdout201 2> log/12/stderr201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind205 ../src/curl -q --output log/18/curl205.out --trace-ascii log/18/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/nonexisting/result205.txt -T log/18/upload205.txt > log/18/stdout205 2> log/18/stderr205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind209 ../src/curl -q --output log/7/curl209.out --include --trace-ascii log/7/trace209 --trace-time http://test.remote.example.com.209:39013/path/2090002 --proxy http://127.0.0.1:39013 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/7/stdout209 2> log/7/stderr209 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind207 ../src/curl -q --output log/21/curl207.out --include --trace-ascii log/21/trace207 --trace-time http://127.0.0.1:42891/207 > log/21/stdout207 2> log/21/stderr207 setenv MSYS2_ARG_CONV_EXCL = file: test 0203...[file:/path URL with a single slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind203 ../src/curl -q --output log/11/curl203.out --trace-ascii log/11/trace203 --trace-time file:/startdir/src/build-curl/tests/log/11/test203.txt > log/11/stdout203 2> log/11/stderr203 203: data FAILED: --- log/11/check-expected 2026-03-14 05:45:59.907949385 +0000 +++ log/11/check-generated 2026-03-14 05:45:59.907949385 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/11/ directory after test 203 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind203 ../src/curl -q --output log/11/curl203.out --trace-ascii log/11/trace203 --trace-time file:/startdir/src/build-curl/tests/log/11/test203.txt > log/11/stdout203 2> log/11/stderr203 === End of file commands.log === Start of file server.cmd Testnum 203 === End of file server.cmd === Start of file test203.txt foo bar bar foo moo === End of file test203.txt === Start of file valgrind203 ==87729== ==87729== Process terminating with default action of signal 4 (SIGILL) ==87729== Illegal opcode at address 0x4014883 ==87729== at 0x4014883: getparameter (tool_getparam.c:2899) ==87729== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87729== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87729== by 0x4004208: main (tool_main.c:189) === End of file valgrind203 test 0201...[missing file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind201 ../src/curl -q --output log/12/curl201.out --include --trace-ascii log/12/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/12/non-existent-file.txt > log/12/stdout201 2> log/12/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/12/ directory after test 201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind201 ../src/curl -q --output log/12/curl201.out --include --trace-ascii log/12/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/12/non-existent-file.txt > log/12/stdout201 2> log/12/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==87633== ==87633== Process terminating with default action of signal 4 (SIGILL) ==87633== Illegal opcode at address 0x4014883 ==87633== at 0x4014883: getparameter (tool_getparam.c:2899) ==87633== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87633== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87633== by 0x4004208: main (tool_main.c:189) === End of file valgrind201 test 0205...["upload" nonexisting with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind205 ../src/curl -q --output log/18/curl205.out --trace-ascii log/18/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/nonexisting/result205.txt -T log/18/upload205.txt > log/18/stdout205 2> log/18/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/18/ directory after test 205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind205 ../src/curl -q --output log/18/curl205.out --trace-ascii log/18/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/nonexisting/result205.txt -T log/18/upload205.txt > log/18/stdout205 2> log/18/stderr205 === End of file commands.log === Start of file server.cmd Testnum 205 === End of file server.cmd === Start of file upload205.txt data in file to write === End of file upload205.txt === Start of file valgrind205 ==87849== ==87849== Process terminating with default action of signal 4 (SIGILL) ==87849== Illegal opcode at address 0x4014883 ==87849== at 0x4014883: getparameter (tool_getparam.c:2899) ==87849== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87849== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87849== by 0x4004208: main (tool_main.c:189) === End of file valgrind205 test 0209...[HTTP proxy CONNECT auth NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind209 ../src/curl -q --output log/7/curl209.out --include --trace-ascii log/7/trace209 --trace-time http://test.remote.example.com.209:39013/path/2090002 --proxy http://127.0.0.1:39013 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/7/stdout209 2> log/7/stderr209 209: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 209 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind209 ../src/curl -q --output log/7/curl209.out --include --trace-ascii log/7/trace209 --trace-time http://test.remote.example.com.209:39013/path/2090002 --proxy http://127.0.0.1:39013 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/7/stdout209 2> log/7/stderr209 === End of file commands.log === Start of file http_server.log 05:45:57.890416 ====> Client connect 05:45:57.890451 accept_connection 3 returned 4 05:45:57.890468 accept_connection 3 returned 0 05:45:57.890482 Read 93 bytes 05:45:57.890492 Process 93 bytes request 05:45:57.890505 Got request: GET /verifiedserver HTTP/1.1 05:45:57.890514 Are-we-friendly question received 05:45:57.890541 Wrote request (93 bytes) input to log/7/server.input 05:45:57.890558 Identifying ourselves as friends 05:45:57.890622 Response sent (56 bytes) and written to log/7/server.response 05:45:57.890633 special request received, no persistency 05:45:57.890641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 209 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind209 ==88156== ==88156== Process terminating with default action of signal 4 (SIGILL) ==88156== Illegal opcode at address 0x4014883 ==88156== at 0x4014883: getparameter (tool_getparam.c:2899) ==88156== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88156== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88156== by 0x4004208: main (tool_main.c:189) === End of file valgrind209 test 0207...[HTTP GET with chunked Transfer-Encoding closed prematurely]CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind208 ../src/curl -q --output log/16/curl208.out --include --trace-ascii log/16/trace208 --trace-time -x http://127.0.0.1:44673 ftp://daniel:mysecret@host.com/we/want/208 -T log/16/test208.txt > log/16/stdout208 2> log/16/stderr208 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind206 ../src/curl -q --output log/3/curl206.out --include --trace-ascii log/3/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:39591 --proxy-user=silly:person --proxy-digest --proxytunnel > log/3/stdout206 2> log/3/stderr206 ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind207 ../src/curl -q --output log/21/curl207.out --include --trace-ascii log/21/trace207 --trace-time http://127.0.0.1:42891/207 > log/21/stdout207 2> log/21/stderr207 207: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 207 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind207 ../src/curl -q --output log/21/curl207.out --include --trace-ascii log/21/trace207 --trace-time http://127.0.0.1:42891/207 > log/21/stdout207 2> log/21/stderr207 === End of file commands.log === Start of file http_server.log 05:45:57.590393 ====> Client connect 05:45:57.590428 accept_connection 3 returned 4 05:45:57.590444 accept_connection 3 returned 0 05:45:57.590458 Read 93 bytes 05:45:57.590468 Process 93 bytes request 05:45:57.590479 Got request: GET /verifiedserver HTTP/1.1 05:45:57.590487 Are-we-friendly question received 05:45:57.590509 Wrote request (93 bytes) input to log/21/server.input 05:45:57.590524 Identifying ourselves as friends 05:45:57.590585 Response sent (56 bytes) and written to log/21/server.response 05:45:57.590594 special request received, no persistency 05:45:57.590602 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 35724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 207 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind207 ==87988== ==87988== Process terminating with default action of signal 4 (SIGILL) ==87988== Illegal opcode at address 0x4014883 ==87988== at 0x4014883: getparameter (tool_getparam.c:2899) ==87988== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87988== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87988== by 0x4004208: main (tool_main.c:189) === End of file valgrind207 test 0208...[HTTP PUT to an FTP URL with username+password - over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind208 ../src/curl -q --output log/16/curl208.out --include --trace-ascii log/16/trace208 --trace-time -x http://127.0.0.1:44673 ftp://daniel:mysecret@host.com/we/want/208 -T log/16/test208.txt > log/16/stdout208 2> log/16/stderr208 208: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind208 ../src/curl -q --output log/16/curl208.out --include --trace-ascii log/16/trace208 --trace-time -x http://127.0.0.1:44673 ftp://daniel:mysecret@host.com/we/want/208 -T log/16/test208.txt > log/16/stdout208 2> log/16/stderr208 === End of file commands.log === Start of file http_server.log 05:45:58.661593 ====> Client connect 05:45:58.661628 accept_connection 3 returned 4 05:45:58.661644 accept_connection 3 returned 0 05:45:58.661792 Read 93 bytes 05:45:58.661806 Process 93 bytes request 05:45:58.661822 Got request: GET /verifiedserver HTTP/1.1 05:45:58.661831 Are-we-friendly question received 05:45:58.661858 Wrote request (93 bytes) input to log/16/server.input 05:45:58.661876 Identifying ourselves as friends 05:45:58.661937 Response sent (56 bytes) and written to log/16/server.response 05:45:58.661947 special request received, no persistency 05:45:58.661955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 42688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 208 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file test208.txt Weird file to upload for testing the PUT feature === End of file test208.txt === Start of file valgrind208 ==88053== ==88053== Process terminating with default action of signal 4 (SIGILL) ==88053== Illegal opcode at address 0x4014883 ==88053== at 0x4014883: getparameter (tool_getparam.c:2899) ==88053== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88053== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88053== by 0x4004208: main (tool_main.c:189) === End of file valgrind208 test 0206...[HTTP proxy CONNECT auth Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind206 ../src/curl -q --output log/3/curl206.out --include --trace-ascii log/3/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:39591 --proxy-user=silly:person --proxy-digest --proxytunnel > log/3/stdout206 2> log/3/stderr206 206: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind206 ../src/curl -q --output log/3/curl206.out --include --trace-ascii log/3/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:39591 --proxy-user=silly:person --proxy-digest --proxytunnel > log/3/stdout206 2> log/3/stderr206 === End of file commands.log === Start of file http_server.log 05:45:58.394091 ====> Client connect 05:45:58.394131 accept_connection 3 returned 4 05:45:58.394147 accept_connection 3 returned 0 05:45:58.394163 Read 93 bytes 05:45:58.394173 Process 93 bytes request 05:45:58.394189 Got request: GET /verifiedserver HTTP/1.1 05:45:58.394198 Are-we-friendly question received 05:45:58.394223 Wrote request (93 bytes) input to log/3/server.input 05:45:58.394239 Identifying ourselves as friends 05:45:58.394294 Response sent (56 bytes) and written to log/3/server.response 05:45:58.394303 special request received, no persistency 05:45:58.394312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 46246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < ContCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind211 ../src/curl -q --output log/17/curl211.out --include --trace-ascii log/17/trace211 --trace-time ftp://127.0.0.1:35305/a/path/211 ftp://127.0.0.1:35305/a/path/211 > log/17/stdout211 2> log/17/stderr211 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind213 ../src/curl -q --output log/4/curl213.out --include --trace-ascii log/4/trace213 --trace-time http://test.remote.example.com.213:40253/path/2130002 --proxy1.0 http://127.0.0.1:40253 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/4/stdout213 2> log/4/stderr213 ent-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd connection-monitor auth_required Testnum 206 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind206 ==87910== ==87910== Process terminating with default action of signal 4 (SIGILL) ==87910== Illegal opcode at address 0x4014883 ==87910== at 0x4014883: getparameter (tool_getparam.c:2899) ==87910== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==87910== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==87910== by 0x4004208: main (tool_main.c:189) === End of file valgrind206 test 0211...[Get two FTP files with no remote EPSV support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind211 ../src/curl -q --output log/17/curl211.out --include --trace-ascii log/17/trace211 --trace-time ftp://127.0.0.1:35305/a/path/211 ftp://127.0.0.1:35305/a/path/211 > log/17/stdout211 2> log/17/stderr211 211: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind211 ../src/curl -q --output log/17/curl211.out --include --trace-ascii log/17/trace211 --trace-time ftp://127.0.0.1:35305/a/path/211 ftp://127.0.0.1:35305/a/path/211 > log/17/stdout211 2> log/17/stderr211 === End of file commands.log === Start of file ftp_server.log 05:45:58.625693 ====> Client connect 05:45:58.625877 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:58.632568 < "USER anonymous" 05:45:58.632631 > "331 We are happy you popped in![CR][LF]" 05:45:58.632834 < "PASS ftp@example.com" 05:45:58.632868 > "230 Welcome you silly person[CR][LF]" 05:45:58.633051 < "PWD" 05:45:58.633087 > "257 "/" is current directory[CR][LF]" 05:45:58.633272 < "EPSV" 05:45:58.633303 ====> Passive DATA channel requested by client 05:45:58.633320 DATA sockfilt for passive data channel starting... 05:45:58.636952 DATA sockfilt for passive data channel started (pid 88255) 05:45:58.637093 DATA sockfilt for passive data channel listens on port 40199 05:45:58.637147 > "229 Entering Passive Mode (|||40199|)[CR][LF]" 05:45:58.637175 Client has been notified that DATA conn will be accepted on port 40199 05:45:58.637483 Client connects to port 40199 05:45:58.637517 ====> Client established passive DATA connection on port 40199 05:45:58.637619 < "TYPE I" 05:45:58.637659 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:58.637855 < "SIZE verifiedserver" 05:45:58.637900 > "213 17[CR][LF]" 05:45:58.638094 < "RETR verifiedserver" 05:45:58.638136 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:58.638237 =====> Closing passive DATA connection... 05:45:58.638264 Server disconnects passive DATA connection 05:45:58.638549 Server disconnected passive DATA connection 05:45:58.638582 DATA sockfilt for passive data channel quits (pid 88255) 05:45:58.638820 DATA sockfilt for passive data channel quit (pid 88255) 05:45:58.638852 =====> Closed passive DATA connection 05:45:58.638897 > "226 File transfer complete[CR][LF]" 05:45:58.679941 < "QUIT" 05:45:58.680004 > "221 bye bye baby[CR][LF]" 05:45:58.681241 MAIN sockfilt said DISC 05:45:58.681279 ====> Client disconnected 05:45:58.681383 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:58.087014 ====> Client connect 05:45:58.087361 Received DATA (on stdin) 05:45:58.087378 > 146 bytes data, server => client 05:45:58.087391 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:58.087402 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:58.087411 '220 \___|\___/|_| \_\_____|\r\n' 05:45:58.093775 < 16 bytes data, client => server 05:45:58.093813 'USER anonymous\r\n' 05:45:58.094106 Received DATA (on stdin) 05:45:58.094121 > 33 bytes data, server => client 05:45:58.094133 '331 We are happy you popped in!\r\n' 05:45:58.094192 < 22 bytes data, client => server 05:45:58.094207 'PASS ftp@example.com\r\n' 05:45:58.094339 Received DATA (on stdin) 05:45:58.094352 > 30 bytes data, server => client 05:45:58.094363 '230 Welcome you silly person\r\n' 05:45:58.094419 < 5 bytes data, client => server 05:45:58.094434 'PWD\r\n' 05:45:58.094554 Received DATA (on stdin) 05:45:58.094567 > 30 bytes data, server => client 05:45:58.094578 '257 "/" is current directory\r\n' 05:45:58.094642 < 6 bytes data, client => server 05:45:58.094656 'EPSV\r\n' 05:45:58.098653 Received DATA (on stdin) 05:45:58.098672 > 39 bytes data, server => client 05:45:58.098683 '229 Entering Passive Mode (|||40199|)\r\n' 05:45:58.098853 < 8 bytes data, client => server 05:45:58.098872 'TYPE I\r\n' 05:45:58.099132 Received DATA (on stdin) 05:45:58.099147 > 33 bytes data, server => client 05:45:58.099158 '200 I modify TYPE as you wanted\r\n' 05:45:58.099217 < 21 bytes data, client => server 05:45:58.099233 'SIZE verifiedserver\r\n' 05:45:58.099374 Received DATA (on stdin) 05:45:58.099389 > 8 bytes data, server => client 05:45:58.099400 '213 17\r\n' 05:45:58.099457 < 21 bytes data, client => server 05:45:58.099473 'RETR verifiedserver\r\n' 05:45:58.099736 Received DATA (on stdin) 05:45:58.099751 > 29 bytes data, server => client 05:45:58.099762 '150 Binary junk (17 bytes).\r\n' 05:45:58.100368 Received DATA (on stdin) 05:45:58.100381 > 28 bytes data, server => client 05:45:58.100391 '226 File transfer complete\r\n' 05:45:58.141178 < 6 bytes data, client => server 05:45:58.141217 'QUIT\r\n' 05:45:58.141478 Received DATA (on stdin) 05:45:58.141492 > 18 bytes data, server => client 05:45:58.141503 '221 bye bye baby\r\n' 05:45:58.142651 ====> Client disconnect 05:45:58.142862 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:58.098054 Running IPv4 version 05:45:58.098131 Listening on port 40199 05:45:58.098180 Wrote pid 88255 to log/17/server/ftp_sockdata.pid 05:45:58.098350 Received PING (on stdin) 05:45:58.098457 Received PORT (on stdin) 05:45:58.098896 ====> Client connect 05:45:58.099824 Received DATA (on stdin) 05:45:58.099842 > 17 bytes data, server => client 05:45:58.099854 'WE ROOLZ: 81141\r\n' 05:45:58.099885 Received DISC (on stdin) 05:45:58.099899 ====> Client forcibly disconnected 05:45:58.100062 Received QUIT (on stdin) 05:45:58.100077 quits 05:45:58.100143 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 211 === End of file server.cmd === Start of file valgrind211 ==88317== ==88317== Process terminating with default action of signal 4 (SIGILL) ==88317== Illegal opcode at address 0x4014883 ==88317== at 0x4014883: getparameter (tool_getparam.c:2899) ==88317== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88317== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88317== by 0x4004208: main (tool_main.c:189) === End of file valgrind211 test 0213...[HTTP 1.0 proxy CONNECT auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind213 ../src/curl -q --output log/4/curl213.out --include --trace-ascii log/4/trace213 --trace-time http://test.remote.example.com.213:40253/path/2130002 --proxy1.0 http://127.0.0.1:40253 --proxy-user testuser:testpass --proxy-ntlm --proxyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind210 ../src/curl -q --output log/22/curl210.out --trace-ascii log/22/trace210 --trace-time ftp://127.0.0.1:41347/a/path/210 ftp://127.0.0.1:41347/a/path/210 > log/22/stdout210 2> log/22/stderr210 tunnel -d "postit" > log/4/stdout213 2> log/4/stderr213 213: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind213 ../src/curl -q --output log/4/curl213.out --include --trace-ascii log/4/trace213 --trace-time http://test.remote.example.com.213:40253/path/2130002 --proxy1.0 http://127.0.0.1:40253 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/4/stdout213 2> log/4/stderr213 === End of file commands.log === Start of file http_server.log 05:45:58.100373 ====> Client connect 05:45:58.100407 accept_connection 3 returned 4 05:45:58.100424 accept_connection 3 returned 0 05:45:58.100545 Read 93 bytes 05:45:58.100562 Process 93 bytes request 05:45:58.100578 Got request: GET /verifiedserver HTTP/1.1 05:45:58.100587 Are-we-friendly question received 05:45:58.100617 Wrote request (93 bytes) input to log/4/server.input 05:45:58.100637 Identifying ourselves as friends 05:45:58.100702 Response sent (56 bytes) and written to log/4/server.response 05:45:58.100714 special request received, no persistency 05:45:58.100724 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind213 ==88277== ==88277== Process terminating with default action of signal 4 (SIGILL) ==88277== Illegal opcode at address 0x4014883 ==88277== at 0x4014883: getparameter (tool_getparam.c:2899) ==88277== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88277== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88277== by 0x4004208: main (tool_main.c:189) === End of file valgrind213 test 0210...[Get two FTP files from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind210 ../src/curl -q --output log/22/curl210.out --trace-ascii log/22/trace210 --trace-time ftp://127.0.0.1:41347/a/path/210 ftp://127.0.0.1:41347/a/path/210 > log/22/stdout210 2> log/22/stderr210 210: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind210 ../src/curl -q --output log/22/curl210.out --trace-ascii log/22/trace210 --trace-time ftp://127.0.0.1:41347/a/path/210 ftp://127.0.0.1:41347/a/path/210 > log/22/stdout210 2> log/22/stderr210 === End of file commands.log === Start of file ftp_server.log 05:45:58.417836 ====> Client connect 05:45:58.418023 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:58.418347 < "USER anonymous" 05:45:58.418389 > "331 We are happy you popped in![CR][LF]" 05:45:58.418585 < "PASS ftp@example.com" 05:45:58.418620 > "230 Welcome you silly person[CR][LF]" 05:45:58.418812 < "PWD" 05:45:58.418854 > "257 "/" is current directory[CR][LF]" 05:45:58.425611 < "EPSV" 05:45:58.425659 ====> Passive DATA channel requested by client 05:45:58.425678 DATA sockfilt for passive data channel starting... 05:45:58.432445 DATA sockfilt for passive data channel started (pid 88133) 05:45:58.432596 DATA sockfilt for passive data channel listens on port 43179 05:45:58.432655 > "229 Entering Passive Mode (|||43179|)[CR][LF]" 05:45:58.432680 Client has been notified that DATA conn will be accepted on port 43179 05:45:58.432950 Client connects to port 43179 05:45:58.432986 ====> Client established passive DATA connection on port 43179 05:45:58.433138 < "TYPE I" 05:45:58.433181 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:58.433376 < "SIZE verifiedserver" 05:45:58.433422 > "213 17[CR][LF]" 05:45:58.433612 < "RETR verifiedserver" 05:45:58.433653 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:58.433761 =====> Closing passive DATA connection... 05:45:58.433787 Server disconnects passive DATA connection 05:45:58.433917 Server disconnected passive DATA connection 05:45:58.433948 DATA sockfilt for passive data channel quits (pid 88133) 05:45:58.434267 DATA sockfilt for passive data channel quit (pid 88133) 05:45:58.434298 =====> Closed passive DATA connection 05:45:58.434329 > "226 File transfer complete[CR][LF]" 05:45:58.482432 < "QUIT" 05:45:58.482495 > "221 bye bye baby[CR][LF]" 05:45:58.508982 MAIN sockfilt said DISC 05:45:58.509066 ====> Client disconnected 05:45:58.509180 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:57.879175 ====> Client connect 05:45:57.879510 Received DATA (on stdin) 05:45:57.879528 > 146 bytes data, server => client 05:45:57.879541 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:57.879553 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:57.879563 '220 \___|\___/|_| \_\_____|\r\n' 05:45:57.879648 < 16 bytes data, client => server 05:45:57.879666 'USER anonymous\r\n' 05:45:57.879863 Received DATA (on stdin) 05:45:57.879876 > 33 bytes data, server => client 05:45:57.879888 '331 We are happy you popped in!\r\n' 05:45:57.879946 < 22 bytes data, client => server 05:45:57.879962 'PASS ftp@example.com\r\n' 05:45:57.880091 Received DATA (on stdin) 05:45:57.880105 > 30 bytes data, server => client 05:45:57.880116 '230 Welcome you silly person\r\n' 05:45:57.880174 < 5 bytes data, client => server 05:45:57.880190 'PWD\r\n' 05:45:57.883667 Received DATA (on stdin) 05:45:57.883700 > 30 bytes data, server => client 05:45:57.883712 '257 "/" is current directory\r\n' 05:45:57.886893 < 6 bytes data, client => server 05:45:57.886910 'EPSV\r\n' 05:45:57.894158 Received DATA (on stdin) 05:45:57.894176 > 39 bytes data, server => client 05:45:57.894188 '229 Entering Passive Mode (|||43179|)\r\n' 05:45:57.894476 < 8 bytes data, client => server 05:45:57.894491 'TYPE I\r\n' 05:45:57.894654 Received DATA (on stdin) 05:45:57.894667 > 33 bytes data, server => client 05:45:57.894679 '200 I modify TYPE as you wanted\r\n' 05:45:57.894739 < 21 bytes data, client => server 05:45:57.894756 'SIZE verifiedserver\r\n' 05:45:57.894895 Received DATA (on stdin) 05:45:57.894908 > 8 bytes data, server => client 05:45:57.894919 '213 17\r\n' 05:45:57.894976 < 21 bytes data, client => server 05:45:57.894993 'RETR verifiedserver\r\n' 05:45:57.895800 Received DATA (on stdin) 05:45:57.895815 > 29 bytes data, server => client 05:45:57.895826 '150 Binary junk (17 bytes).\r\n' 05:45:57.895850 Received DATA (on stdin) 05:45:57.895862 > 28 bytes data, server => client 05:45:57.895872 '226 File transfer complete\r\n' 05:45:57.943688 < 6 bytes data, client => server 05:45:57.943723 'QUIT\r\n' 05:45:57.943967 Received DATA (on stdin) 05:45:57.943980 > 18 bytes data, server => client 05:45:57.943990 '221 bye bye baby\r\n' 05:45:57.970340 ====> Client disconnect 05:45:57.97CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind214 ../src/curl -q --output log/14/curl214.out --include --trace-ascii log/14/trace214 --trace-time "http://127.0.0.1:35549/\{\}\/214" > log/14/stdout214 2> log/14/stderr214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind217 ../src/curl -q --include --trace-ascii log/20/trace217 --trace-time http://test.remote.example.com.217:38929/path/2170002 --proxy http://127.0.0.1:38929 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/20/stdout217 2> log/20/stderr217 0661 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:58.891542 Running IPv4 version 05:45:58.891639 Listening on port 43179 05:45:58.891707 Wrote pid 88133 to log/22/server/ftp_sockdata.pid 05:45:58.893827 Received PING (on stdin) 05:45:58.893954 Received PORT (on stdin) 05:45:58.894358 ====> Client connect 05:45:58.895257 Received DATA (on stdin) 05:45:58.895271 > 17 bytes data, server => client 05:45:58.895281 'WE ROOLZ: 81140\r\n' 05:45:58.895310 Received DISC (on stdin) 05:45:58.895326 ====> Client forcibly disconnected 05:45:58.895426 Received QUIT (on stdin) 05:45:58.895440 quits 05:45:58.895528 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==88181== ==88181== Process terminating with default action of signal 4 (SIGILL) ==88181== Illegal opcode at address 0x4014883 ==88181== at 0x4014883: getparameter (tool_getparam.c:2899) ==88181== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88181== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88181== by 0x4004208: main (tool_main.c:189) === End of file valgrind210 setenv MSYS2_ARG_CONV_EXCL = http:// test 0214...[HTTP URL with escaped { and }] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind214 ../src/curl -q --output log/14/curl214.out --include --trace-ascii log/14/trace214 --trace-time "http://127.0.0.1:35549/\{\}\/214" > log/14/stdout214 2> log/14/stderr214 214: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind214 ../src/curl -q --output log/14/curl214.out --include --trace-ascii log/14/trace214 --trace-time "http://127.0.0.1:35549/\{\}\/214" > log/14/stdout214 2> log/14/stderr214 === End of file commands.log === Start of file http_server.log 05:45:59.400404 ====> Client connect 05:45:59.400446 accept_connection 3 returned 4 05:45:59.400464 accept_connection 3 returned 0 05:45:59.400482 Read 93 bytes 05:45:59.400492 Process 93 bytes request 05:45:59.400504 Got request: GET /verifiedserver HTTP/1.1 05:45:59.400513 Are-we-friendly question received 05:45:59.400540 Wrote request (93 bytes) input to log/14/server.input 05:45:59.400557 Identifying ourselves as friends 05:45:59.400642 Response sent (56 bytes) and written to log/14/server.response 05:45:59.400653 special request received, no persistency 05:45:59.400662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 42204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind214 ==88503== ==88503== Process terminating with default action of signal 4 (SIGILL) ==88503== Illegal opcode at address 0x4014883 ==88503== at 0x4014883: getparameter (tool_getparam.c:2899) ==88503== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88503== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88503== by 0x4004208: main (tool_main.c:189) === End of file valgrind214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind212 ../src/curl -q --output log/6/curl212.out --include --trace-ascii log/6/trace212 --trace-time ftp://127.0.0.1:36813/a/path/212 ftp://127.0.0.1:36813/a/path/212 -P - > log/6/stdout212 2> log/6/stderr212 test 0217...[HTTP proxy CONNECT to proxy returning 405] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind217 ../src/curl -q --include --trace-ascii log/20/trace217 --trace-time http://test.remote.example.com.217:38929/path/2170002 --proxy http://127.0.0.1:38929 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/20/stdout217 2> log/20/stderr217 217: stdout FAILED: --- log/20/check-expected 2026-03-14 05:46:01.321282718 +0000 +++ log/20/check-generated 2026-03-14 05:46:01.321282718 +0000 @@ -1,3 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] -000 405[LF] == Contents of files in the log/20/ directory after test 217 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] 000 405[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind217 ../src/curl -q --include --trace-ascii log/20/trace217 --trace-time http://test.remote.example.com.217:38929/path/2170002 --proxy http://127.0.0.1:38929 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/20/stdout217 2> log/20/stderr217 === End of file commands.log === Start of file http_server.log 05:45:58.506102 ====> Client connect 05:45:58.506138 accept_connection 3 returned 4 05:45:58.506156 accept_connection 3 returned 0 05:45:58.506170 Read 93 bytes 05:45:58.506180 Process 93 bytes request 05:45:58.506194 Got request: GET /verifiedserver HTTP/1.1 05:45:58.506203 Are-we-friendly question received 05:45:58.506228 Wrote request (93 bytes) input to log/20/server.input 05:45:58.506244 Identifying ourselves as friends 05:45:58.506305 Response sent (56 bytes) and written to log/20/server.response 05:45:58.506316 special request received, no persistency 05:45:58.506326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 36648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 217 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind217 ==88559== ==88559== Process terminating with default action of signal 4 (SIGILL) ==88559== Illegal opcode at address 0x4014883 ==88559== at 0x4014883: getparameter (tool_getparam.c:2899) ==88559== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88559== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88559== by 0x4004208: main (tool_main.c:189) === End of file valgrind217 test 0212...[Get two FTP files with no remote EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind212 ../src/curl -q --output log/6/curl212.out --include --trace-ascii log/6/trace212 --trace-time ftp://127.0.0.1:36813/a/path/212 ftp://127.0.0.1:36813/a/path/212 -P - > log/6/stdout212 2> log/6/stderr212 212: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind212 ../src/curl -q --output log/6/curl212.out --include --trace-ascii log/6/trace212 --trace-time ftp://127.0.0.1:36813/a/path/212 ftp://127.0.0.1:36813/a/path/212 -P - > log/6/stdout212 2> log/6/stderr212 === End of file commands.log === Start of file ftp_server.log 05:45:58.635580 ====> Client connect 05:45:58.635806 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:58.636191 < "USER anonymous" 05:45:58.636234 > "331 We are happy you popped in![CR][LF]" 05:45:58.636438 < "PASS ftp@example.com" 05:45:58.636472 > "230 Welcome you silly person[CR][LF]" 05:45:58.636659 < "PWD" 05:45:58.636698 > "257 "/" is current directory[CR][LF]" 05:45:58.636901 < "EPSV" 05:45:58.636930 ====> Passive DATA channel requested by client 05:45:58.636950 DATA sockfilt for passive data channel starting... 05:45:58.640352 DATA sockfilt for passive data channel started (pid 88259) 05:45:58.640480 DATA sockfilt for passive data channel listens on port 36983 05:45:58.640538 > "229 Entering Passive Mode (|||36983|)[CR][LF]" 05:45:58.640566 Client has been notified that DATA conn will be accepted on port 36983 05:45:58.640846 Client connects to port 36983 05:45:58.640879 ====> Client established passive DATA connection on port 36983 05:45:58.640966 < "TYPE I" 05:45:58.641000 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:58.641184 < "SIZE verifiedserver" 05:45:58.641226 > "213 17[CR][LF]" 05:45:58.641399 < "RETR verifiedserver" 05:45:58.641437 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:58.641525 =====> Closing passive DATA connection... 05:45:58.641546 Server disconnects passive DATA connection 05:45:58.641784 Server disconnected passive DATA connection 05:45:58.641813 DATA sockfilt for passive data channel quits (pid 88259) 05:45:58.645721 DATA sockfilt for passive data channel quit (pid 88259) 05:45:58.645764 =====> Closed passive DATA connection 05:45:58.645798 > "226 File transfer complete[CR][LF]" 05:45:58.685757 < "QUIT" 05:45:58.685816 > "221 bye bye baby[CR][LF]" 05:45:58.687010 MAIN sockfilt said DISC 05:45:58.687052 ====> Client disconnected 05:45:58.687138 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:58.083684 ====> Client connect 05:45:58.097300 Received DATA (on stdin) 05:45:58.097326 > 146 bytes data, server => client 05:45:58.097339 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:58.097349 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:58.097359 '220 \___|\___/|_| \_\_____|\r\n' 05:45:58.097490 < 16 bytes data, client => server 05:45:58.097508 'USER anonymous\r\n' 05:45:58.097710 Received DATA (on stdin) 05:45:58.097724 > 33 bytes data, server => client 05:45:58.097737 '331 We are happy you popped in!\r\n' 05:45:58.097799 < 22 bytes data, client => server 05:45:58.097815 'PASS ftp@example.com\r\n' 05:45:58.097942 Received DATA (on stdin) 05:45:58.097956 > 30 bytes data, server => client 05:45:58.097967 '230 Welcome you silly person\r\n' 05:45:58.098023 < 5 bytes data, client => server 05:45:58.098039 'PWD\r\n' 05:45:58.098170 Received DATA (on stdin) 05:45:58.098185 > 30 bytes data, server => client 05:45:58.098197 '257 "/" is current directory\r\n' 05:45:58.098266 < 6 bytes data, client => server 05:45:58.098283 'EPSV\r\n' 05:45:58.102044 Received DATA (on stdin) 05:45:58.102059 > 39 bytes data, server => client 05:45:58.102070 '229 Entering Passive Mode (|||36983|)\r\n' 05:45:58.102222 < 8 bytes data, client => server 05:45:58.102239 'TYPE I\r\n' 05:45:58.102469 Received DATA (on stdin) 05:45:58.102482 > 33 bytes data, server => client 05:45:58.102494 '200 I modify TYPE as you wanted\r\n' 05:45:58.102552 < 21 bytes data, client => server 05:45:58.102567 'SIZE verifiedserver\r\n' 05:45:58.102695 Received DATA (on stdin) 05:45:58.102708 > 8 bytes data, server => client 05:45:58.102718 '213 17\r\n' 05:45:58.102773 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind224 ../src/curl -q --output log/19/curl224.out --include --trace-ascii log/19/trace224 --trace-time http://127.0.0.1:35701/224 --compressed > log/19/stdout224 2> log/19/stderr224 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind215 ../src/curl -q --output log/9/curl215.out --include --trace-ascii log/9/trace215 --trace-time ftp://127.0.0.1:39835/a/path/215/ ftp://127.0.0.1:39835/a/path/215/ > log/9/stdout215 2> log/9/stderr215 < 21 bytes data, client => server 05:45:58.102784 'RETR verifiedserver\r\n' 05:45:58.103014 Received DATA (on stdin) 05:45:58.103027 > 29 bytes data, server => client 05:45:58.103037 '150 Binary junk (17 bytes).\r\n' 05:45:58.107273 Received DATA (on stdin) 05:45:58.107288 > 28 bytes data, server => client 05:45:58.107299 '226 File transfer complete\r\n' 05:45:58.147019 < 6 bytes data, client => server 05:45:58.147058 'QUIT\r\n' 05:45:58.147287 Received DATA (on stdin) 05:45:58.147299 > 18 bytes data, server => client 05:45:58.147310 '221 bye bye baby\r\n' 05:45:58.148414 ====> Client disconnect 05:45:58.148602 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:58.101474 Running IPv4 version 05:45:58.101551 Listening on port 36983 05:45:58.101589 Wrote pid 88259 to log/6/server/ftp_sockdata.pid 05:45:58.101751 Received PING (on stdin) 05:45:58.101848 Received PORT (on stdin) 05:45:58.102261 ====> Client connect 05:45:58.103094 Received DATA (on stdin) 05:45:58.103109 > 17 bytes data, server => client 05:45:58.103120 'WE ROOLZ: 81206\r\n' 05:45:58.103199 Received DISC (on stdin) 05:45:58.103282 ====> Client forcibly disconnected 05:45:58.103316 Received QUIT (on stdin) 05:45:58.103328 quits 05:45:58.103389 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 no such command Testnum 212 === End of file server.cmd === Start of file valgrind212 ==88302== ==88302== Process terminating with default action of signal 4 (SIGILL) ==88302== Illegal opcode at address 0x4014883 ==88302== at 0x4014883: getparameter (tool_getparam.c:2899) ==88302== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88302== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88302== by 0x4004208: main (tool_main.c:189) === End of file valgrind212 test 0224...[HTTP GET gzip compressed content with huge comment and extra field] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind224 ../src/curl -q --output log/19/curl224.out --include --trace-ascii log/19/trace224 --trace-time http://127.0.0.1:35701/224 --compressed > log/19/stdout224 2> log/19/stderr224 224: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind224 ../src/curl -q --output log/19/curl224.out --include --trace-ascii log/19/trace224 --trace-time http://127.0.0.1:35701/224 --compressed > log/19/stdout224 2> log/19/stderr224 === End of file commands.log === Start of file http_server.log 05:45:59.340413 ====> Client connect 05:45:59.340460 accept_connection 3 returned 4 05:45:59.340482 accept_connection 3 returned 0 05:45:59.340501 Read 93 bytes 05:45:59.340511 Process 93 bytes request 05:45:59.340525 Got request: GET /verifiedserver HTTP/1.1 05:45:59.340535 Are-we-friendly question received 05:45:59.340563 Wrote request (93 bytes) input to log/19/server.input 05:45:59.340581 Identifying ourselves as friends 05:45:59.340666 Response sent (56 bytes) and written to log/19/server.response 05:45:59.340678 special request received, no persistency 05:45:59.340687 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 224 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind224 ==89186== ==89186== Process terminating with default action of signal 4 (SIGILL) ==89186== Illegal opcode at address 0x4014883 ==89186== at 0x4014883: getparameter (tool_getparam.c:2899) ==89186== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89186== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89186== by 0x4004208: main (tool_main.c:189) === End of file valgrind224 test 0215...[Get two FTP dir listings from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind215 ../src/curl -q --output log/9/curl215.out --include --trace-ascii log/9/trace215 --trace-time ftp://127.0.0.1:39835/a/path/215/ ftp://127.0.0.1:39835/a/path/215/ > log/9/stdout215 2> log/9/stderr215 215: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind215 ../src/curl -q --output log/9/curl215.out --include --trace-ascii log/9/trace215 --trace-time ftp://127.0.0.1:39835/a/path/215/ ftp://127.0.0.1:39835/a/path/215/ > log/9/stdout215 2> log/9/stderr215 === End of file commands.log === Start of file ftp_server.log 05:45:59.029021 ====> Client connect 05:45:59.029212 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:59.035720 < "USER anonymous" 05:45:59.035786 > "331 We are happy you popped in![CR][LF]" 05:45:59.038995 < "PASS ftp@example.com" 05:45:59.039043 > "230 Welcome you silly person[CR][LF]" 05:45:59.039212 < "PWD" 05:45:59.039250 > "257 "/" is current directory[CR][LF]" 05:45:59.039433 < "EPSV" 05:45:59.039460 ====> Passive DATA channel requested by client 05:45:59.039475 DATA sockfilt for passive data channel starting... 05:45:59.041327 DATA sockfilt for passive data channel started (pid 88549) 05:45:59.041440 DATA sockfilt for passive data channel listens on port 45503 05:45:59.041490 > "229 Entering Passive Mode (|||45503|)[CR][LF]" 05:45:59.041511 Client has been notified that DATA conn will be accepted on port 45503 05:45:59.041740 Client connects to port 45503 05:45:59.041772 ====> Client established passive DATA connection on port 45503 05:45:59.041848 < "TYPE I" 05:45:59.041878 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:59.042049 < "SIZE verifiedserver" 05:45:59.042090 > "213 17[CR][LF]" 05:45:59.042267 < "RETR verifiedserver" 05:45:59.042301 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:59.042390 =====> Closing passive DATA connection... 05:45:59.042409 Server disconnects passive DATA connection 05:45:59.042665 Server disconnected passive DATA connection 05:45:59.042698 DATA sockfilt for passive data channel quits (pid 88549) 05:45:59.042942 DATA sockfilt for passive data channel quit (pid 88549) 05:45:59.042971 =====> Closed passive DATA connection 05:45:59.043000 > "226 File transfer complete[CR][LF]" 05:45:59.089258 < "QUIT" 05:45:59.089335 > "221 bye bye baby[CR][LF]" 05:45:59.090752 MAIN sockfilt said DISC 05:45:59.090801 ====> Client disconnected 05:45:59.090908 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:58.490350 ====> Client connect 05:45:58.490688 Received DATA (on stdin) 05:45:58.490702 > 146 bytes data, server => client 05:45:58.490714 '220- _ CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind219 ../src/curl -q --output log/5/curl219.out --include --trace-ascii log/5/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/5/stdout219 2> log/5/stderr219 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind225 ../src/curl -q --output log/1/curl225.out --include --trace-ascii log/1/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:41623/225%0a > log/1/stdout225 2> log/1/stderr225 _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:58.490724 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:58.490734 '220 \___|\___/|_| \_\_____|\r\n' 05:45:58.490829 < 16 bytes data, client => server 05:45:58.490851 'USER anonymous\r\n' 05:45:58.499816 Received DATA (on stdin) 05:45:58.499838 > 33 bytes data, server => client 05:45:58.499849 '331 We are happy you popped in!\r\n' 05:45:58.499935 < 22 bytes data, client => server 05:45:58.499950 'PASS ftp@example.com\r\n' 05:45:58.500499 Received DATA (on stdin) 05:45:58.500514 > 30 bytes data, server => client 05:45:58.500524 '230 Welcome you silly person\r\n' 05:45:58.500582 < 5 bytes data, client => server 05:45:58.500595 'PWD\r\n' 05:45:58.500719 Received DATA (on stdin) 05:45:58.500732 > 30 bytes data, server => client 05:45:58.500742 '257 "/" is current directory\r\n' 05:45:58.500806 < 6 bytes data, client => server 05:45:58.500819 'EPSV\r\n' 05:45:58.502981 Received DATA (on stdin) 05:45:58.502994 > 39 bytes data, server => client 05:45:58.503005 '229 Entering Passive Mode (|||45503|)\r\n' 05:45:58.503119 < 8 bytes data, client => server 05:45:58.503135 'TYPE I\r\n' 05:45:58.503344 Received DATA (on stdin) 05:45:58.503356 > 33 bytes data, server => client 05:45:58.503367 '200 I modify TYPE as you wanted\r\n' 05:45:58.503421 < 21 bytes data, client => server 05:45:58.503434 'SIZE verifiedserver\r\n' 05:45:58.503558 Received DATA (on stdin) 05:45:58.503570 > 8 bytes data, server => client 05:45:58.503580 '213 17\r\n' 05:45:58.503632 < 21 bytes data, client => server 05:45:58.503644 'RETR verifiedserver\r\n' 05:45:58.503877 Received DATA (on stdin) 05:45:58.503889 > 29 bytes data, server => client 05:45:58.503900 '150 Binary junk (17 bytes).\r\n' 05:45:58.504467 Received DATA (on stdin) 05:45:58.504481 > 28 bytes data, server => client 05:45:58.504492 '226 File transfer complete\r\n' 05:45:58.550474 < 6 bytes data, client => server 05:45:58.550522 'QUIT\r\n' 05:45:58.550817 Received DATA (on stdin) 05:45:58.550833 > 18 bytes data, server => client 05:45:58.550845 '221 bye bye baby\r\n' 05:45:58.552152 ====> Client disconnect 05:45:58.552387 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:59.502489 Running IPv4 version 05:45:59.502550 Listening on port 45503 05:45:59.502587 Wrote pid 88549 to log/9/server/ftp_sockdata.pid 05:45:59.502732 Received PING (on stdin) 05:45:59.502818 Received PORT (on stdin) 05:45:59.503156 ====> Client connect 05:45:59.503960 Received DATA (on stdin) 05:45:59.503975 > 17 bytes data, server => client 05:45:59.503986 'WE ROOLZ: 81042\r\n' 05:45:59.504012 Received DISC (on stdin) 05:45:59.504024 ====> Client forcibly disconnected 05:45:59.504172 Received QUIT (on stdin) 05:45:59.504183 quits 05:45:59.504241 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==88581== ==88581== Process terminating with default action of signal 4 (SIGILL) ==88581== Illegal opcode at address 0x4014883 ==88581== at 0x4014883: getparameter (tool_getparam.c:2899) ==88581== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88581== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88581== by 0x4004208: main (tool_main.c:189) === End of file valgrind215 test 0219...[try using proxy with unsupported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind219 ../src/curl -q --output log/5/curl219.out --include --trace-ascii log/5/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/5/stdout219 2> log/5/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/5/ directory after test 219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind219 ../src/curl -q --output log/5/curl219.out --include --trace-ascii log/5/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/5/stdout219 2> log/5/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==88767== ==88767== Process terminating with default action of signal 4 (SIGILL) ==88767== Illegal opcode at address 0x4014883 ==88767== at 0x4014883: getparameter (tool_getparam.c:2899) ==88767== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88767== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88767== by 0x4004208: main (tool_main.c:189) === End of file valgrind219 test 0225...[FTP %0a-code in URL's name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind225 ../src/curl -q --output log/1/curl225.out --include --trace-ascii log/1/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:41623/225%0a > log/1/stdout225 2> log/1/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/1/ directory after test 225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind225 ../src/curl -q --output log/1/curl225.out --include --trace-ascii log/1/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:41623/225%0a > log/1/stdout225 2> log/1/stderr225 === End of file commands.log === Start of file ftp_server.log 05:45:59.885334 ====> Client connect 05:45:59.885497 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:59.885847 < "USER anonymous" 05:45:59.885883 > "331 We are happy you popped in![CR][LF]" 05:45:59.888970 < "PASS ftp@example.com" 05:45:59.889007 > "230 Welcome you silly person[CR][LF]" 05:45:59.889167 < "PWD" 05:45:59.889197 > "257 "/" is current directory[CR][LF]" 05:45:59.889689 < "EPSV" 05:45:59.889716 ====> Passive DATA channel requested by client 05:45:59.889730 DATA sockfilt for passive data channel starting... 05:45:59.902498 DATA sockfilt for passive data channel started (pid 89130) 05:45:59.902713 DATA sockfilt for passive data channel listens on port 42267 05:45:59.902779 > "229 Entering Passive Mode (|||42267|)[CR][LF]" 05:45:59.902803 Client has been notified that DATA conn will be accepted on port 42267 05:45:59.903792 Client connects to port 42267 05:45:59.903842 ====> Client established passive DATA connection on port 42267 05:45:59.903962 < "TYPE I" 05:45:59.904006 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:59.904214 < "SIZE verifiedserver" 05:45:59.904266 > "213 17[CR][LF]" 05:45:59.906275 < "RETR verifiedserver" 05:45:59.906317 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:59.906413 =====> Closing passive DATA connection... 05:45:59.906428 Server disconnects passive DATA connection 05:45:59.906588 Server disconnected passive DATA connection 05:45:59.906610 DATA sockfilt for passive data channel quits (pid 89130) 05:45:59.912500 DATA sockfilt for passive data channel quit (pid 89130) 05:45:59.912542 =====> Closed passive DATA connection 05:45:59.912579 > "226 File transfer complete[CR][LF]" 05:45:59.952551 < "QUIT" 05:45:59.952605 > "221 bye bye baby[CR][LF]" 05:45:59.953740 MAIN sockfilt said DISC 05:45:59.953773 ====> Client disconnected 05:45:59.953844 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:59.346669 ====> Client connect 05:45:59.346979 Received DATA (on stdin) 05:45:59.347016 > 146 bytes data, server => client 05:45:59.347028 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind216 ../src/curl -q --output log/24/curl216.out --include --trace-ascii log/24/trace216 --trace-time -T log/24/upload.216 ftp://127.0.0.1:38499/a/path/216/ -T log/24/upload.216 ftp://127.0.0.1:38499/a/path/216/%2e%2eanotherup.216 > log/24/stdout216 2> log/24/stderr216 :59.347040 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:59.347048 '220 \___|\___/|_| \_\_____|\r\n' 05:45:59.347169 < 16 bytes data, client => server 05:45:59.347182 'USER anonymous\r\n' 05:45:59.347351 Received DATA (on stdin) 05:45:59.347362 > 33 bytes data, server => client 05:45:59.347372 '331 We are happy you popped in!\r\n' 05:45:59.347420 < 22 bytes data, client => server 05:45:59.347431 'PASS ftp@example.com\r\n' 05:45:59.350473 Received DATA (on stdin) 05:45:59.350486 > 30 bytes data, server => client 05:45:59.350496 '230 Welcome you silly person\r\n' 05:45:59.350552 < 5 bytes data, client => server 05:45:59.350562 'PWD\r\n' 05:45:59.350661 Received DATA (on stdin) 05:45:59.350671 > 30 bytes data, server => client 05:45:59.350681 '257 "/" is current directory\r\n' 05:45:59.351057 < 6 bytes data, client => server 05:45:59.351073 'EPSV\r\n' 05:45:59.364282 Received DATA (on stdin) 05:45:59.364301 > 39 bytes data, server => client 05:45:59.364313 '229 Entering Passive Mode (|||42267|)\r\n' 05:45:59.364539 < 8 bytes data, client => server 05:45:59.364558 'TYPE I\r\n' 05:45:59.365478 Received DATA (on stdin) 05:45:59.365493 > 33 bytes data, server => client 05:45:59.365504 '200 I modify TYPE as you wanted\r\n' 05:45:59.365573 < 21 bytes data, client => server 05:45:59.365587 'SIZE verifiedserver\r\n' 05:45:59.365738 Received DATA (on stdin) 05:45:59.365751 > 8 bytes data, server => client 05:45:59.365761 '213 17\r\n' 05:45:59.365817 < 21 bytes data, client => server 05:45:59.365832 'RETR verifiedserver\r\n' 05:45:59.367893 Received DATA (on stdin) 05:45:59.367905 > 29 bytes data, server => client 05:45:59.367915 '150 Binary junk (17 bytes).\r\n' 05:45:59.374056 Received DATA (on stdin) 05:45:59.374073 > 28 bytes data, server => client 05:45:59.374084 '226 File transfer complete\r\n' 05:45:59.413818 < 6 bytes data, client => server 05:45:59.413850 'QUIT\r\n' 05:45:59.414073 Received DATA (on stdin) 05:45:59.414085 > 18 bytes data, server => client 05:45:59.414095 '221 bye bye baby\r\n' 05:45:59.415151 ====> Client disconnect 05:45:59.415308 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:59.352747 Running IPv4 version 05:45:59.352806 Listening on port 42267 05:45:59.352845 Wrote pid 89130 to log/1/server/ftp_sockdata.pid 05:45:59.360340 Received PING (on stdin) 05:45:59.364056 Received PORT (on stdin) 05:45:59.364587 ====> Client connect 05:45:59.367945 Received DATA (on stdin) 05:45:59.367960 > 17 bytes data, server => client 05:45:59.367969 'WE ROOLZ: 81663\r\n' 05:45:59.367993 Received DISC (on stdin) 05:45:59.368003 ====> Client forcibly disconnected 05:45:59.373668 Received QUIT (on stdin) 05:45:59.373695 quits 05:45:59.373767 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==89214== ==89214== Process terminating with default action of signal 4 (SIGILL) ==89214== Illegal opcode at address 0x4014883 ==89214== at 0x4014883: getparameter (tool_getparam.c:2899) ==89214== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89214== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89214== by 0x4004208: main (tool_main.c:189) === End of file valgrind225 test 0216...[FTP upload two files to the same dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind216 ../src/curl -q --output log/24/curl216.out --include --trace-ascii log/24/trace216 --trace-time -T log/24/upload.216 ftp://127.0.0.1:38499/a/path/216/ -T log/24/upload.216 ftp://127.0.0.1:38499/a/path/216/%2e%2eanotherup.216 > log/24/stdout216 2> log/24/stderr216 216: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind216 ../src/curl -q --output log/24/curl216.out --include --trace-ascii log/24/trace216 --trace-time -T log/24/upload.216 ftp://127.0.0.1:38499/a/path/216/ -T log/24/upload.216 ftp://127.0.0.1:38499/a/path/216/%2e%2eanotherup.216 > log/24/stdout216 2> log/24/stderr216 === End of file commands.log === Start of file ftp_server.log 05:45:59.038022 ====> Client connect 05:45:59.038233 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:59.038717 < "USER anonymous" 05:45:59.038757 > "331 We are happy you popped in![CR][LF]" 05:45:59.038954 < "PASS ftp@example.com" 05:45:59.038984 > "230 Welcome you silly person[CR][LF]" 05:45:59.043186 < "PWD" 05:45:59.043229 > "257 "/" is current directory[CR][LF]" 05:45:59.043406 < "EPSV" 05:45:59.043434 ====> Passive DATA channel requested by client 05:45:59.043450 DATA sockfilt for passive data channel starting... 05:45:59.055581 DATA sockfilt for passive data channel started (pid 88551) 05:45:59.058143 DATA sockfilt for passive data channel listens on port 33255 05:45:59.058223 > "229 Entering Passive Mode (|||33255|)[CR][LF]" 05:45:59.058253 Client has been notified that DATA conn will be accepted on port 33255 05:45:59.062291 Client connects to port 33255 05:45:59.062349 ====> Client established passive DATA connection on port 33255 05:45:59.062470 < "TYPE I" 05:45:59.062512 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:59.066520 < "SIZE verifiedserver" 05:45:59.066595 > "213 17[CR][LF]" 05:45:59.069353 < "RETR verifiedserver" 05:45:59.069430 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:59.069569 =====> Closing passive DATA connection... 05:45:59.069597 Server disconnects passive DATA connection 05:45:59.069904 Server disconnected passive DATA connection 05:45:59.069941 DATA sockfilt for passive data channel quits (pid 88551) 05:45:59.070275 DATA sockfilt for passive data channel quit (pid 88551) 05:45:59.070307 =====> Closed passive DATA connection 05:45:59.070342 > "226 File transfer complete[CR][LF]" 05:45:59.122530 < "QUIT" 05:45:59.122602 > "221 bye bye baby[CR][LF]" 05:45:59.132313 MAIN sockfilt said DISC 05:45:59.132394 ====> Client disconnected 05:45:59.132501 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:59.499363 ====> Client connect 05:45:59.499722 Received DATA (on stdin) 05:45:59.499738 > 146 bytes data, server => client 05:45:59.499751 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:59.499763 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:59.499772 '220 \___|\___/|_| \_\_____|\r\n' 05:45:59.500025 < 16 bytes data, client => server 05:45:59.500039 'USER anonymous\r\n' 05:45:59.500227 Received DATA (on stdin) 05:45:59.500239 > 33 bytes data, server => client 05:45:59.500250 '331 We are happy you popped in!\r\n' 05:45:59.500305 < 22 bytes data, client => server 05:45:59.500333 'PASS ftp@example.com\r\n' 05:45:59.500449 Received DATA (on stdin) 05:45:59.500462 > 30 bytes data, server => client 05:45:59.500472 '230 Welcome you silly person\r\n' 05:45:59.504549 < 5 bytes data, client => server 05:45:59.504565 'PWD\r\n' 05:45:59.504697 Received DATA (on stdin) 05:45:59.504709 > 30 bytes data, server => client 05:45:59.504720 '257 "/" is current directory\r\n' 05:45:59.504781 < 6 bytes data, client => server 05:45:59.504793 'EPSV\r\n' 05:45:59.519738 Received DATA (on stdin) 05:45:59.519763 > 39 bytes data, server => client 05:45:59.519776 '229 Entering Passive Mode (|||33255|)\r\n' 05:45:59.520007 < 8 bytes data, client => server 05:45:59.520025 'TYPE I\r\n' 05:45:59.527003 Received DATA (on stdin) 05:45:59.527046 > 33 bytes data, server => client 05:45:59.527058 '200 I modify TYPECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind218 ../src/curl -q --output log/8/curl218.out --include --trace-ascii log/8/trace218 --trace-time -T log/8/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45623/218 > log/8/stdout218 2> log/8/stderr218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind220 ../src/curl -q --output log/13/curl220.out --include --trace-ascii log/13/trace220 --trace-time http://127.0.0.1:45359/220 --compressed > log/13/stdout220 2> log/13/stderr220 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind222 ../src/curl -q --output log/10/curl222.out --include --trace-ascii log/10/trace222 --trace-time http://127.0.0.1:46741/222 --compressed > log/10/stdout222 2> log/10/stderr222 as you wanted\r\n' 05:45:59.527160 < 21 bytes data, client => server 05:45:59.527178 'SIZE verifiedserver\r\n' 05:45:59.530514 Received DATA (on stdin) 05:45:59.530538 > 8 bytes data, server => client 05:45:59.530550 '213 17\r\n' 05:45:59.530633 < 21 bytes data, client => server 05:45:59.530651 'RETR verifiedserver\r\n' 05:45:59.531069 Received DATA (on stdin) 05:45:59.531083 > 29 bytes data, server => client 05:45:59.531095 '150 Binary junk (17 bytes).\r\n' 05:45:59.531816 Received DATA (on stdin) 05:45:59.531831 > 28 bytes data, server => client 05:45:59.531843 '226 File transfer complete\r\n' 05:45:59.583769 < 6 bytes data, client => server 05:45:59.583809 'QUIT\r\n' 05:45:59.584082 Received DATA (on stdin) 05:45:59.584096 > 18 bytes data, server => client 05:45:59.584107 '221 bye bye baby\r\n' 05:45:59.593673 ====> Client disconnect 05:45:59.593984 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:59.510678 Running IPv4 version 05:45:59.510758 Listening on port 33255 05:45:59.510800 Wrote pid 88551 to log/24/server/ftp_sockdata.pid 05:45:59.514189 Received PING (on stdin) 05:45:59.519461 Received PORT (on stdin) 05:45:59.523674 ====> Client connect 05:45:59.531131 Received DATA (on stdin) 05:45:59.531153 > 17 bytes data, server => client 05:45:59.531165 'WE ROOLZ: 81530\r\n' 05:45:59.531196 Received DISC (on stdin) 05:45:59.531213 ====> Client forcibly disconnected 05:45:59.531421 Received QUIT (on stdin) 05:45:59.531435 quits 05:45:59.531514 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 216 === End of file server.cmd === Start of file upload.216 upload this file twice === End of file upload.216 === Start of file valgrind216 ==88613== ==88613== Process terminating with default action of signal 4 (SIGILL) ==88613== Illegal opcode at address 0x4014883 ==88613== at 0x4014883: getparameter (tool_getparam.c:2899) ==88613== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88613== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88613== by 0x4004208: main (tool_main.c:189) === End of file valgrind216 test 0218...[HTTP PUT from a file but enforce chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind218 ../src/curl -q --output log/8/curl218.out --include --trace-ascii log/8/trace218 --trace-time -T log/8/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45623/218 > log/8/stdout218 2> log/8/stderr218 218: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind218 ../src/curl -q --output log/8/curl218.out --include --trace-ascii log/8/trace218 --trace-time -T log/8/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:45623/218 > log/8/stdout218 2> log/8/stderr218 === End of file commands.log === Start of file file218 just some tiny teeny contents === End of file file218 === Start of file http_server.log 05:45:58.849688 ====> Client connect 05:45:58.849719 accept_connection 3 returned 4 05:45:58.849733 accept_connection 3 returned 0 05:45:58.849747 Read 93 bytes 05:45:58.849756 Process 93 bytes request 05:45:58.849769 Got request: GET /verifiedserver HTTP/1.1 05:45:58.849777 Are-we-friendly question received 05:45:58.849799 Wrote request (93 bytes) input to log/8/server.input 05:45:58.849816 Identifying ourselves as friends 05:45:58.849865 Response sent (56 bytes) and written to log/8/server.response 05:45:58.849874 special request received, no persistency 05:45:58.849882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind218 ==88776== ==88776== Process terminating with default action of signal 4 (SIGILL) ==88776== Illegal opcode at address 0x4014883 ==88776== at 0x4014883: getparameter (tool_getparam.c:2899) ==88776== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88776== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88776== by 0x4004208: main (tool_main.c:189) === End of file valgrind218 test 0220...[HTTP GET gzip compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind220 ../src/curl -q --output log/13/curl220.out --include --trace-ascii log/13/trace220 --trace-time http://127.0.0.1:45359/220 --compressed > log/13/stdout220 2> log/13/stderr220 220: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 220 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind220 ../src/curl -q --output log/13/curl220.out --include --trace-ascii log/13/trace220 --trace-time http://127.0.0.1:45359/220 --compressed > log/13/stdout220 2> log/13/stderr220 === End of file commands.log === Start of file http_server.log 05:45:59.963770 ====> Client connect 05:45:59.963820 accept_connection 3 returned 4 05:45:59.963842 accept_connection 3 returned 0 05:45:59.963861 Read 93 bytes 05:45:59.963872 Process 93 bytes request 05:45:59.963888 Got request: GET /verifiedserver HTTP/1.1 05:45:59.963898 Are-we-friendly question received 05:45:59.963925 Wrote request (93 bytes) input to log/13/server.input 05:45:59.963944 Identifying ourselves as friends 05:45:59.964035 Response sent (56 bytes) and written to log/13/server.response 05:45:59.964048 special request received, no persistency 05:45:59.964058 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 50364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 220 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind220 ==88859== ==88859== Process terminating with default action of signal 4 (SIGILL) ==88859== Illegal opcode at address 0x4014883 ==88859== at 0x4014883: getparameter (tool_getparam.c:2899) ==88859== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88859== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88859== by 0x4004208: main (tool_main.c:189) === End of file valgrind220 test 0222...[HTTP GET deflate compressed content] ../CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind223 ../src/curl -q --output log/15/curl223.out --include --trace-ascii log/15/trace223 --trace-time http://127.0.0.1:43413/223 --compressed > log/15/stdout223 2> log/15/stderr223 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind226 ../src/curl -q --output log/23/curl226.out --include --trace-ascii log/23/trace226 --trace-time ftp://127.0.0.1:40271/226%0d > log/23/stdout226 2> log/23/stderr226 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind227 ../src/curl -q --output log/11/curl227.out --include --trace-ascii log/11/trace227 --trace-time ftp://127.0.0.1:37471/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/11/stdout227 2> log/11/stderr227 libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind222 ../src/curl -q --output log/10/curl222.out --include --trace-ascii log/10/trace222 --trace-time http://127.0.0.1:46741/222 --compressed > log/10/stdout222 2> log/10/stderr222 222: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 222 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind222 ../src/curl -q --output log/10/curl222.out --include --trace-ascii log/10/trace222 --trace-time http://127.0.0.1:46741/222 --compressed > log/10/stdout222 2> log/10/stderr222 === End of file commands.log === Start of file http_server.log 05:45:59.220414 ====> Client connect 05:45:59.220469 accept_connection 3 returned 4 05:45:59.220490 accept_connection 3 returned 0 05:45:59.220508 Read 93 bytes 05:45:59.220520 Process 93 bytes request 05:45:59.220534 Got request: GET /verifiedserver HTTP/1.1 05:45:59.220544 Are-we-friendly question received 05:45:59.220572 Wrote request (93 bytes) input to log/10/server.input 05:45:59.220591 Identifying ourselves as friends 05:45:59.220683 Response sent (56 bytes) and written to log/10/server.response 05:45:59.220696 special request received, no persistency 05:45:59.220706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 222 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind222 ==89030== ==89030== Process terminating with default action of signal 4 (SIGILL) ==89030== Illegal opcode at address 0x4014883 ==89030== at 0x4014883: getparameter (tool_getparam.c:2899) ==89030== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89030== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89030== by 0x4004208: main (tool_main.c:189) === End of file valgrind222 test 0223...[HTTP GET deflate compressed content with broken deflate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind223 ../src/curl -q --output log/15/curl223.out --include --trace-ascii log/15/trace223 --trace-time http://127.0.0.1:43413/223 --compressed > log/15/stdout223 2> log/15/stderr223 223: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 223 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind223 ../src/curl -q --output log/15/curl223.out --include --trace-ascii log/15/trace223 --trace-time http://127.0.0.1:43413/223 --compressed > log/15/stdout223 2> log/15/stderr223 === End of file commands.log === Start of file http_server.log 05:46:00.229369 ====> Client connect 05:46:00.229409 accept_connection 3 returned 4 05:46:00.229429 accept_connection 3 returned 0 05:46:00.229445 Read 93 bytes 05:46:00.229456 Process 93 bytes request 05:46:00.229472 Got request: GET /verifiedserver HTTP/1.1 05:46:00.229483 Are-we-friendly question received 05:46:00.229513 Wrote request (93 bytes) input to log/15/server.input 05:46:00.229532 Identifying ourselves as friends 05:46:00.229601 Response sent (56 bytes) and written to log/15/server.response 05:46:00.229614 special request received, no persistency 05:46:00.229623 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind223 ==89018== ==89018== Process terminating with default action of signal 4 (SIGILL) ==89018== Illegal opcode at address 0x4014883 ==89018== at 0x4014883: getparameter (tool_getparam.c:2899) ==89018== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89018== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89018== by 0x4004208: main (tool_main.c:189) === End of file valgrind223 test 0226...[FTP %0d-code in URL's CWD part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind226 ../src/curl -q --output log/23/curl226.out --include --trace-ascii log/23/trace226 --trace-time ftp://127.0.0.1:40271/226%0d > log/23/stdout226 2> log/23/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/23/ directory after test 226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind226 ../src/curl -q --output log/23/curl226.out --include --trace-ascii log/23/trace226 --trace-time ftp://127.0.0.1:40271/226%0d > log/23/stdout226 2> log/23/stderr226 === End of file commands.log === Start of file ftp_server.log 05:45:59.919022 ====> Client connect 05:45:59.919187 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:45:59.919508 < "USER anonymous" 05:45:59.919547 > "331 We are happy you popped in![CR][LF]" 05:45:59.919726 < "PASS ftp@example.com" 05:45:59.919757 > "230 Welcome you silly person[CR][LF]" 05:45:59.919940 < "PWD" 05:45:59.919978 > "257 "/" is current directory[CR][LF]" 05:45:59.920177 < "EPSV" 05:45:59.920207 ====> Passive DATA channel requested by client 05:45:59.920225 DATA sockfilt for passive data channel starting... 05:45:59.932518 DATA sockfilt for passive data channel started (pid 89148) 05:45:59.932691 DATA sockfilt for passive data channel listens on port 35751 05:45:59.932748 > "229 Entering Passive Mode (|||35751|)[CR][LF]" 05:45:59.932770 Client has been notified that DATA conn will be accepted on port 35751 05:45:59.933105 Client connects to port 35751 05:45:59.933136 ====> Client established passive DATA connection on port 35751 05:45:59.933240 < "TYPE I" 05:45:59.933277 > "200 I modify TYPE as you wanted[CR][LF]" 05:45:59.933445 < "SIZE verifiedserver" 05:45:59.933488 > "213 17[CR][LF]" 05:45:59.933649 < "RETR verifiedserver" 05:45:59.933688 > "150 Binary junk (17 bytes).[CR][LF]" 05:45:59.933786 =====> Closing passive DATA connection... 05:45:59.933805 Server disconnects passive DATA connection 05:45:59.934040 Server disconnected passive DATA connection 05:45:59.934071 DATA sockfilt for passive data channel quits (pid 89148) 05:45:59.934377 DATA sockfilt for passive data channel quit (pid 89148) 05:45:59.934405 =====> Closed passive DATA connection 05:45:59.934436 > "226 File transfer complete[CR][LF]" 05:45:59.982553 < "QUIT" 05:45:59.982625 > "221 bye bye baby[CR][LF]" 05:45:59.984251 MAIN sockfilt said DISC 05:45:59.984296 ====> Client disconnected 05:45:59.984391 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:00.380352 ====> Client connect 05:46:00.380667 Received DATA (on stdin) 05:46:00.380682 > 146 bytes data, server => client 05:46:00.380693 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:00.380703 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:00.380713 '220 \___|\___/|_| \_\_____|\r\n' 05:46:00.380812 < 16 bytes data, client => server 05:46:00.380829 'USER anonymous\r\n' 05:46:00.381018 Received DATA (on stdin) 05:46:00.381031 > 33 bytes data, server => client 05:46:00.381042 '331 We are happy you popped in!\r\n' 05:46:00.381097 < 22 bytes data, client => server 05:46:00.381110 'PASS ftp@example.com\r\n' 05:46:00.381225 Received DATA (on stdin) 05:46:00.381238 > 30 bytes data, server => client 05:46:00.381249 '230 Welcome you silly person\r\n' 05:46:00.381305 < 5 bytes data, client => server 05:46:00.381321 'PWD\r\n' 05:46:00.381448 Received DATA (on stdin) 05:46:00.381462 > 30 bytes data, server => client 05:46:00.381472 '257 "/" is current directory\r\n' 05:46:00.381541 < 6 bytes data, client => server 05:46:00.381557 'EPSV\r\n' 05:46:00.394246 Received DATA (on stdin) 05:46:00.394264 > 39 bytes data, server => client 05:46:00.394276 '229 Entering Passive Mode (|||35751|)\r\n' 05:46:00.394485 < 8 bytes data, client => server 05:46:00.394501 'TYPE I\r\n' 05:46:00.394745 Received DATA (on stdin) 05:46:00.394757 > 33 bytes data, server => client 05:46:00.394768 '200 I modify TYPE as you wanted\r\n' 05:46:00.394820 < 21 bytes data, client => server 05:46:00.394833 'SIZE verifiedserver\r\n' 05:46:00.394955 Received DATA (on stdin) 05:46:00.394966 > 8 bytes data, server => client 05:46:00.394976 '213 17\r\n' 05:46:00.395026 < 21 bytes data, client => server 05:46:00.395038 'RETR verifiedserver\r\n' 05:46:00.395272 Received DATA (on stdin) 05:46:00.395284 > 29 bytes data, server => client 05:46:00.395295 '150 Binary junk (17 bytes).\r\n' 05:46:00.395901 Received DATA (on stdin) 05:46:00.395913 > 28 bytes data, server => client 05:46:00.395924 '226 File transfer complete\r\n' 05:46:00.443802 < 6 bytes data, client => server 05:46:00.443836 'QUIT\r\n' 05:46:00.444104 Received DATA (on stdin) 05:46:00.444119 > 18 bytes data, server => client 05:46:00.444130 '221 bye bye baby\r\n' 05:46:00.445371 ====> Client disconnect 05:46:00.445868 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:45:59.384439 Running IPv4 version 05:45:59.384536 Listening on port 35751 05:45:59.384576 Wrote pid 89148 to log/23/server/ftp_sockdata.pid 05:45:59.393879 Received PING (on stdin) 05:45:59.394035 Received PORT (on stdin) 05:45:59.394523 ====> Client connect 05:45:59.395321 Received DATA (on stdin) 05:45:59.395333 > 17 bytes data, server => client 05:45:59.395343 'WE ROOLZ: 81405\r\n' 05:45:59.395368 Received DISC (on stdin) 05:45:59.395379 ====> Client forcibly disconnected 05:45:59.395547 Received QUIT (on stdin) 05:45:59.395559 quits 05:45:59.395636 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==89247== ==89247== Process terminating with default action of signal 4 (SIGILL) ==89247== Illegal opcode at address 0x4014883 ==89247== at 0x4014883: getparameter (tool_getparam.c:2899) ==89247== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89247== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89247== by 0x4004208: main (tool_main.c:189) === End of file valgrind226 test 0227...[FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind227 ../src/curl -q --output log/11/curl227.out --include --trace-ascii log/11/trace227 --trace-time ftp://127.0.0.1:37471/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/11/stdout227 2> log/11/stderr227 227: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind227 ../src/curl -q --output log/11/curl227.out --include --trace-ascii log/11/trace227 --trace-time ftp://127.0.0.1:37471/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/11/stdout227 2> log/11/stderr227 === End of file commands.log === Start of file ftp_server.log 05:46:00.008829 ====> Client connect 05:46:00.009069 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:00.009390 < "USER anonymous" 05:46:00.009432 > "331 We are happy you popped in![CR][LF]" 05:46:00.009629 < "PASS ftp@example.com" 05:46:00.009665 > "230 Welcome you silly person[CR][LF]" 05:46:00.009835 < "PWD" 05:46:00.009870 > "257 "/" is current directory[CR][LF]" 05:46:00.010068 < "EPSV" 05:46:00.010103 ====> Passive DATA channel requested by client 05:46:00.010121 DATA sockfilt for passive data channel starting... 05:46:00.029312 DATA sockfilt for passive data channel started (pid 89239) 05:46:00.029510 DATA sockfilt for passive data channel listens on port 36297 05:46:00.029579 > "229 Entering Passive Mode (|||36297|)[CR][LF]" 05:46:00.029602 Client has been notified that DATA conn will be accepted on port 36297 05:46:00.030037 Client connects to port 36297 05:46:00.030070 ====> Client established passive DATA connection on port 36297 05:46:00.030187 < "TYPE I" 05:46:00.030231 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:00.030421 < "SIZE verifiedserver" 05:46:00.030474 > "213 17[CR][LF]" 05:46:00.030655 < "RETR verifiedserver" 05:46:00.030694 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:00.030811 =====> Closing passive DATA connection... 05:46:00.030834 Server disconnects passive DATA connection 05:46:00.035572 Server disconnected passive DATA connection 05:46:00.035636 DATA sockfilt for passive data channel quits (pid 89239) 05:46:00.035934 DATA sockfilt for passive data channel quit (pid 89239) 05:46:00.035965 =====> Closed passive DATA connection 05:46:00.036010 > "226 File transfer complete[CR][LF]" 05:46:00.079443 < "QUIT" 05:46:00.079511 > "221 bye bye baby[CR][LF]" 05:46:00.081859 MAIN sockfilt said DISC 05:46:00.081900 ====> Client disconnected 05:46:00.081991 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:00.470163 ====> Client connect 05:46:00.470550 Received DATA (on stdin) 05:46:00.470565 > 146 bytes data, server => client 05:46:00.470578 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:00.470589 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:00.470598 '220 \___|\___/|_| \_\_____|\r\n' 05:46:00.470676 < 16 bytes data, client => server 05:46:00.470687 'USER anonymous\r\n' 05:46:00.470905 Received DATA (on stdin) 05:46:00.470919 > 33 bytes data, server => client 05:46:00.470931 '331 We are happy you popped in!\r\n' 05:46:00.470990 < 22 bytes data, client => server 05:46:00.471003 'PASS ftp@example.com\r\n' 05:46:00.471134 Received DATA (on stdin) 05:46:00.471146 > 30 bytes data, server => client 05:46:00CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind228 ../src/curl -q --output log/12/curl228.out --include --trace-ascii log/12/trace228 --trace-time ftp://127.0.0.1:33915/228 --ftp-account "one count" > log/12/stdout228 2> log/12/stderr228 .471157 '230 Welcome you silly person\r\n' 05:46:00.471212 < 5 bytes data, client => server 05:46:00.471224 'PWD\r\n' 05:46:00.471342 Received DATA (on stdin) 05:46:00.471355 > 30 bytes data, server => client 05:46:00.471368 '257 "/" is current directory\r\n' 05:46:00.471435 < 6 bytes data, client => server 05:46:00.471449 'EPSV\r\n' 05:46:00.491086 Received DATA (on stdin) 05:46:00.491114 > 39 bytes data, server => client 05:46:00.491128 '229 Entering Passive Mode (|||36297|)\r\n' 05:46:00.491410 < 8 bytes data, client => server 05:46:00.491427 'TYPE I\r\n' 05:46:00.491705 Received DATA (on stdin) 05:46:00.491719 > 33 bytes data, server => client 05:46:00.491731 '200 I modify TYPE as you wanted\r\n' 05:46:00.491788 < 21 bytes data, client => server 05:46:00.491801 'SIZE verifiedserver\r\n' 05:46:00.491945 Received DATA (on stdin) 05:46:00.491958 > 8 bytes data, server => client 05:46:00.491969 '213 17\r\n' 05:46:00.492023 < 21 bytes data, client => server 05:46:00.492037 'RETR verifiedserver\r\n' 05:46:00.492401 Received DATA (on stdin) 05:46:00.492414 > 29 bytes data, server => client 05:46:00.492425 '150 Binary junk (17 bytes).\r\n' 05:46:00.497490 Received DATA (on stdin) 05:46:00.497507 > 28 bytes data, server => client 05:46:00.497518 '226 File transfer complete\r\n' 05:46:00.537180 < 6 bytes data, client => server 05:46:00.537218 'QUIT\r\n' 05:46:00.540992 Received DATA (on stdin) 05:46:00.541012 > 18 bytes data, server => client 05:46:00.541023 '221 bye bye baby\r\n' 05:46:00.542576 ====> Client disconnect 05:46:00.543455 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:00.489398 Running IPv4 version 05:46:00.489491 Listening on port 36297 05:46:00.489530 Wrote pid 89239 to log/11/server/ftp_sockdata.pid 05:46:00.490681 Received PING (on stdin) 05:46:00.490843 Received PORT (on stdin) 05:46:00.491452 ====> Client connect 05:46:00.492304 Received DATA (on stdin) 05:46:00.492318 > 17 bytes data, server => client 05:46:00.492329 'WE ROOLZ: 81984\r\n' 05:46:00.492360 Received DISC (on stdin) 05:46:00.492374 ====> Client forcibly disconnected 05:46:00.497127 Received QUIT (on stdin) 05:46:00.497144 quits 05:46:00.497226 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 227 === End of file server.cmd === Start of file valgrind227 ==89325== ==89325== Process terminating with default action of signal 4 (SIGILL) ==89325== Illegal opcode at address 0x4014883 ==89325== at 0x4014883: getparameter (tool_getparam.c:2899) ==89325== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89325== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89325== by 0x4004208: main (tool_main.c:189) === End of file valgrind227 test 0228...[FTP RETR with ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind228 ../src/curl -q --output log/12/curl228.out --include --trace-ascii log/12/trace228 --trace-time ftp://127.0.0.1:33915/228 --ftp-account "one count" > log/12/stdout228 2> log/12/stderr228 228: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind228 ../src/curl -q --output log/12/curl228.out --include --trace-ascii log/12/trace228 --trace-time ftp://127.0.0.1:33915/228 --ftp-account "one count" > log/12/stdout228 2> log/12/stderr228 === End of file commands.log === Start of file ftp_server.log 05:46:00.102235 ====> Client connect 05:46:00.102450 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:00.112381 < "USER anonymous" 05:46:00.112451 > "331 We are happy you popped in![CR][LF]" 05:46:00.116637 < "PASS ftp@example.com" 05:46:00.116691 > "230 Welcome you silly person[CR][LF]" 05:46:00.117332 < "PWD" 05:46:00.117372 > "257 "/" is current directory[CR][LF]" 05:46:00.117544 < "EPSV" 05:46:00.117576 ====> Passive DATA channel requested by client 05:46:00.117591 DATA sockfilt for passive data channel starting... 05:46:00.126717 DATA sockfilt for passive data channel started (pid 89340) 05:46:00.126884 DATA sockfilt for passive data channel listens on port 42317 05:46:00.126950 > "229 Entering Passive Mode (|||42317|)[CR][LF]" 05:46:00.126976 Client has been notified that DATA conn will be accepted on port 42317 05:46:00.127322 Client connects to port 42317 05:46:00.127355 ====> Client established passive DATA connection on port 42317 05:46:00.127461 < "TYPE I" 05:46:00.127500 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:00.127686 < "SIZE verifiedserver" 05:46:00.127729 > "213 17[CR][LF]" 05:46:00.127887 < "RETR verifiedserver" 05:46:00.127921 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:00.128008 =====> Closing passive DATA connection... 05:46:00.128027 Server disconnects passive DATA connection 05:46:00.128247 Server disconnected passive DATA connection 05:46:00.128275 DATA sockfilt for passive data channel quits (pid 89340) 05:46:00.128507 DATA sockfilt for passive data channel quit (pid 89340) 05:46:00.128536 =====> Closed passive DATA connection 05:46:00.128564 > "226 File transfer complete[CR][LF]" 05:46:00.172906 < "QUIT" 05:46:00.172964 > "221 bye bye baby[CR][LF]" 05:46:00.174159 MAIN sockfilt said DISC 05:46:00.174198 ====> Client disconnected 05:46:00.174289 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:00.560361 ====> Client connect 05:46:00.563941 Received DATA (on stdin) 05:46:00.563965 > 146 bytes data, server => client 05:46:00.563978 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:00.563989 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:00.563999 '220 \___|\___/|_| \_\_____|\r\n' 05:46:00.573433 < 16 bytes data, client => server 05:46:00.573470 'USER anonymous\r\n' 05:46:00.577821 Received DATA (on stdin) 05:46:00.577850 > 33 bytes data, server => client 05:46:00.577862 '331 We are happy you popped in!\r\n' 05:46:00.577953 < 22 bytes data, client => server 05:46:00.577965 'PASS ftp@example.com\r\n' 05:46:00.578158 Received DATA (on stdin) 05:46:00.578169 > 30 bytes data, server => client 05:46:00.578179 '230 Welcome you silly person\r\n' 05:46:00.578226 < 5 bytes data, client => server 05:46:00.578236 'PWD\r\n' 05:46:00.578837 Received DATA (on stdin) 05:46:00.578849 > 30 bytes data, server => client 05:46:00.578860 '257 "/" is current directory\r\n' 05:46:00.578924 < 6 bytes data, client => server 05:46:00.578935 'EPSV\r\n' 05:46:00.588457 Received DATA (on stdin) 05:46:00.588477 > 39 bytes data, server => client 05:46:00.588489 '229 Entering Passive Mode (|||42317|)\r\n' 05:46:00.588697 < 8 bytes data, client => server 05:46:00.588715 'TYPE I\r\n' 05:46:00.588970 Received DATA (on stdin) 05:46:00.588983 > 33 bytes data, server => client 05:46:00.588994 '200 I modify TYPE as you wanted\r\n' 05:46:00.589050 < 21 bytes data, client => server 05:46:00.589065 'SIZE verifiedserver\r\n' 05:46:00.589194 Received DATA (on stdin) 05:46:00.589206 > 8 bytes data, server => client 05:46:00.589216 '213 17\r\n' 05:46:00.589267 < 21 bytes data, client => server 05:46:00.589279 'RETR verifiedserver\r\n' 05:46:00.589492 Received DATA (on stdin) 05:46:00.589502 > 29 bytes data, server => client 05:46:00.589511 '150 Binary junk (17 bytes).\r\n' 05:46:00.590030 Received DATA (on stdin) 05:46:00.590042 > 28 bytes data, server => client 05:46:00.590052 '226 File transfer complete\r\n' 05:46:00.634150 < 6 bytes data, client =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind221 ../src/curl -q --output log/2/curl221.out --include --trace-ascii log/2/trace221 --trace-time http://127.0.0.1:41799/221 --compressed > log/2/stdout221 2> log/2/stderr221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind229 ../src/curl -q --output log/18/curl229.out --include --trace-ascii log/18/trace229 --trace-time ftp://127.0.0.1:35869/229 --ftp-account "one count" > log/18/stdout229 2> log/18/stderr229 > server 05:46:00.634186 'QUIT\r\n' 05:46:00.634433 Received DATA (on stdin) 05:46:00.634444 > 18 bytes data, server => client 05:46:00.634454 '221 bye bye baby\r\n' 05:46:00.635560 ====> Client disconnect 05:46:00.635754 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:00.587767 Running IPv4 version 05:46:00.587865 Listening on port 42317 05:46:00.587911 Wrote pid 89340 to log/12/server/ftp_sockdata.pid 05:46:00.588113 Received PING (on stdin) 05:46:00.588234 Received PORT (on stdin) 05:46:00.588739 ====> Client connect 05:46:00.589535 Received DATA (on stdin) 05:46:00.589547 > 17 bytes data, server => client 05:46:00.589557 'WE ROOLZ: 81072\r\n' 05:46:00.589579 Received DISC (on stdin) 05:46:00.589591 ====> Client forcibly disconnected 05:46:00.589748 Received QUIT (on stdin) 05:46:00.589759 quits 05:46:00.589821 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 228 === End of file server.cmd === Start of file valgrind228 ==89386== ==89386== Process terminating with default action of signal 4 (SIGILL) ==89386== Illegal opcode at address 0x4014883 ==89386== at 0x4014883: getparameter (tool_getparam.c:2899) ==89386== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89386== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89386== by 0x4004208: main (tool_main.c:189) === End of file valgrind228 test 0221...[HTTP GET gzip compressed content with broken gzip header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind221 ../src/curl -q --output log/2/curl221.out --include --trace-ascii log/2/trace221 --trace-time http://127.0.0.1:41799/221 --compressed > log/2/stdout221 2> log/2/stderr221 221: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 221 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind221 ../src/curl -q --output log/2/curl221.out --include --trace-ascii log/2/trace221 --trace-time http://127.0.0.1:41799/221 --compressed > log/2/stdout221 2> log/2/stderr221 === End of file commands.log === Start of file http_server.log 05:46:00.179731 ====> Client connect 05:46:00.179768 accept_connection 3 returned 4 05:46:00.179786 accept_connection 3 returned 0 05:46:00.184573 Read 93 bytes 05:46:00.184596 Process 93 bytes request 05:46:00.184611 Got request: GET /verifiedserver HTTP/1.1 05:46:00.184620 Are-we-friendly question received 05:46:00.184656 Wrote request (93 bytes) input to log/2/server.input 05:46:00.184674 Identifying ourselves as friends 05:46:00.184744 Response sent (56 bytes) and written to log/2/server.response 05:46:00.184754 special request received, no persistency 05:46:00.184763 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 34536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind221 ==88998== ==88998== Process terminating with default action of signal 4 (SIGILL) ==88998== Illegal opcode at address 0x4014883 ==88998== at 0x4014883: getparameter (tool_getparam.c:2899) ==88998== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==88998== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==88998== by 0x4004208: main (tool_main.c:189) === End of file valgrind221 test 0229...[FTP RETR with bad ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind229 ../src/curl -q --output log/18/curl229.out --include --trace-ascii log/18/trace229 --trace-time ftp://127.0.0.1:35869/229 --ftp-account "one count" > log/18/stdout229 2> log/18/stderr229 229: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind229 ../src/curl -q --output log/18/curl229.out --include --trace-ascii log/18/trace229 --trace-time ftp://127.0.0.1:35869/229 --ftp-account "one count" > log/18/stdout229 2> log/18/stderr229 === End of file commands.log === Start of file ftp_server.log 05:46:00.509042 ====> Client connect 05:46:00.509215 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:00.515198 < "USER anonymous" 05:46:00.515268 > "331 We are happy you popped in![CR][LF]" 05:46:00.525726 < "PASS ftp@example.com" 05:46:00.525793 > "230 Welcome you silly person[CR][LF]" 05:46:00.526057 < "PWD" 05:46:00.526094 > "257 "/" is current directory[CR][LF]" 05:46:00.526282 < "EPSV" 05:46:00.526312 ====> Passive DATA channel requested by client 05:46:00.526329 DATA sockfilt for passive data channel starting... 05:46:00.535648 DATA sockfilt for passive data channel started (pid 89518) 05:46:00.535816 DATA sockfilt for passive data channel listens on port 43563 05:46:00.535868 > "229 Entering Passive Mode (|||43563|)[CR][LF]" 05:46:00.535887 Client has been notified that DATA conn will be accepted on port 43563 05:46:00.536199 Client connects to port 43563 05:46:00.536227 ====> Client established passive DATA connection on port 43563 05:46:00.536317 < "TYPE I" 05:46:00.536348 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:00.536499 < "SIZE verifiedserver" 05:46:00.536536 > "213 17[CR][LF]" 05:46:00.536676 < "RETR verifiedserver" 05:46:00.536709 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:00.536806 =====> Closing passive DATA connection... 05:46:00.536825 Server disconnects passive DATA connection 05:46:00.537050 Server disconnected passive DATA connection 05:46:00.537075 DATA sockfilt for passive data channel quits (pid 89518) 05:46:00.537322 DATA sockfilt for passive data channel quit (pid 89518) 05:46:00.537346 =====> Closed passive DATA connection 05:46:00.537374 > "226 File transfer complete[CR][LF]" 05:46:00.582573 < "QUIT" 05:46:00.582635 > "221 bye bye baby[CR][LF]" 05:46:00.583836 MAIN sockfilt said DISC 05:46:00.583868 ====> Client disconnected 05:46:00.583948 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:45:59.970356 ====> Client connect 05:45:59.970694 Received DATA (on stdin) 05:45:59.970709 > 146 bytes data, server => client 05:45:59.970722 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:45:59.970733 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:45:59.970743 '220 \___|\___/|_| \_\_____|\r\n' 05:45:59.976398 < 16 bytes data, client => server 05:45:59.976434 'USER anonymous\r\n' 05:45:59.976744 Received DATA (on stdin) 05:45:59.976759 > 33 bytes data, server => client 05:45:59.976771 '331 We are happy you popped in!\r\n' 05:45:59.983827 < 22 bytes dataCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind231 ../src/curl -q --output log/21/curl231.out --trace-ascii log/21/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test231.txt -C 10 > log/21/stdout231 2> log/21/stderr231 , client => server 05:45:59.983860 'PASS ftp@example.com\r\n' 05:45:59.987275 Received DATA (on stdin) 05:45:59.987293 > 30 bytes data, server => client 05:45:59.987303 '230 Welcome you silly person\r\n' 05:45:59.987420 < 5 bytes data, client => server 05:45:59.987437 'PWD\r\n' 05:45:59.987561 Received DATA (on stdin) 05:45:59.987574 > 30 bytes data, server => client 05:45:59.987584 '257 "/" is current directory\r\n' 05:45:59.987652 < 6 bytes data, client => server 05:45:59.987666 'EPSV\r\n' 05:45:59.997360 Received DATA (on stdin) 05:45:59.997382 > 39 bytes data, server => client 05:45:59.997393 '229 Entering Passive Mode (|||43563|)\r\n' 05:45:59.997585 < 8 bytes data, client => server 05:45:59.997599 'TYPE I\r\n' 05:45:59.997813 Received DATA (on stdin) 05:45:59.997824 > 33 bytes data, server => client 05:45:59.997834 '200 I modify TYPE as you wanted\r\n' 05:45:59.997883 < 21 bytes data, client => server 05:45:59.997893 'SIZE verifiedserver\r\n' 05:45:59.997999 Received DATA (on stdin) 05:45:59.998009 > 8 bytes data, server => client 05:45:59.998019 '213 17\r\n' 05:45:59.998064 < 21 bytes data, client => server 05:45:59.998074 'RETR verifiedserver\r\n' 05:45:59.998378 Received DATA (on stdin) 05:45:59.998389 > 29 bytes data, server => client 05:45:59.998400 '150 Binary junk (17 bytes).\r\n' 05:45:59.998839 Received DATA (on stdin) 05:45:59.998851 > 28 bytes data, server => client 05:45:59.998861 '226 File transfer complete\r\n' 05:46:00.043830 < 6 bytes data, client => server 05:46:00.043867 'QUIT\r\n' 05:46:00.044103 Received DATA (on stdin) 05:46:00.044114 > 18 bytes data, server => client 05:46:00.044125 '221 bye bye baby\r\n' 05:46:00.045251 ====> Client disconnect 05:46:00.045410 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:00.990958 Running IPv4 version 05:46:00.991030 Listening on port 43563 05:46:00.991064 Wrote pid 89518 to log/18/server/ftp_sockdata.pid 05:46:00.997012 Received PING (on stdin) 05:46:00.997172 Received PORT (on stdin) 05:46:00.997617 ====> Client connect 05:46:00.998290 Received DATA (on stdin) 05:46:00.998302 > 17 bytes data, server => client 05:46:00.998312 'WE ROOLZ: 81205\r\n' 05:46:00.998339 Received DISC (on stdin) 05:46:00.998350 ====> Client forcibly disconnected 05:46:00.998547 Received QUIT (on stdin) 05:46:00.998557 quits 05:46:00.998623 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 532 bluah Testnum 229 === End of file server.cmd === Start of file valgrind229 ==89523== ==89523== Process terminating with default action of signal 4 (SIGILL) ==89523== Illegal opcode at address 0x4014883 ==89523== at 0x4014883: getparameter (tool_getparam.c:2899) ==89523== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89523== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89523== by 0x4004208: main (tool_main.c:189) === End of file valgrind229 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind234 ../src/curl -q --output log/17/curl234.out --include --trace-ascii log/17/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:41505 --user iam:myself --proxy-user testing:this --location-trusted > log/17/stdout234 2> log/17/stderr234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind233 ../src/curl -q --output log/3/curl233.out --include --trace-ascii log/3/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39591 --user iam:myself --proxy-user testing:this --location > log/3/stdout233 2> log/3/stderr233 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind230 ../src/curl -q --output log/7/curl230.out --include --trace-ascii log/7/trace230 --trace-time http://127.0.0.1:39013/230 --compressed > log/7/stdout230 2> log/7/stderr230 test 0231...[file:// with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind231 ../src/curl -q --output log/21/curl231.out --trace-ascii log/21/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test231.txt -C 10 > log/21/stdout231 2> log/21/stderr231 231: data FAILED: --- log/21/check-expected 2026-03-14 05:46:02.717949383 +0000 +++ log/21/check-generated 2026-03-14 05:46:02.717949383 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/21/ directory after test 231 === Start of file check-expected B01234567[LF] C01234567[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind231 ../src/curl -q --output log/21/curl231.out --trace-ascii log/21/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test231.txt -C 10 > log/21/stdout231 2> log/21/stderr231 === End of file commands.log === Start of file server.cmd Testnum 231 === End of file server.cmd === Start of file test231.txt A01234567 B01234567 C01234567 === End of file test231.txt === Start of file valgrind231 ==89544== ==89544== Process terminating with default action of signal 4 (SIGILL) ==89544== Illegal opcode at address 0x4014883 ==89544== at 0x4014883: getparameter (tool_getparam.c:2899) ==89544== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89544== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89544== by 0x4004208: main (tool_main.c:189) === End of file valgrind231 test 0234...[HTTP, proxy, site+proxy auth and Location: to new host location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind234 ../src/curl -q --output log/17/curl234.out --include --trace-ascii log/17/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:41505 --user iam:myself --proxy-user testing:this --location-trusted > log/17/stdout234 2> log/17/stderr234 234: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind234 ../src/curl -q --output log/17/curl234.out --include --trace-ascii log/17/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:41505 --user iam:myself --proxy-user testing:this --location-trusted > log/17/stdout234 2> log/17/stderr234 === End of file commands.log === Start of file http_server.log 05:46:01.499996 ====> Client connect 05:46:01.500031 accept_connection 3 returned 4 05:46:01.500048 accept_connection 3 returned 0 05:46:01.500062 Read 93 bytes 05:46:01.500071 Process 93 bytes request 05:46:01.500084 Got request: GET /verifiedserver HTTP/1.1 05:46:01.500093 Are-we-friendly question received 05:46:01.500115 Wrote request (93 bytes) input to log/17/server.input 05:46:01.500132 Identifying ourselves as friends 05:46:01.500194 Response sent (56 bytes) and written to log/17/server.response 05:46:01.500203 special request received, no persistency 05:46:01.500212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 44168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 234 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind234 ==89845== ==89845== Process terminating with default action of signal 4 (SIGILL) ==89845== Illegal opcode at address 0x4014883 ==89845== at 0x4014883: getparameter (tool_getparam.c:2899) ==89845== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89845== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89845== by 0x4004208: main (tool_main.c:189) === End of file valgrind234 test 0233...[HTTP, proxy, site+proxy auth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind233 ../src/curl -q --output log/3/curl233.out --include --trace-ascii log/3/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39591 --user iam:myself --proxy-user testing:this --location > log/3/stdout233 2> log/3/stderr233 233: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind233 ../src/curl -q --output log/3/curl233.out --include --trace-ascii log/3/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:39591 --user iam:myself --proxy-user testing:this --location > log/3/stdout233 2> log/3/stderr233 === End of file commands.log === Start of file http_server.log 05:46:01.290419 ====> Client connect 05:46:01.290470 accept_connection 3 returned 4 05:46:01.290492 accept_connection 3 returned 0 05:46:01.290509 Read 93 bytes 05:46:01.290520 Process 93 bytes request 05:46:01.290534 Got request: GET /verifiedserver HTTP/1.1 05:46:01.290544 Are-we-friendly question received 05:46:01.290573 Wrote request (93 bytes) input to log/3/server.input 05:46:01.290593 Identifying ourselves as friends 05:46:01.290686 Response sent (56 bytes) and written to log/3/server.response 05:46:01.290700 special request received, no persistency 05:46:01.290709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 46256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 233 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind233 ==89716== ==89716== Process terminating with default action of signal 4 (SIGILL) ==89716== Illegal opcode at address 0x4014883 ==89716== at 0x4014883: getparameter (tool_getparam.c:2899) ==89716== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89716== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89716== by 0x4004208: main (tool_main.c:189) === End of file valgrind233 test 0230...[HTTP GET multiply compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrindCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind232 ../src/curl -q --output log/16/curl232.out --include --trace-ascii log/16/trace232 --trace-time http://127.0.0.1:44673/232 --compressed > log/16/stdout232 2> log/16/stderr232 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind237 ../src/curl -q --output log/14/curl237.out --include --trace-ascii log/14/trace237 --trace-time ftp://127.0.0.1:46299/237 --disable-epsv > log/14/stdout237 2> log/14/stderr237 230 ../src/curl -q --output log/7/curl230.out --include --trace-ascii log/7/trace230 --trace-time http://127.0.0.1:39013/230 --compressed > log/7/stdout230 2> log/7/stderr230 230: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind230 ../src/curl -q --output log/7/curl230.out --include --trace-ascii log/7/trace230 --trace-time http://127.0.0.1:39013/230 --compressed > log/7/stdout230 2> log/7/stderr230 === End of file commands.log === Start of file http_server.log 05:46:00.135790 ====> Client connect 05:46:00.135824 accept_connection 3 returned 4 05:46:00.135840 accept_connection 3 returned 0 05:46:00.135983 Read 93 bytes 05:46:00.135995 Process 93 bytes request 05:46:00.136010 Got request: GET /verifiedserver HTTP/1.1 05:46:00.136019 Are-we-friendly question received 05:46:00.136047 Wrote request (93 bytes) input to log/7/server.input 05:46:00.136064 Identifying ourselves as friends 05:46:00.136116 Response sent (56 bytes) and written to log/7/server.response 05:46:00.136126 special request received, no persistency 05:46:00.136134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind230 ==89587== ==89587== Process terminating with default action of signal 4 (SIGILL) ==89587== Illegal opcode at address 0x4014883 ==89587== at 0x4014883: getparameter (tool_getparam.c:2899) ==89587== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89587== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89587== by 0x4004208: main (tool_main.c:189) === End of file valgrind230 test 0232...[HTTP GET deflate raw-compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind232 ../src/curl -q --output log/16/curl232.out --include --trace-ascii log/16/trace232 --trace-time http://127.0.0.1:44673/232 --compressed > log/16/stdout232 2> log/16/stderr232 232: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind232 ../src/curl -q --output log/16/curl232.out --include --trace-ascii log/16/trace232 --trace-time http://127.0.0.1:44673/232 --compressed > log/16/stdout232 2> log/16/stderr232 === End of file commands.log === Start of file http_server.log 05:46:01.223732 ====> Client connect 05:46:01.223776 accept_connection 3 returned 4 05:46:01.223794 accept_connection 3 returned 0 05:46:01.223809 Read 93 bytes 05:46:01.223818 Process 93 bytes request 05:46:01.223831 Got request: GET /verifiedserver HTTP/1.1 05:46:01.223839 Are-we-friendly question received 05:46:01.223863 Wrote request (93 bytes) input to log/16/server.input 05:46:01.223878 Identifying ourselves as friends 05:46:01.223945 Response sent (56 bytes) and written to log/16/server.response 05:46:01.223955 special request received, no persistency 05:46:01.223964 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 42704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind232 ==89672== ==89672== Process terminating with default action of signal 4 (SIGILL) ==89672== Illegal opcode at address 0x4014883 ==89672== at 0x4014883: getparameter (tool_getparam.c:2899) ==89672== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89672== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89672== by 0x4004208: main (tool_main.c:189) === End of file valgrind232 test 0237...[FTP getting bad host in 227-response to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind237 ../src/curl -q --output log/14/curl237.out --include --trace-ascii log/14/trace237 --trace-time ftp://127.0.0.1:46299/237 --disable-epsv > log/14/stdout237 2> log/14/stderr237 237: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind237 ../src/curl -q --output log/14/curl237.out --include --trace-ascii log/14/trace237 --trace-time ftp://127.0.0.1:46299/237 --disable-epsv > log/14/stdout237 2> log/14/stderr237 === End of file commands.log === Start of file ftp_server.log 05:46:01.327663 ====> Client connect 05:46:01.327832 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:01.328113 < "USER anonymous" 05:46:01.328148 > "331 We are happy you popped in![CR][LF]" 05:46:01.330739 < "PASS ftp@example.com" 05:46:01.330776 > "230 Welcome you silly person[CR][LF]" 05:46:01.330955 < "PWD" 05:46:01.330990 > "257 "/" is current directory[CR][LF]" 05:46:01.331168 < "EPSV" 05:46:01.331195 ====> Passive DATA channel requested by client 05:46:01.331212 DATA sockfilt for passive data channel starting... 05:46:01.339192 DATA sockfilt for passive data channel started (pid 89988) 05:46:01.339371 DATA sockfilt for passive data channel listens on port 40601 05:46:01.339445 > "229 Entering Passive Mode (|||40601|)[CR][LF]" 05:46:01.339476 Client has been notified that DATA conn will be accepted on port 40601 05:46:01.341699 Client connects to port 40601 05:46:01.341733 ====> Client established passive DATA connection on port 40601 05:46:01.341842 < "TYPE I" 05:46:01.341883 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:01.342058 < "SIZE verifiedserver" 05:46:01.342100 > "213 17[CR][LF]" 05:46:01.342278 < "RETR verifiedserver" 05:46:01.342319 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:01.342421 =====> Closing passive DATA connection... 05:46:01.342441 Server disconnects passive DATA connection 05:46:01.342683 Server disconnected passive DATA connection 05:46:01.342714 DATA sockfilt CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind235 ../src/curl -q --output log/4/curl235.out --include --trace-ascii log/4/trace235 --trace-time ftp://127.0.0.1:43777/235 -T log/4/upload235 -C - > log/4/stdout235 2> log/4/stderr235 for passive data channel quits (pid 89988) 05:46:01.343022 DATA sockfilt for passive data channel quit (pid 89988) 05:46:01.343050 =====> Closed passive DATA connection 05:46:01.343079 > "226 File transfer complete[CR][LF]" 05:46:01.389205 < "QUIT" 05:46:01.389258 > "221 bye bye baby[CR][LF]" 05:46:01.390535 MAIN sockfilt said DISC 05:46:01.390571 ====> Client disconnected 05:46:01.390655 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:00.789001 ====> Client connect 05:46:00.789308 Received DATA (on stdin) 05:46:00.789322 > 146 bytes data, server => client 05:46:00.789335 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:00.789345 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:00.789355 '220 \___|\___/|_| \_\_____|\r\n' 05:46:00.789431 < 16 bytes data, client => server 05:46:00.789445 'USER anonymous\r\n' 05:46:00.789615 Received DATA (on stdin) 05:46:00.789627 > 33 bytes data, server => client 05:46:00.789638 '331 We are happy you popped in!\r\n' 05:46:00.789690 < 22 bytes data, client => server 05:46:00.789701 'PASS ftp@example.com\r\n' 05:46:00.792246 Received DATA (on stdin) 05:46:00.792259 > 30 bytes data, server => client 05:46:00.792270 '230 Welcome you silly person\r\n' 05:46:00.792329 < 5 bytes data, client => server 05:46:00.792341 'PWD\r\n' 05:46:00.792457 Received DATA (on stdin) 05:46:00.792469 > 30 bytes data, server => client 05:46:00.792479 '257 "/" is current directory\r\n' 05:46:00.792542 < 6 bytes data, client => server 05:46:00.792554 'EPSV\r\n' 05:46:00.802823 Received DATA (on stdin) 05:46:00.802851 > 39 bytes data, server => client 05:46:00.802865 '229 Entering Passive Mode (|||40601|)\r\n' 05:46:00.803073 < 8 bytes data, client => server 05:46:00.803090 'TYPE I\r\n' 05:46:00.803352 Received DATA (on stdin) 05:46:00.803364 > 33 bytes data, server => client 05:46:00.803375 '200 I modify TYPE as you wanted\r\n' 05:46:00.803430 < 21 bytes data, client => server 05:46:00.803443 'SIZE verifiedserver\r\n' 05:46:00.803566 Received DATA (on stdin) 05:46:00.803578 > 8 bytes data, server => client 05:46:00.803589 '213 17\r\n' 05:46:00.803640 < 21 bytes data, client => server 05:46:00.803663 'RETR verifiedserver\r\n' 05:46:00.803999 Received DATA (on stdin) 05:46:00.804011 > 29 bytes data, server => client 05:46:00.804022 '150 Binary junk (17 bytes).\r\n' 05:46:00.804545 Received DATA (on stdin) 05:46:00.804558 > 28 bytes data, server => client 05:46:00.804569 '226 File transfer complete\r\n' 05:46:00.850449 < 6 bytes data, client => server 05:46:00.850486 'QUIT\r\n' 05:46:00.850726 Received DATA (on stdin) 05:46:00.850737 > 18 bytes data, server => client 05:46:00.850748 '221 bye bye baby\r\n' 05:46:00.851943 ====> Client disconnect 05:46:00.852125 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:01.797007 Running IPv4 version 05:46:01.797229 Listening on port 40601 05:46:01.797267 Wrote pid 89988 to log/14/server/ftp_sockdata.pid 05:46:01.800555 Received PING (on stdin) 05:46:01.800715 Received PORT (on stdin) 05:46:01.803112 ====> Client connect 05:46:01.803910 Received DATA (on stdin) 05:46:01.803922 > 17 bytes data, server => client 05:46:01.803933 'WE ROOLZ: 81045\r\n' 05:46:01.803961 Received DISC (on stdin) 05:46:01.803973 ====> Client forcibly disconnected 05:46:01.804189 Received QUIT (on stdin) 05:46:01.804201 quits 05:46:01.804276 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASV 227 Entering Passive Mode (1216,256,2,127,127,127) Testnum 237 === End of file server.cmd === Start of file valgrind237 ==90037== ==90037== Process terminating with default action of signal 4 (SIGILL) ==90037== Illegal opcode at address 0x4014883 ==90037== at 0x4014883: getparameter (tool_getparam.c:2899) ==90037== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90037== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90037== by 0x4004208: main (tool_main.c:189) === End of file valgrind237 test 0235...[FTP resumed upload but no file present remotely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind235 ../src/curl -q --output log/4/curl235.out --include --trace-ascii log/4/trace235 --trace-time ftp://127.0.0.1:43777/235 -T log/4/upload235 -C - > log/4/stdout235 2> log/4/stderr235 235: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 235 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind235 ../src/curl -q --output log/4/curl235.out --include --trace-ascii log/4/trace235 --trace-time ftp://127.0.0.1:43777/235 -T log/4/upload235 -C - > log/4/stdout235 2> log/4/stderr235 === End of file commands.log === Start of file ftp_server.log 05:46:01.205628 ====> Client connect 05:46:01.205798 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:01.206554 < "USER anonymous" 05:46:01.206600 > "331 We are happy you popped in![CR][LF]" 05:46:01.206803 < "PASS ftp@example.com" 05:46:01.206838 > "230 Welcome you silly person[CR][LF]" 05:46:01.207025 < "PWD" 05:46:01.207063 > "257 "/" is current directory[CR][LF]" 05:46:01.207264 < "EPSV" 05:46:01.207293 ====> Passive DATA channel requested by client 05:46:01.207311 DATA sockfilt for passive data channel starting... 05:46:01.210208 DATA sockfilt for passive data channel started (pid 89908) 05:46:01.210353 DATA sockfilt for passive data channel listens on port 35557 05:46:01.210406 > "229 Entering Passive Mode (|||35557|)[CR][LF]" 05:46:01.210433 Client has been notified that DATA conn will be accepted on port 35557 05:46:01.210729 Client connects to port 35557 05:46:01.210763 ====> Client established passive DATA connection on port 35557 05:46:01.210861 < "TYPE I" 05:46:01.210896 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:01.211086 < "SIZE verifiedserver" 05:46:01.211134 > "213 17[CR][LF]" 05:46:01.211327 < "RETR verifiedserver" 05:46:01.211371 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:01.211466 =====> Closing passive DATA connection... 05:46:01.211491 Server disconnects passive DATA connection 05:46:01.211746 Server disconnected passive DATA connection 05:46:01.211781 DATA sockfilt for passive data channel quits (pid 89908) 05:46:01.212012 DATA sockfilt for passive data channel quit (pid 89908) 05:46:01.212042 =====> Closed passive DATA connection 05:46:01.212073 > "226 File transfer complete[CR][LF]" 05:46:01.255822 < "QUIT" 05:46:01.255935 > "221 bye bye baby[CR][LF]" 05:46:01.260565 MAIN sockfilt said DISC 05:46:01.260615 ====> Client disconnected 05:46:01.260691 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:01.665883 ====> Client connect 05:46:01.667663 Received DATA (on stdin) 05:46:01.667689 > 146 bytes data, server => client 05:46:01.667702 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:01.667713 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:01.667723 '220 \___|\___/|_| \_\_____|\r\n' 05:46:01.667850 < 16 bytes data, client => server 05:46:01.667868 'USER anonymous\r\n' 05:46:01.668075 Received DATA (on stdin) 05:46:01.668090 > 33 bytes data, server => client 05:46:01.668101 '331 We are happy you popped in!\r\n' 05:46:01.668162 < 22 bytes data, client => server 05:46:01.668179 'PASS ftp@example.com\r\n' 05:46:01.668308 Received DATA (on stdin) 05:46:01.668322 > 30 bytes data, server => client 05:46:01.668333 '230 Welcome you silly person\r\n' 05:46:01.668389 < 5 bytes data, client => server 05:46:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind239 ../src/curl -q --output log/6/curl239.out --include --trace-ascii log/6/trace239 --trace-time http://127.0.0.1:33035/239 --proxy http://127.0.0.1:33035 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/6/stdout239 2> log/6/stderr239 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind246 ../src/curl -q --output log/13/curl246.out --include --trace-ascii log/13/trace246 --trace-time http://127.0.0.1:45359/246 -u auser:apasswd --digest -d "junkelijunk" > log/13/stdout246 2> log/13/stderr246 01.668405 'PWD\r\n' 05:46:01.668534 Received DATA (on stdin) 05:46:01.668548 > 30 bytes data, server => client 05:46:01.668558 '257 "/" is current directory\r\n' 05:46:01.668628 < 6 bytes data, client => server 05:46:01.668644 'EPSV\r\n' 05:46:01.671908 Received DATA (on stdin) 05:46:01.671925 > 39 bytes data, server => client 05:46:01.671938 '229 Entering Passive Mode (|||35557|)\r\n' 05:46:01.672103 < 8 bytes data, client => server 05:46:01.672121 'TYPE I\r\n' 05:46:01.672369 Received DATA (on stdin) 05:46:01.672382 > 33 bytes data, server => client 05:46:01.672394 '200 I modify TYPE as you wanted\r\n' 05:46:01.672451 < 21 bytes data, client => server 05:46:01.672467 'SIZE verifiedserver\r\n' 05:46:01.672607 Received DATA (on stdin) 05:46:01.672620 > 8 bytes data, server => client 05:46:01.672631 '213 17\r\n' 05:46:01.672691 < 21 bytes data, client => server 05:46:01.672707 'RETR verifiedserver\r\n' 05:46:01.672961 Received DATA (on stdin) 05:46:01.672975 > 29 bytes data, server => client 05:46:01.672986 '150 Binary junk (17 bytes).\r\n' 05:46:01.673543 Received DATA (on stdin) 05:46:01.673557 > 28 bytes data, server => client 05:46:01.673568 '226 File transfer complete\r\n' 05:46:01.717110 < 6 bytes data, client => server 05:46:01.717135 'QUIT\r\n' 05:46:01.717333 Received DATA (on stdin) 05:46:01.717350 > 18 bytes data, server => client 05:46:01.717412 '221 bye bye baby\r\n' 05:46:01.721959 ====> Client disconnect 05:46:01.722168 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:01.670380 Running IPv4 version 05:46:01.670443 Listening on port 35557 05:46:01.670483 Wrote pid 89908 to log/4/server/ftp_sockdata.pid 05:46:01.671601 Received PING (on stdin) 05:46:01.671713 Received PORT (on stdin) 05:46:01.672143 ====> Client connect 05:46:01.673015 Received DATA (on stdin) 05:46:01.673030 > 17 bytes data, server => client 05:46:01.673040 'WE ROOLZ: 81463\r\n' 05:46:01.673066 Received DISC (on stdin) 05:46:01.673079 ====> Client forcibly disconnected 05:46:01.673258 Received QUIT (on stdin) 05:46:01.673271 quits 05:46:01.673336 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 500 command not understood Testnum 235 === End of file server.cmd === Start of file upload235 this is the *****crap******** that we are gonna upload worx? === End of file upload235 === Start of file valgrind235 ==89987== ==89987== Process terminating with default action of signal 4 (SIGILL) ==89987== Illegal opcode at address 0x4014883 ==89987== at 0x4014883: getparameter (tool_getparam.c:2899) ==89987== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89987== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89987== by 0x4004208: main (tool_main.c:189) === End of file valgrind235 test 0239...[HTTP proxy-auth NTLM and then POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind239 ../src/curl -q --output log/6/curl239.out --include --trace-ascii log/6/trace239 --trace-time http://127.0.0.1:33035/239 --proxy http://127.0.0.1:33035 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/6/stdout239 2> log/6/stderr239 239: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 239 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind239 ../src/curl -q --output log/6/curl239.out --include --trace-ascii log/6/trace239 --trace-time http://127.0.0.1:33035/239 --proxy http://127.0.0.1:33035 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/6/stdout239 2> log/6/stderr239 === End of file commands.log === Start of file http_server.log 05:46:00.922442 ====> Client connect 05:46:00.922479 accept_connection 3 returned 4 05:46:00.922498 accept_connection 3 returned 0 05:46:00.922514 Read 93 bytes 05:46:00.922525 Process 93 bytes request 05:46:00.922540 Got request: GET /verifiedserver HTTP/1.1 05:46:00.922549 Are-we-friendly question received 05:46:00.922580 Wrote request (93 bytes) input to log/6/server.input 05:46:00.922598 Identifying ourselves as friends 05:46:00.922664 Response sent (56 bytes) and written to log/6/server.response 05:46:00.922676 special request received, no persistency 05:46:00.922685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 47164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind239 ==90085== ==90085== Process terminating with default action of signal 4 (SIGILL) ==90085== Illegal opcode at address 0x4014883 ==90085== at 0x4014883: getparameter (tool_getparam.c:2899) ==90085== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90085== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90085== by 0x4004208: main (tool_main.c:189) === End of file valgrind239 test 0246...[HTTP POST --digest with server doing a 100 before 401 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind246 ../src/curl -q --output log/13/curl246.out --include --trace-ascii log/13/trace246 --trace-time http://127.0.0.1:45359/246 -u auser:apasswd --digest -d "junkelijunk" > log/13/stdout246 2> log/13/stderr246 246: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind246 ../src/curl -q --output log/13/curl246.out --include --trace-ascii log/13/trace246 --trace-time http://127.0.0.1:45359/246 -u auser:apasswd --digest -d "junkelijunk" > log/13/stdout246 2> log/13/stderr246 === End of file commands.log === Start of file http_server.log 05:46:02.533684 ====> Client connect 05:46:02.533716 accept_connection 3 returned 4 05:46:02.533732 accept_connection 3 returned 0 05:46:02.533746 Read 93 bytes 05:46:02.533755 Process 93 bytes request 05:46:02.533768 Got request: GET /verifiedserver HTTP/1.1 05:46:02.533778 Are-we-friendly question received 05:46:02.533799 Wrote request (93 bytes) input to log/13/server.input 05:46:02.533814 Identifying ourselves as friends 05:46:02.533865 Response sent (56 bytes) and written to log/13/server.response 05:46:02.533875 special request received, no persistency 05:46:02.533883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 50372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind243 ../src/curl -q --output log/1/curl243.out --include --trace-ascii log/1/trace243 --trace-time http://127.0.0.1:38765/243 --proxy http://127.0.0.1:38765 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/1/stdout243 2> log/1/stderr243 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind236 ../src/curl -q --output log/22/curl236.out --include --trace-ascii log/22/trace236 --trace-time ftp://127.0.0.1:41347/236 -T log/22/file236.txt -C - > log/22/stdout236 2> log/22/stderr236 ify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind246 ==90312== ==90312== Process terminating with default action of signal 4 (SIGILL) ==90312== Illegal opcode at address 0x4014883 ==90312== at 0x4014883: getparameter (tool_getparam.c:2899) ==90312== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90312== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90312== by 0x4004208: main (tool_main.c:189) === End of file valgrind246 test 0243...[HTTP POST with --proxy-anyauth, picking NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind243 ../src/curl -q --output log/1/curl243.out --include --trace-ascii log/1/trace243 --trace-time http://127.0.0.1:38765/243 --proxy http://127.0.0.1:38765 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/1/stdout243 2> log/1/stderr243 243: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind243 ../src/curl -q --output log/1/curl243.out --include --trace-ascii log/1/trace243 --trace-time http://127.0.0.1:38765/243 --proxy http://127.0.0.1:38765 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/1/stdout243 2> log/1/stderr243 === End of file commands.log === Start of file http_server.log 05:46:02.398772 ====> Client connect 05:46:02.398804 accept_connection 3 returned 4 05:46:02.398820 accept_connection 3 returned 0 05:46:02.398835 Read 93 bytes 05:46:02.398845 Process 93 bytes request 05:46:02.398858 Got request: GET /verifiedserver HTTP/1.1 05:46:02.398867 Are-we-friendly question received 05:46:02.398892 Wrote request (93 bytes) input to log/1/server.input 05:46:02.398916 Identifying ourselves as friends 05:46:02.398973 Response sent (56 bytes) and written to log/1/server.response 05:46:02.398983 special request received, no persistency 05:46:02.398991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 37832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 243 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind243 ==90232== ==90232== Process terminating with default action of signal 4 (SIGILL) ==90232== Illegal opcode at address 0x4014883 ==90232== at 0x4014883: getparameter (tool_getparam.c:2899) ==90232== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90232== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90232== by 0x4004208: main (tool_main.c:189) === End of file valgrind243 test 0236...[FTP resume upload but denied access to remote file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind236 ../src/curl -q --output log/22/curl236.out --include --trace-ascii log/22/trace236 --trace-time ftp://127.0.0.1:41347/236 -T log/22/file236.txt -C - > log/22/stdout236 2> log/22/stderr236 236: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind236 ../src/curl -q --output log/22/curl236.out --include --trace-ascii log/22/trace236 --trace-time ftp://127.0.0.1:41347/236 -T log/22/file236.txt -C - > log/22/stdout236 2> log/22/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 05:46:01.192354 ====> Client connect 05:46:01.192543 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:01.192860 < "USER anonymous" 05:46:01.192901 > "331 We are happy you popped in![CR][LF]" 05:46:01.193087 < "PASS ftp@example.com" 05:46:01.193116 > "230 Welcome you silly person[CR][LF]" 05:46:01.193295 < "PWD" 05:46:01.193330 > "257 "/" is current directory[CR][LF]" 05:46:01.193513 < "EPSV" 05:46:01.193539 ====> Passive DATA channel requested by client 05:46:01.193555 DATA sockfilt for passive data channel starting... 05:46:01.200063 DATA sockfilt for passive data channel started (pid 89903) 05:46:01.200219 DATA sockfilt for passive data channel listens on port 43041 05:46:01.200279 > "229 Entering Passive Mode (|||43041|)[CR][LF]" 05:46:01.200306 Client has been notified that DATA conn will be accepted on port 43041 05:46:01.200608 Client connects to port 43041 05:46:01.200643 ====> Client established passive DATA connection on port 43041 05:46:01.200789 < "TYPE I" 05:46:01.200832 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:01.201019 < "SIZE verifiedserver" 05:46:01.201063 > "213 17[CR][LF]" 05:46:01.201252 < "RETR verifiedserver" 05:46:01.201296 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:01.201390 =====> Closing passive DATA connection... 05:46:01.201411 Server disconnects passive DATA connection 05:46:01.201585 Server disconnected passive DATA connection 05:46:01.201614 DATA sockfilt for passive data channel quits (pid 89903) 05:46:01.201856 DATA sockfilt for passive data channel quit (pid 89903) 05:46:01.201885 =====> Closed passive DATA connection 05:46:01.201917 > "226 File transfer complete[CR][LF]" 05:46:01.245880 < "QUIT" 05:46:01.245948 > "221 bye bye baby[CR][LF]" 05:46:01.247133 MAIN sockfilt said DISC 05:46:01.247164 ====> Client disconnected 05:46:01.247258 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:00.653679 ====> Client connect 05:46:00.654023 Received DATA (on stdin) 05:46:00.654039 > 146 bytes data, server => client 05:46:00.654052 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:00.654062 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:00.654072 '220 \___|\___/|_| \_\_____|\r\n' 05:46:00.654161 < 16 bytes data, client => server 05:46:00.654179 'USER anonymous\r\n' 05:46:00.654373 Received DATA (on stdin) 05:46:00.654387 > 33 bytes data, server => client 05:46:00.654398 '331 We are happy you popped in!\r\n' 05:46:00.654454 < 22 bytes data, client => server 05:46:00.654469 'PASS ftp@example.com\r\n' 05:46:00.654586 Received DATA (on stdin) 05:46:00.654598 > 30 bytes data, server => client 05:46:00.654609 '230 Welcome you silly person\r\n' 05:46:00.654664 < 5 bytes data, client => server 05:46:00.654678 'PWD\r\n' 05:46:00.654798 Received DATA (on stdin) 05:46:00.654811 > 30 bytes data, server => client 05:46:00.654821 '257 "/" is current directory\r\n' 05:46:00.654883 < 6 bytes data, client => server 05:46:00.654897 'EPSV\r\n' 05:46:00.661785 Received DATA (on stdin) 05:46:00.661804 > 39 bytes data, server => client 05:46:00.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind244 ../src/curl -q --output log/24/curl244.out --include --trace-ascii log/24/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:38499/fir%23t/th%69rd/244/ > log/24/stdout244 2> log/24/stderr244 661816 '229 Entering Passive Mode (|||43041|)\r\n' 05:46:00.662129 < 8 bytes data, client => server 05:46:00.662144 'TYPE I\r\n' 05:46:00.662303 Received DATA (on stdin) 05:46:00.662316 > 33 bytes data, server => client 05:46:00.662327 '200 I modify TYPE as you wanted\r\n' 05:46:00.662384 < 21 bytes data, client => server 05:46:00.662401 'SIZE verifiedserver\r\n' 05:46:00.662535 Received DATA (on stdin) 05:46:00.662550 > 8 bytes data, server => client 05:46:00.662560 '213 17\r\n' 05:46:00.662616 < 21 bytes data, client => server 05:46:00.662633 'RETR verifiedserver\r\n' 05:46:00.662971 Received DATA (on stdin) 05:46:00.662985 > 29 bytes data, server => client 05:46:00.662996 '150 Binary junk (17 bytes).\r\n' 05:46:00.663385 Received DATA (on stdin) 05:46:00.663398 > 28 bytes data, server => client 05:46:00.663408 '226 File transfer complete\r\n' 05:46:00.707122 < 6 bytes data, client => server 05:46:00.707161 'QUIT\r\n' 05:46:00.707424 Received DATA (on stdin) 05:46:00.707439 > 18 bytes data, server => client 05:46:00.707450 '221 bye bye baby\r\n' 05:46:00.708543 ====> Client disconnect 05:46:00.708732 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:01.661141 Running IPv4 version 05:46:01.661228 Listening on port 43041 05:46:01.661270 Wrote pid 89903 to log/22/server/ftp_sockdata.pid 05:46:01.661457 Received PING (on stdin) 05:46:01.661574 Received PORT (on stdin) 05:46:01.662018 ====> Client connect 05:46:01.662878 Received DATA (on stdin) 05:46:01.662891 > 17 bytes data, server => client 05:46:01.662901 'WE ROOLZ: 81140\r\n' 05:46:01.662929 Received DISC (on stdin) 05:46:01.662944 ====> Client forcibly disconnected 05:46:01.663089 Received QUIT (on stdin) 05:46:01.663102 quits 05:46:01.663170 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd 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 REPLY SIZE 500 command not understood Testnum 236 === End of file server.cmd === Start of file valgrind236 ==89925== ==89925== Process terminating with default action of signal 4 (SIGILL) ==89925== Illegal opcode at address 0x4014883 ==89925== at 0x4014883: getparameter (tool_getparam.c:2899) ==89925== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==89925== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==89925== by 0x4004208: main (tool_main.c:189) === End of file valgrind236 test 0244...[FTP dir listing with nocwd and URL encoded path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind244 ../src/curl -q --output log/24/curl244.out --include --trace-ascii log/24/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:38499/fir%23t/th%69rd/244/ > log/24/stdout244 2> log/24/stderr244 244: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 244 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind244 ../src/curl -q --output log/24/curl244.out --include --trace-ascii log/24/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:38499/fir%23t/th%69rd/244/ > log/24/stdout244 2> log/24/stderr244 === End of file commands.log === Start of file ftp_server.log 05:46:02.015867 ====> Client connect 05:46:02.016053 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:02.016390 < "USER anonymous" 05:46:02.016432 > "331 We are happy you popped in![CR][LF]" 05:46:02.016623 < "PASS ftp@example.com" 05:46:02.016655 > "230 Welcome you silly person[CR][LF]" 05:46:02.016839 < "PWD" 05:46:02.016879 > "257 "/" is current directory[CR][LF]" 05:46:02.017075 < "EPSV" 05:46:02.017104 ====> Passive DATA channel requested by client 05:46:02.017122 DATA sockfilt for passive data channel starting... 05:46:02.028968 DATA sockfilt for passive data channel started (pid 90255) 05:46:02.029155 DATA sockfilt for passive data channel listens on port 38213 05:46:02.029221 > "229 Entering Passive Mode (|||38213|)[CR][LF]" 05:46:02.029244 Client has been notified that DATA conn will be accepted on port 38213 05:46:02.032513 Client connects to port 38213 05:46:02.032549 ====> Client established passive DATA connection on port 38213 05:46:02.032691 < "TYPE I" 05:46:02.032727 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:02.032881 < "SIZE verifiedserver" 05:46:02.032916 > "213 17[CR][LF]" 05:46:02.033057 < "RETR verifiedserver" 05:46:02.033093 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:02.033193 =====> Closing passive DATA connection... 05:46:02.033210 Server disconnects passive DATA connection 05:46:02.033324 Server disconnected passive DATA connection 05:46:02.033350 DATA sockfilt for passive data channel quits (pid 90255) 05:46:02.033637 DATA sockfilt for passive data channel quit (pid 90255) 05:46:02.033663 =====> Closed passive DATA connection 05:46:02.033688 > "226 File transfer complete[CR][LF]" 05:46:02.079371 < "QUIT" 05:46:02.079445 > "221 bye bye baby[CR][LF]" 05:46:02.080816 MAIN sockfilt said DISC 05:46:02.080852 ====> Client disconnected 05:46:02.080952 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:02.477199 ====> Client connect 05:46:02.477539 Received DATA (on stdin) 05:46:02.477557 > 146 bytes data, server => client 05:46:02.477570 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:02.477581 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:02.477591 '220 \___|\___/|_| \_\_____|\r\n' 05:46:02.477688 < 16 bytes data, client => server 05:46:02.477705 'USER anonymous\r\n' 05:46:02.477906 Received DATA (on stdin) 05:46:02.477919 > 33 bytes data, server => client 05:46:02.477930 '331 We are happy you popped in!\r\n' 05:46:02.477986 < 22 bytes data, client => server 05:46:02.478000 'PASS ftp@example.com\r\n' 05:46:02.478124 Received DATA (on stdin) 05:46:02.478138 > 30 bytes data, server => client 05:46:02.478148 '230 Welcome you silly person\r\n' 05:46:02.478204 < 5 bytes data, client => server 05:46:02.478219 'PWD\r\n' 05:46:02.478350 Received DATA (on stdin) 05:46:02.478364 > 30 bytes data, server => client 05:46:02.478375 '257 "/" is current directory\r\n' 05:46:02.478441 < 6 bytes data, client => server 05:46:02.478456 'EPSV\r\n' 05:46:02.493674 Received DATA (on stdin) 05:46:02.493702 > 39 bytes data, server => client 05:46:02.493714 '229 Entering Passive Mode (|||38213|)\r\n' 05:46:02.494034 < 8 bytes data, client => server 05:46:02.494046 'TYPE I\r\n' 05:46:02.494193 Received DATA (on stdin) 05:46:02.494204 > 33 bytes data, server => client 05:46:02.494215 '200 I modify TYPE as you wanted\r\n' 05:46:02.494264 < 21 bytes data, client => server 05:46:02.494275 'SIZE verifiedserver\r\n' 05:46:02.494379 Received DATA (on stdin) 05:46:02.494389 > 8 bytes data, server => client 05:46:02.494399 '213 17\r\n' 05:46:02.494442 < 21 bytes data, client => server 05:46:02.494452 'RETR verifiedserver\r\n' 05:46:02.495152 Received DATA (on stdin) 05:46:02.495164 > 29 bytes data, server => client 05:46:02.495174 '150 Binary junk (17 bytes).\r\n' 05:46:02.495194 Received DATA (on stdin) 05:46:02.495203 > 28 bytes data, server => client 05:46:02.495213 '226 File transfer complete\r\n' 05:46:02.540602 < 6 bytes data, client => server 05:46:02.540648 'QUIT\r\n' 05:46:02.540924 Received DATA (on stdin) 05:46:02.540940 > 18 bytes data, server => client 05:46:02.540952 '221 bye bye baby\r\n' 05:46:02.542224 ====> Client disconnect 05:46:02.542432 Received ACKD (on stdiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind248 ../src/curl -q --output log/15/curl248.out --include --trace-ascii log/15/trace248 --trace-time ftp://127.0.0.1:35349/248 -T log/15/test248.txt -z "apr 1 2005 08:00:00" > log/15/stdout248 2> log/15/stderr248 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind245 ../src/curl -q --output log/8/curl245.out --include --trace-ascii log/8/trace245 --trace-time http://127.0.0.1:45623/245 -u auser:apasswd --digest -d "junkelijunk" > log/8/stdout245 2> log/8/stderr245 n) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:02.484438 Running IPv4 version 05:46:02.484515 Listening on port 38213 05:46:02.484556 Wrote pid 90255 to log/24/server/ftp_sockdata.pid 05:46:02.490337 Received PING (on stdin) 05:46:02.490502 Received PORT (on stdin) 05:46:02.493923 ====> Client connect 05:46:02.494677 Received DATA (on stdin) 05:46:02.494688 > 17 bytes data, server => client 05:46:02.494698 'WE ROOLZ: 81530\r\n' 05:46:02.494725 Received DISC (on stdin) 05:46:02.494737 ====> Client forcibly disconnected 05:46:02.494821 Received QUIT (on stdin) 05:46:02.494832 quits 05:46:02.494904 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==90305== ==90305== Process terminating with default action of signal 4 (SIGILL) ==90305== Illegal opcode at address 0x4014883 ==90305== at 0x4014883: getparameter (tool_getparam.c:2899) ==90305== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90305== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90305== by 0x4004208: main (tool_main.c:189) === End of file valgrind244 test 0248...[FTP upload time condition evaluates FALSE => upload anyway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind248 ../src/curl -q --output log/15/curl248.out --include --trace-ascii log/15/trace248 --trace-time ftp://127.0.0.1:35349/248 -T log/15/test248.txt -z "apr 1 2005 08:00:00" > log/15/stdout248 2> log/15/stderr248 248: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind248 ../src/curl -q --output log/15/curl248.out --include --trace-ascii log/15/trace248 --trace-time ftp://127.0.0.1:35349/248 -T log/15/test248.txt -z "apr 1 2005 08:00:00" > log/15/stdout248 2> log/15/stderr248 === End of file commands.log === Start of file ftp_server.log 05:46:02.454861 ====> Client connect 05:46:02.455041 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:02.455345 < "USER anonymous" 05:46:02.455385 > "331 We are happy you popped in![CR][LF]" 05:46:02.455573 < "PASS ftp@example.com" 05:46:02.456834 > "230 Welcome you silly person[CR][LF]" 05:46:02.465829 < "PWD" 05:46:02.465893 > "257 "/" is current directory[CR][LF]" 05:46:02.466073 < "EPSV" 05:46:02.466099 ====> Passive DATA channel requested by client 05:46:02.466114 DATA sockfilt for passive data channel starting... 05:46:02.468308 DATA sockfilt for passive data channel started (pid 90578) 05:46:02.468430 DATA sockfilt for passive data channel listens on port 36873 05:46:02.468481 > "229 Entering Passive Mode (|||36873|)[CR][LF]" 05:46:02.468502 Client has been notified that DATA conn will be accepted on port 36873 05:46:02.469752 Client connects to port 36873 05:46:02.469791 ====> Client established passive DATA connection on port 36873 05:46:02.469879 < "TYPE I" 05:46:02.469916 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:02.470150 < "SIZE verifiedserver" 05:46:02.470192 > "213 17[CR][LF]" 05:46:02.470399 < "RETR verifiedserver" 05:46:02.470440 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:02.470538 =====> Closing passive DATA connection... 05:46:02.470561 Server disconnects passive DATA connection 05:46:02.472513 Server disconnected passive DATA connection 05:46:02.472573 DATA sockfilt for passive data channel quits (pid 90578) 05:46:02.472895 DATA sockfilt for passive data channel quit (pid 90578) 05:46:02.472925 =====> Closed passive DATA connection 05:46:02.472957 > "226 File transfer complete[CR][LF]" 05:46:02.520152 < "QUIT" 05:46:02.520215 > "221 bye bye baby[CR][LF]" 05:46:02.521072 MAIN sockfilt said DISC 05:46:02.521104 ====> Client disconnected 05:46:02.521181 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:02.916181 ====> Client connect 05:46:02.916524 Received DATA (on stdin) 05:46:02.916539 > 146 bytes data, server => client 05:46:02.916551 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:02.916562 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:02.916571 '220 \___|\___/|_| \_\_____|\r\n' 05:46:02.916651 < 16 bytes data, client => server 05:46:02.916666 'USER anonymous\r\n' 05:46:02.916854 Received DATA (on stdin) 05:46:02.916867 > 33 bytes data, server => client 05:46:02.916878 '331 We are happy you popped in!\r\n' 05:46:02.916933 < 22 bytes data, client => server 05:46:02.916945 'PASS ftp@example.com\r\n' 05:46:02.918306 Received DATA (on stdin) 05:46:02.921428 > 30 bytes data, server => client 05:46:02.921448 '230 Welcome you silly person\r\n' 05:46:02.927090 < 5 bytes data, client => server 05:46:02.927119 'PWD\r\n' 05:46:02.927361 Received DATA (on stdin) 05:46:02.927373 > 30 bytes data, server => client 05:46:02.927383 '257 "/" is current directory\r\n' 05:46:02.927450 < 6 bytes data, client => server 05:46:02.927462 'EPSV\r\n' 05:46:02.929992 Received DATA (on stdin) 05:46:02.930005 > 39 bytes data, server => client 05:46:02.930024 '229 Entering Passive Mode (|||36873|)\r\n' 05:46:02.930860 < 8 bytes data, client => server 05:46:02.930878 'TYPE I\r\n' 05:46:02.931410 Received DATA (on stdin) 05:46:02.931424 > 33 bytes data, server => client 05:46:02.931434 '200 I modify TYPE as you wanted\r\n' 05:46:02.931492 < 21 bytes data, client => server 05:46:02.931531 'SIZE verifiedserver\r\n' 05:46:02.931660 Received DATA (on stdin) 05:46:02.931673 > 8 bytes data, server => client 05:46:02.931684 '213 17\r\n' 05:46:02.931767 < 21 bytes data, client => server 05:46:02.931782 'RETR verifiedserver\r\n' 05:46:02.933663 Received DATA (on stdin) 05:46:02.933684 > 29 bytes data, server => client 05:46:02.933696 '150 Binary junk (17 bytes).\r\n' 05:46:02.934426 Received DATA (on stdin) 05:46:02.934439 > 28 bytes data, server => client 05:46:02.934450 '226 File transfer complete\r\n' 05:46:02.981220 < 6 bytes data, client => server 05:46:02.981249 'QUIT\r\n' 05:46:02.981686 Received DATA (on stdin) 05:46:02.981699 > 18 bytes data, server => client 05:46:02.981709 '221 bye bye baby\r\n' 05:46:02.982484 ====> Client disconnect 05:46:02.982647 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:02.929033 Running IPv4 version 05:46:02.929602 Listening on port 36873 05:46:02.929672 Wrote pid 90578 to log/15/server/ftp_sockdata.pid 05:46:02.929717 Received PING (on stdin) 05:46:02.929800 Received PORT (on stdin) 05:46:02.930923 ====> Client connect 05:46:02.933793 Received DATA (on stdin) 05:46:02.933810 > 17 bytes data, server => client 05:46:02.933821 'WE ROOLZ: 81070\r\n' 05:46:02.933851 Received DISC (on stdin) 05:46:02.933864 ====> Client forcibly disconnected 05:46:02.934052 Received QUIT (on stdin) 05:46:02.934065 quits 05:46:02.934144 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 248 === End of file server.cmd === Start of file test248.txt data to see that FTP works so does it? === End of file test248.txt === Start of file valgrind248 ==90615== ==90615== Process terminating with default action of signal 4 (SIGILL) ==90615== Illegal opcode at address 0x4014883 ==90615== at 0x4014883: getparameter (tool_getparam.c:2899) ==90615== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90615== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90615== by 0x4004208: main (tool_main.c:189) === End of file valgrind248 test 0245...[HTTP POSTCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind241 ../src/curl -q --output log/9/curl241.out --include --trace-ascii log/9/trace241 --trace-time -g "http://ip6-localhost:36581/241" > log/9/stdout241 2> log/9/stderr241 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind251 ../src/curl -q --output log/12/curl251.out --include --trace-ascii log/12/trace251 --trace-time ftp://127.0.0.1:33915/ -P 127.0.0.1 > log/12/stdout251 2> log/12/stderr251 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind247 ../src/curl -q --output log/10/curl247.out --include --trace-ascii log/10/trace247 --trace-time ftp://127.0.0.1:32809/247 -T log/10/test247.txt -z "apr 1 2005 08:00:00" > log/10/stdout247 2> log/10/stderr247 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind249 ../src/curl -q --output log/23/curl249.out --include --trace-ascii log/23/trace249 --trace-time http://127.0.0.1:33217/249 -z "dec 12 12:00:00 1999 GMT" > log/23/stdout249 2> log/23/stderr249 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind250 ../src/curl -q --output log/11/curl250.out --include --trace log/11/trace250 --trace-time ftp://127.0.0.1:37471/ > log/11/stdout250 2> log/11/stderr250 --digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind245 ../src/curl -q --output log/8/curl245.out --include --trace-ascii log/8/trace245 --trace-time http://127.0.0.1:45623/245 -u auser:apasswd --digest -d "junkelijunk" > log/8/stdout245 2> log/8/stderr245 245: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind245 ../src/curl -q --output log/8/curl245.out --include --trace-ascii log/8/trace245 --trace-time http://127.0.0.1:45623/245 -u auser:apasswd --digest -d "junkelijunk" > log/8/stdout245 2> log/8/stderr245 === End of file commands.log === Start of file http_server.log 05:46:01.540499 ====> Client connect 05:46:01.540533 accept_connection 3 returned 4 05:46:01.540549 accept_connection 3 returned 0 05:46:01.540689 Read 93 bytes 05:46:01.540701 Process 93 bytes request 05:46:01.540715 Got request: GET /verifiedserver HTTP/1.1 05:46:01.540724 Are-we-friendly question received 05:46:01.540783 Wrote request (93 bytes) input to log/8/server.input 05:46:01.540802 Identifying ourselves as friends 05:46:01.540856 Response sent (56 bytes) and written to log/8/server.response 05:46:01.540865 special request received, no persistency 05:46:01.540874 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51110 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind245 ==90332== ==90332== Process terminating with default action of signal 4 (SIGILL) ==90332== Illegal opcode at address 0x4014883 ==90332== at 0x4014883: getparameter (tool_getparam.c:2899) ==90332== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90332== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90332== by 0x4004208: main (tool_main.c:189) === End of file valgrind245 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_ipv6_server.pid" --logfile "log/9/http_ipv6_server.log" --logdir "log/9" --portfile log/9/server/http_ipv6_server.port --config log/9/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 90160 port 36581 * pid http-ipv6 => 90160 90160 prechecked ./server/servers resolve --ipv6 ip6-localhost test 0241...[HTTP-IPv6 GET (using ip6-localhost)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind241 ../src/curl -q --output log/9/curl241.out --include --trace-ascii log/9/trace241 --trace-time -g "http://ip6-localhost:36581/241" > log/9/stdout241 2> log/9/stderr241 241: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 241 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind241 ../src/curl -q --output log/9/curl241.out --include --trace-ascii log/9/trace241 --trace-time -g "http://ip6-localhost:36581/241" > log/9/stdout241 2> log/9/stderr241 === End of file commands.log === Start of file http_ipv6_server.log 05:46:01.091097 Running HTTP IPv6 version on port 36581 05:46:01.091239 Wrote pid 90160 to log/9/server/http_ipv6_server.pid 05:46:01.091288 Wrote port 36581 to log/9/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 241 === End of file server.cmd === Start of file valgrind241 ==90724== ==90724== Process terminating with default action of signal 4 (SIGILL) ==90724== Illegal opcode at address 0x4014883 ==90724== at 0x4014883: getparameter (tool_getparam.c:2899) ==90724== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90724== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90724== by 0x4004208: main (tool_main.c:189) === End of file valgrind241 test 0247...[FTP upload time condition evaluates TRUE => skip upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind247 ../src/curl -q --output log/10/curl247.out --include --trace-ascii log/10/trace247 --trace-time ftp://127.0.0.1:32809/247 -T log/10/test247.txt -z "apr 1 2005 08:00:00" > log/10/stdout247 2> log/10/stderr247 247: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind247 ../src/curl -q --output log/10/curl247.out --include --trace-ascii log/10/trace247 --trace-time ftp://127.0.0.1:32809/247 -T log/10/test247.txt -z "apr 1 2005 08:00:00" > log/10/stdout247 2> log/10/stderr247 === End of file commands.log === Start of file ftp_server.log 05:46:02.209927 ====> Client connect 05:46:02.210113 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:02.210431 < "USER anonymous" 05:46:02.210473 > "331 We are happy you popped in![CR][LF]" 05:46:02.210672 < "PASS ftp@example.com" 05:46:02.210706 > "230 Welcome you silly person[CR][LF]" 05:46:02.210892 < "PWD" 05:46:02.210934 > "257 "/" is current directory[CR][LF]" 05:46:02.211129 < "EPSV" 05:46:02.211158 ====> Passive DATA channel requested by client 05:46:02.211176 DATA sockfilt for passive data channel starting... 05:46:02.219126 DATA sockfilt for passive data channel started (pid 90413) 05:46:02.219253 DATA sockfilt for passive data channel listens on port 33635 05:46:02.219295 > "229 Entering Passive Mode (|||33635|)[CR][LF]" 05:46:02.219310 Client has been notified that DATA conn will be accepted on port 33635 05:46:02.219581 Client connects to port 33635 05:46:02.219606 ====> Client established passive DATA connection on port 33635 05:46:02.219686 < "TYPE I" 05:46:02.219713 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:02.219837 < "SIZE verifiedserver" 05:46:02.219869 > "213 17[CR][LF]" 05:46:02.219983 < "RETR verifiedserver" 05:46:02.220011 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:02.220087 =====> Closing passive DATA connection... 05:46:02.220101 Server disconnects passive DATA connection 05:46:02.220296 Server disconnected passive DATA connection 05:46:02.220318 DATA sockfilt for passive data channel quits (pid 90413) 05:46:02.220530 DATA sockfilt for passive data channel quit (pid 90413) 05:46:02.220551 =====> Closed passive DATA connection 05:46:02.220571 > "226 File transfer complete[CR][LF]" 05:46:02.269258 < "QUIT" 05:46:02.269329 > "221 bye bye baby[CR][LF]" 05:46:02.270580 MAIN sockfilt said DISC 05:46:02.270619 ====> Client disconnected 05:46:02.270901 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:02.671248 ====> Client connect 05:46:02.671597 Received DATA (on stdin) 05:46:02.671614 > 146 bytes data, server => client 05:46:02.671627 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:02.671639 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:02.671649 '220 \___|\___/|_| \_\_____|\r\n' 05:46:02.671731 < 16 bytes data, client => server 05:46:02.671748 'USER anonymous\r\n' 05:46:02.671948 Received DATA (on stdin) 05:46:02.671962 > 33 bytes data, server => client 05:46:02.671974 '331 We are happy you popped in!\r\n' 05:46:02.672032 < 22 bytes data, client => server 05:46:02.672048 'PASS ftp@example.com\r\n' 05:46:02.672177 Received DATA (on stdin) 05:46:02.672191 > 30 bytes data, server => client 05:46:02.672202 '230 Welcome you silly person\r\n' 05:46:02.672258 < 5 bytes data, client => server 05:46:02.672273 'PWD\r\n' 05:46:02.672405 Received DATA (on stdin) 05:46:02.672418 > 30 bytes data, server => client 05:46:02.672430 '257 "/" is current directory\r\n' 05:46:02.672497 < 6 bytes data, client => server 05:46:02.672511 'EPSV\r\n' 05:46:02.680779 Received DATA (on stdin) 05:46:02.680794 > 39 bytes data, server => client 05:46:02.680803 '229 Entering Passive Mode (|||33635|)\r\n' 05:46:02.680974 < 8 bytes data, client => server 05:46:02.680985 'TYPE I\r\n' 05:46:02.681174 Received DATA (on stdin) 05:46:02.681183 > 33 bytes data, server => client 05:46:02.681192 '200 I modify TYPE as you wanted\r\n' 05:46:02.681232 < 21 bytes data, client => server 05:46:02.681240 'SIZE verifiedserver\r\n' 05:46:02.681328 Received DATA (on stdin) 05:46:02.681336 > 8 bytes data, server => client 05:46:02.681344 '213 17\r\n' 05:46:02.681381 < 21 bytes data, client => server 05:46:02.681388 'RETR verifiedserver\r\n' 05:46:02.681561 Received DATA (on stdin) 05:46:02.681570 > 29 bytes data, server => client 05:46:02.681578 '150 Binary junk (17 bytes).\r\n' 05:46:02.682030 Received DATA (on stdin) 05:46:02.682041 > 28 bytes data, server => client 05:46:02.682049 '226 File transfer complete\r\n' 05:46:02.730460 < 6 bytes data, client => server 05:46:02.730500 'QUIT\r\n' 05:46:02.730798 Received DATA (on stdin) 05:46:02.730811 > 18 bytes data, server => client 05:46:02.730821 '221 bye bye baby\r\n' 05:46:02.731993 ====> Client disconnect 05:46:02.732268 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:02.678347 Running IPv4 version 05:46:02.678448 Listening on port 33635 05:46:02.678486 Wrote pid 90413 to log/10/server/ftp_sockdata.pid 05:46:02.680503 Received PING (on stdin) 05:46:02.680625 Received PORT (on stdin) 05:46:02.681001 ====> Client connect 05:46:02.681626 Received DATA (on stdin) 05:46:02.681637 > 17 bytes data, server => client 05:46:02.681645 'WE ROOLZ: 81057\r\n' 05:46:02.681665 Received DISC (on stdin) 05:46:02.681674 ====> Client forcibly disconnected 05:46:02.681783 Received QUIT (on stdin) 05:46:02.681791 quits 05:46:02.681856 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 247 === End of file server.cmd === Start of file test247.txt data to see that FTP works so does it? === End of file test247.txt === Start of file valgrind247 ==90482== ==90482== Process terminating with default action of signal 4 (SIGILL) ==90482== Illegal opcode at address 0x4014883 ==90482== at 0x4014883: getparameter (tool_getparam.c:2899) ==90482== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90482== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90482== by 0x4004208: main (tool_main.c:189) === End of file valgrind247 test 0250...[FTP dir list PASV with slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind250 ../src/curl -q --output log/11/curl250.out --include --trace log/11/trace250 --trace-time ftp://127.0.0.1:37471/ > log/11/stdout250 2> log/11/stderr250 250: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind250 ../src/curl -q --output log/11/curl250.out --include --trace log/11/trace250 --trace-time ftp://127.0.0.1:37471/ > log/11/stdout250 2> log/11/stderr250 === End of file commands.log === Start of file ftp_server.log 05:46:02.627539 ====> Client connect 05:46:02.627694 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:02.627976 < "USER anonymous" 05:46:02.628013 > "331 We are happy you popped in![CR][LF]" 05:46:02.628186 < "PASS ftp@example.com" 05:46:02.628217 > "230 Welcome you silly person[CR][LF]" 05:46:02.628383 < "PWD" 05:46:02.628416 > "257 "/" is current directory[CR][LF]" 05:46:02.628590 < "EPSV" 05:46:02.628615 ====> Passive DATA channel requested by client 05:46:02.628631 DATA sockfilt for passive data channel starting... 05:46:02.636860 DATA sockfilt for passive data channel started (pid 90695) 05:46:02.639039 DATA sockfilt for passive data channel listens on port 45035 05:46:02.639122 > "229 Entering Passive Mode (|||45035|)[CR][LF]" 05:46:02.639143 Client has been notified that DATA conn will be accepted on port 45035 05:46:02.642575 Client connects to port 45035 05:46:02.642634 ====> Client established passive DATA connection on port 45035 05:46:02.642759 < "TYPE I" 05:46:02.642796 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:02.642959 < "SIZE verifiedserver" 05:46:02.643006 > "213 17[CR][LF]" 05:46:02.655732 < "RETR verifiedserver" 05:46:02.659289 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:02.659412 =====> Closing passive DATA connection... 05:46:02.659430 Server disconnects passive DATA connection 05:46:02.663212 Server disconnected passive DATA connection 05:46:02.663253 DATA sockfilt for passive data channel quits (pid 90695) 05:46:02.672262 DATA sockfilt for passive data channel quit (pid 90695) 05:46:02.672372 =====> Closed passive DATA connection 05:46:02.672418 > "226 File transfer complete[CR][LF]" 05:46:02.709187 < "QUIT" 05:46:02.709242 > "221 bye bye baby[CR][LF]" 05:46:02.710545 MAIN sockfilt said DISC 05:46:02.710590 ====> Client disconnected 05:46:02.710678 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:03.088897 ====> Client connect 05:46:03.089172 Received DATA (on stdin) 05:46:03.089186 > 146 bytes data, server => client 05:46:03.089199 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:03.089209 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:03.089218 '220 \___|\___/|_| \_\_____|\r\n' 05:46:03.089292 < 16 bytes data, client => server 05:46:03.089306 'USER anonymous\r\n' 05:46:03.089480 Received DATA (on stdin) 05:46:03.089492 > 33 bytes data, server => client 05:46:03.089503 '331 We are happy you popped in!\r\n' 05:46:03.089556 < 22 bytes data, client => server 05:46:03.089570 'PASS ftp@example.com\r\n' 05:46:03.089683 Received DATA (on stdin) 05:46:03.089695 > 30 bytes data, server => client 05:46:03.089706 '230 Welcome you silly person\r\n' 05:46:03.089757 < 5 bytes data, client => server 05:46:03.089770 'PWD\r\n' 05:46:03.089882 Received DATA (on stdin) 05:46:03.089894 > 30 bytes data, server => client 05:46:03.089904 '257 "/" is current directory\r\n' 05:46:03.089965 < 6 bytes data, client => server 05:46:03.089978 'EPSV\r\n' 05:46:03.103671 Received DATA (on stdin) 05:46:03.103712 > 39 bytes data, server => client 05:46:03.103724 '229 Entering Passive Mode (|||45035|)\r\n' 05:46:03.103930 < 8 bytes data, client => server 05:46:03.103945 'TYPE I\r\n' 05:46:03.104263 Received DATA (on stdin) 05:46:03.104275 > 33 bytes data, server => client 05:46:03.104285 '200 I modify TYPE as you wanted\r\n' 05:46:03.104336 < 21 bytes data, client => server 05:46:03.104347 'SIZE verifiedserver\r\n' 05:46:03.104469 Received DATA (on stdin) 05:46:03.104480 > 8 bytes data, server => client 05:46:03.104489 '213 17\r\n' 05:46:03.104537 < 21 bytes data, client => server 05:46:03.104547 'RETR verifiedserver\r\n' 05:46:03.120875 Received DATA (on stdin) 05:46:03.123751 > 29 bytes data, server => client 05:46:03.123765 '150 Binary junk (17 bytes).\r\n' 05:46:03.133899 Received DATA (on stdin) 05:46:03.133920 > 28 bytes data, server => client 05:46:03.133931 '226 File transfer complete\r\n' 05:46:03.170484 < 6 bytes data, client => server 05:46:03.170510 'QUIT\r\n' 05:46:03.170708 Received DATA (on stdin) 05:46:03.170720 > 18 bytes data, server => client 05:46:03.170729 '221 bye bye baby\r\n' 05:46:03.171949 ====> Client disconnect 05:46:03.172147 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:02.092115 Running IPv4 version 05:46:02.092212 Listening on port 45035 05:46:02.092256 Wrote pid 90695 to log/11/server/ftp_sockdata.pid 05:46:02.097022 Received PING (on stdin) 05:46:02.100340 Received PORT (on stdin) 05:46:02.103971 ====> Client connect 05:46:02.120792 Received DATA (on stdin) 05:46:02.120819 > 17 bytes data, server => client 05:46:02.120830 'WE ROOLZ: 81984\r\n' 05:46:02.123687 Received DISC (on stdin) 05:46:02.123713 ====> Client forcibly disconnected 05:46:02.127007 Received QUIT (on stdin) 05:46:02.127032 quits 05:46:02.127137 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 250 === End of file server.cmd === Start of file valgrind250 ==90807== ==90807== Process terminating with default action of signal 4 (SIGILL) ==90807== Illegal opcode at address 0x4014883 ==90807== at 0x4014883: getparameter (tool_getparam.c:2899) ==90807== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90807== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90807== by 0x4004208: main (tool_main.c:189) === End of file valgrind250 test 0251...[FTP dir list, PORT with specified IP and slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind251 ../src/curl -q --output log/12/curl251.out --include --trace-ascii log/12/trace251 --trace-time ftp://127.0.0.1:33915/ -P 127.0.0.1 > log/12/stdout251 2> log/12/stderr251 251: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind251 ../src/curl -q --output log/12/curl251.out --include --trace-ascii log/12/trace251 --trace-time ftp://127.0.0.1:33915/ -P 127.0.0.1 > log/12/stdout251 2> log/12/stderr251 === End of file commands.log === Start of file ftp_server.log 05:46:02.603728 ====> Client connect 05:46:02.603915 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:02.604213 < "USER anonymous" 05:46:02.604251 > "331 We are happy you popped in![CR][LF]" 05:46:02.604430 < "PASS ftp@example.com" 05:46:02.604463 > "230 Welcome you silly person[CR][LF]" 05:46:02.604641 < "PWD" 05:46:02.604677 > "257 "/" is current directory[CR][LF]" 05:46:02.604869 < "EPSV" 05:46:02.604899 ====> Passive DATA channel requested by client 05:46:02.604917 DATA sockfilt for passive data channel starting... 05:46:02.613399 DATA sockfilt for passive data channel started (pid 90684) 05:46:02.613552 DATA sockfilt for passive data channel listens on port 37797 05:46:02.613613 > "229 Entering Passive Mode (|||37797|)[CR][LF]" 05:46:02.613636 Client has been notified that DATA conn will be accepted on port 37797 05:46:02.613969 Client connects to port 37797 05:46:02.614002 ====> Client established passive DATA connection on port 37797 05:46:02.614099 < "TYPE I" 05:46:02.614134 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:02.614303 < "SIZE verifiedserver" 05:46:02.614343 > "213 17[CR][LF]" 05:46:02.614504 < "RETR verifiedserver" 05:46:02.614538 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:02.614627 =====> Closing passive DATA connection... 05:46:02.614645 Server disconnects passive DATA connection 05:46:02.614805 Server disconnected passive DATA connection 05:46:02.614829 DATA sockfilt for passive data channel quits (pid 90684) 05:46:02.615168 DATA sockfilt for passive data channel quit (pid 90684) 05:46:02.615198 =====> Closed passive DATA connection 05:46:02.615225 > "226 File transfer complete[CR][LF]" 05:46:02.659213 < "QUIT" 05:46:02.659276 > "221 bye bye baby[CR][LF]" 05:46:02.660549 MAIN sockfilt said DISC 05:46:02.660579 ====> Client disconnected 05:46:02.660685 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:03.065061 ====> Client connect 05:46:03.065398 Received DATA (on stdin) 05:46:03.065414 > 146 bytes data, server => client 05:46:03.065427 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:03.065437 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:03.065447 '220 \___|\___/|_| \_\_____|\r\n' 05:46:03.065525 < 16 bytes data, client => server 05:46:03.065540 'USER anonymous\r\n' 05:46:03.065721 Received DATA (on stdin) 05:46:03.065734 > 33 bytes data, server => client 05:46:03.065744 '331 We are happy you popped in!\r\n' 05:46:03.065799 < 22 bytes data, client => server 05:46:03.065812 'PASS ftp@example.com\r\n' 05:46:03.065928 Received DATA (on stdin) 05:46:03.065941 > 30 bytes data, server => client 05:46:03.065951 '230 Welcome you silly person\r\n' 05:46:03.066007 < 5 bytes data, client => server 05:46:03.066022 'PWD\r\n' 05:46:03.066145 Received DATA (on stdin) 05:46:03.066158 > 30 bytes data, server => client 05:46:03.066168 '257 "/" is current directory\r\n' 05:46:03.066234 < 6 bytes data, client => server 05:46:03.066250 'EPSV\r\n' 05:46:03.075116 Received DATA (on stdin) 05:46:03.075134 > 39 bytes data, server => client 05:46:03.075146 '229 Entering Passive Mode (|||37797|)\r\n' 05:46:03.075372 < 8 bytes data, client => server 05:46:03.075386 'TYPE I\r\n' 05:46:03.075600 Received DATA (on stdin) 05:46:03.075613 > 33 bytes data, server => client 05:46:03.075625 '200 I modify TYPE as you wanted\r\n' 05:46:03.075680 < 21 bytes data, client => server 05:46:03.075691 'SIZE verifiedserver\r\n' 05:46:03.075811 Received DATA (on stdin) 05:46:03.075823 > 8 bytes data, server => client 05:46:03.075833 '213 17\r\n' 05:46:03.075884 < 21 bytes data, client => server 05:46:03.075894 'RETR verifiedserver\r\n' 05:46:03.076198 Received DATA (on stdin) 05:46:03.076212 > 29 bytes data, server => client 05:46:03.076223 '150 Binary junk (17 bytes).\r\n' 05:46:03.076691 Received DATA (on stdin) 05:46:03.076705 > 28 bytes data, server => client 05:46:03.076716 '226 File transfer complete\r\n' 05:46:03.120485 < 6 bytes data, client => server 05:46:03.120519 'QUIT\r\n' 05:46:03.120752 Received DATA (on stdin) 05:46:03.120767 > 18 bytes data, server => client 05:46:03.120777 '221 bye bye baby\r\n' 05:46:03.121960 ====> Client disconnect 05:46:03.122149 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:02.074492 Running IPv4 version 05:46:02.074579 Listening on port 37797 05:46:02.074618 Wrote pid 90684 to log/12/server/ftp_sockdata.pid CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind238 ../src/curl -q --output log/20/curl238.out --include --trace-ascii log/20/trace238 --trace-time ftp://127.0.0.1:46185/238 > log/20/stdout238 2> log/20/stderr238 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind240 ../src/curl -q --output log/19/curl240.out --include --trace-ascii log/19/trace240 --trace-time -g "http://[::1]:39741/240" > log/19/stdout240 2> log/19/stderr240 05:46:02.074799 Received PING (on stdin) 05:46:02.074910 Received PORT (on stdin) 05:46:02.075339 ====> Client connect 05:46:02.076111 Received DATA (on stdin) 05:46:02.076123 > 17 bytes data, server => client 05:46:02.076133 'WE ROOLZ: 81072\r\n' 05:46:02.076160 Received DISC (on stdin) 05:46:02.076172 ====> Client forcibly disconnected 05:46:02.076300 Received QUIT (on stdin) 05:46:02.076311 quits 05:46:02.076371 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 251 === End of file server.cmd === Start of file valgrind251 ==90769== ==90769== Process terminating with default action of signal 4 (SIGILL) ==90769== Illegal opcode at address 0x4014883 ==90769== at 0x4014883: getparameter (tool_getparam.c:2899) ==90769== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90769== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90769== by 0x4004208: main (tool_main.c:189) === End of file valgrind251 test 0249...[HTTP 304 response with "illegal" Content-Length: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind249 ../src/curl -q --output log/23/curl249.out --include --trace-ascii log/23/trace249 --trace-time http://127.0.0.1:33217/249 -z "dec 12 12:00:00 1999 GMT" > log/23/stdout249 2> log/23/stderr249 249: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind249 ../src/curl -q --output log/23/curl249.out --include --trace-ascii log/23/trace249 --trace-time http://127.0.0.1:33217/249 -z "dec 12 12:00:00 1999 GMT" > log/23/stdout249 2> log/23/stderr249 === End of file commands.log === Start of file http_server.log 05:46:03.067775 ====> Client connect 05:46:03.067812 accept_connection 3 returned 4 05:46:03.067830 accept_connection 3 returned 0 05:46:03.067845 Read 93 bytes 05:46:03.067855 Process 93 bytes request 05:46:03.067869 Got request: GET /verifiedserver HTTP/1.1 05:46:03.067879 Are-we-friendly question received 05:46:03.067910 Wrote request (93 bytes) input to log/23/server.input 05:46:03.067929 Identifying ourselves as friends 05:46:03.067992 Response sent (56 bytes) and written to log/23/server.response 05:46:03.068003 special request received, no persistency 05:46:03.068011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 51280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind249 ==90691== ==90691== Process terminating with default action of signal 4 (SIGILL) ==90691== Illegal opcode at address 0x4014883 ==90691== at 0x4014883: getparameter (tool_getparam.c:2899) ==90691== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90691== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90691== by 0x4004208: main (tool_main.c:189) === End of file valgrind249 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/ftp_server.pid" --logfile "log/20/ftp_server.log" --logdir "log/20" --portfile "log/20/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46185 (log/20/server/ftp_server.port) RUN: FTP server is PID 89997 port 46185 * pid ftp => 89997 89997 test 0238...[FTP getting bad port in response to EPSV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind238 ../src/curl -q --output log/20/curl238.out --include --trace-ascii log/20/trace238 --trace-time ftp://127.0.0.1:46185/238 > log/20/stdout238 2> log/20/stderr238 238: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind238 ../src/curl -q --output log/20/curl238.out --include --trace-ascii log/20/trace238 --trace-time ftp://127.0.0.1:46185/238 > log/20/stdout238 2> log/20/stderr238 === End of file commands.log === Start of file ftp_server.log 05:46:01.449310 FTP server listens on port IPv4/46185 05:46:01.449435 logged pid 89997 in log/20/server/ftp_server.pid 05:46:01.449469 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:01.904425 Running IPv4 version 05:46:01.904496 Listening on port 46185 05:46:01.904531 Wrote pid 90056 to log/20/server/ftp_sockctrl.pid 05:46:01.904558 Wrote port 46185 to log/20/server/ftp_server.port 05:46:01.910573 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 229 Entering Passive Mode (|||1000000|) Testnum 238 === End of file server.cmd === Start of file valgrind238 ==90516== ==90516== Process terminating with default action of signal 4 (SIGILL) ==90516== Illegal opcode at address 0x4014883 ==90516== at 0x4014883: getparameter (tool_getparam.c:2899) ==90516== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90516== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90516== by 0x4004208: main (tool_main.c:189) === End of file valgrind238 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_ipv6_server.pid" --logfile "log/19/http_ipv6_server.log" --logdir "log/19" --portfile log/19/server/http_ipv6_server.port --config log/19/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 90146 port 39741 * pid http-ipv6 => 90146 90146 test 0240...[HTTP-IPv6 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind240 ../src/curl -q --output log/19/curl240.out --include --trace-ascii log/19/trace240 --trace-time -g "http://[::1]:39741/240" > log/19/stdout240 2> log/19/stderr240 240: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind240 ../src/curl -q --output log/19/curl240.out --include --trace-ascii log/19/trace240 --trace-time -g "http://[::1]:39741/240" > log/19/stdout240 2> log/19/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 05:46:01.097903 Running HTTP IPv6 version on port 39741 05:46:01.098012 Wrote pid 90146 to log/19/server/http_ipv6_server.pid 05:46:01.098043 Wrote port 39741 to log/19/server/http_ipv6_server.port === End of file http_ipv6_server.log === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind257 ../src/curl -q --output log/7/curl257.out --include --trace-ascii log/7/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:39013 --netrc-optional --netrc-file log/7/netrc257 > log/7/stdout257 2> log/7/stderr257 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind258 ../src/curl -q --output log/16/curl258.out --include --trace-ascii log/16/trace258 --trace-time -x http://127.0.0.1:44673 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/16/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/16/stdout258 2> log/16/stderr258 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind260 ../src/curl -q --output log/4/curl260.out --include --trace-ascii log/4/trace260 --trace-time "http://127.0.0.1:40253?260" > log/4/stdout260 2> log/4/stderr260 art of file server.cmd Testnum 240 === End of file server.cmd === Start of file valgrind240 ==90701== ==90701== Process terminating with default action of signal 4 (SIGILL) ==90701== Illegal opcode at address 0x4014883 ==90701== at 0x4014883: getparameter (tool_getparam.c:2899) ==90701== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90701== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90701== by 0x4004208: main (tool_main.c:189) === End of file valgrind240 test 0257...[HTTP Location: following with --netrc-optional] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind257 ../src/curl -q --output log/7/curl257.out --include --trace-ascii log/7/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:39013 --netrc-optional --netrc-file log/7/netrc257 > log/7/stdout257 2> log/7/stderr257 257: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind257 ../src/curl -q --output log/7/curl257.out --include --trace-ascii log/7/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:39013 --netrc-optional --netrc-file log/7/netrc257 > log/7/stdout257 2> log/7/stderr257 === End of file commands.log === Start of file http_server.log 05:46:02.602275 ====> Client connect 05:46:02.602306 accept_connection 3 returned 4 05:46:02.602321 accept_connection 3 returned 0 05:46:02.602335 Read 93 bytes 05:46:02.602345 Process 93 bytes request 05:46:02.602358 Got request: GET /verifiedserver HTTP/1.1 05:46:02.602370 Are-we-friendly question received 05:46:02.602395 Wrote request (93 bytes) input to log/7/server.input 05:46:02.602410 Identifying ourselves as friends 05:46:02.602462 Response sent (56 bytes) and written to log/7/server.response 05:46:02.602472 special request received, no persistency 05:46:02.602480 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file netrc257 machine supersite.com login user1 password passwd1 machine anotherone.com login user2 password passwd2 === End of file netrc257 === Start of file server.cmd Testnum 257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind257 ==91098== ==91098== Process terminating with default action of signal 4 (SIGILL) ==91098== Illegal opcode at address 0x4014883 ==91098== at 0x4014883: getparameter (tool_getparam.c:2899) ==91098== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91098== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91098== by 0x4004208: main (tool_main.c:189) === End of file valgrind257 test 0258...[HTTP POST multipart without Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind258 ../src/curl -q --output log/16/curl258.out --include --trace-ascii log/16/trace258 --trace-time -x http://127.0.0.1:44673 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/16/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/16/stdout258 2> log/16/stderr258 258: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind258 ../src/curl -q --output log/16/curl258.out --include --trace-ascii log/16/trace258 --trace-time -x http://127.0.0.1:44673 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/16/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/16/stdout258 2> log/16/stderr258 === End of file commands.log === Start of file http_server.log 05:46:03.627071 ====> Client connect 05:46:03.627116 accept_connection 3 returned 4 05:46:03.627135 accept_connection 3 returned 0 05:46:03.627152 Read 93 bytes 05:46:03.627162 Process 93 bytes request 05:46:03.627176 Got request: GET /verifiedserver HTTP/1.1 05:46:03.627185 Are-we-friendly question received 05:46:03.627210 Wrote request (93 bytes) input to log/16/server.input 05:46:03.627227 Identifying ourselves as friends 05:46:03.627305 Response sent (56 bytes) and written to log/16/server.response 05:46:03.627317 special request received, no persistency 05:46:03.627327 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 42714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file test258.txt foo- This is a moo- bar === End of file test258.txt === Start of file valgrind258 ==91121== ==91121== Process terminating with default action of signal 4 (SIGILL) ==91121== Illegal opcode at address 0x4014883 ==91121== at 0x4014883: getparameter (tool_getparam.c:2899) ==91121== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91121== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91121== by 0x4004208: main (tool_main.c:189) === End of file valgrind258 test 0260...[HTTP GET URL without slash but with question mark] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind260 ../src/curl -q --output log/4/curl260.out --include --trace-ascii log/4/trace260 --trace-time "http://127.0.0.1:40253?260" > log/4/stdout260 2> log/4/stderr260 260: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind260 ../src/curl -q --output log/4/curl260.out --include --trace-ascii log/4/trace260 --trace-time "http://127.0.0.1:40253?260" > log/4/stdout260 2> log/4/stderr260 === End of file commands.log === Start of file http_server.log 05:46:02.923774 ====> Client connect 05:46:02.923820 accept_connection 3 returned 4 05:46:02.923840 accept_connection 3 returned 0 05:46:02.923858 Read 93 bytes 05:46:02.923868 Process 93 bytes request 05CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind242 ../src/curl -q --output log/5/curl242.out --include --trace-ascii log/5/trace242 --trace-time -g "http://foobar:barfoo@[::1]:39509/242" > log/5/stdout242 2> log/5/stderr242 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind256 ../src/curl -q --include --trace-ascii log/3/trace256 --trace-time -x http://127.0.0.1:39591 http://127.0.0.1:39591/want/256 -C - --no-include -o log/3/fewl256.txt -U daniel:stenberg > log/3/stdout256 2> log/3/stderr256 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind262 ../src/curl -q --output log/13/curl262.out --include --trace-ascii log/13/trace262 --trace-time http://127.0.0.1:45359/262 > log/13/stdout262 2> log/13/stderr262 :46:02.923883 Got request: GET /verifiedserver HTTP/1.1 05:46:02.923892 Are-we-friendly question received 05:46:02.923920 Wrote request (93 bytes) input to log/4/server.input 05:46:02.923938 Identifying ourselves as friends 05:46:02.924023 Response sent (56 bytes) and written to log/4/server.response 05:46:02.924035 special request received, no persistency 05:46:02.924044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 260 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind260 ==91287== ==91287== Process terminating with default action of signal 4 (SIGILL) ==91287== Illegal opcode at address 0x4014883 ==91287== at 0x4014883: getparameter (tool_getparam.c:2899) ==91287== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91287== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91287== by 0x4004208: main (tool_main.c:189) === End of file valgrind260 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_ipv6_server.pid" --logfile "log/5/http_ipv6_server.log" --logdir "log/5" --portfile log/5/server/http_ipv6_server.port --config log/5/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 90200 port 39509 * pid http-ipv6 => 90200 90200 test 0242...[HTTP-IPv6 GET with username+password in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind242 ../src/curl -q --output log/5/curl242.out --include --trace-ascii log/5/trace242 --trace-time -g "http://foobar:barfoo@[::1]:39509/242" > log/5/stdout242 2> log/5/stderr242 242: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind242 ../src/curl -q --output log/5/curl242.out --include --trace-ascii log/5/trace242 --trace-time -g "http://foobar:barfoo@[::1]:39509/242" > log/5/stdout242 2> log/5/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 05:46:01.365163 Running HTTP IPv6 version on port 39509 05:46:01.365296 Wrote pid 90200 to log/5/server/http_ipv6_server.pid 05:46:01.365335 Wrote port 39509 to log/5/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 242 === End of file server.cmd === Start of file valgrind242 ==90966== ==90966== Process terminating with default action of signal 4 (SIGILL) ==90966== Illegal opcode at address 0x4014883 ==90966== at 0x4014883: getparameter (tool_getparam.c:2899) ==90966== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==90966== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==90966== by 0x4004208: main (tool_main.c:189) === End of file valgrind242 test 0256...[HTTP resume request over proxy with auth without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind256 ../src/curl -q --include --trace-ascii log/3/trace256 --trace-time -x http://127.0.0.1:39591 http://127.0.0.1:39591/want/256 -C - --no-include -o log/3/fewl256.txt -U daniel:stenberg > log/3/stdout256 2> log/3/stderr256 256: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind256 ../src/curl -q --include --trace-ascii log/3/trace256 --trace-time -x http://127.0.0.1:39591 http://127.0.0.1:39591/want/256 -C - --no-include -o log/3/fewl256.txt -U daniel:stenberg > log/3/stdout256 2> log/3/stderr256 === End of file commands.log === Start of file fewl256.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl256.txt === Start of file http_server.log 05:46:03.556086 ====> Client connect 05:46:03.556121 accept_connection 3 returned 4 05:46:03.556139 accept_connection 3 returned 0 05:46:03.556155 Read 93 bytes 05:46:03.556164 Process 93 bytes request 05:46:03.556178 Got request: GET /verifiedserver HTTP/1.1 05:46:03.556187 Are-we-friendly question received 05:46:03.556212 Wrote request (93 bytes) input to log/3/server.input 05:46:03.556229 Identifying ourselves as friends 05:46:03.556287 Response sent (56 bytes) and written to log/3/server.response 05:46:03.556297 special request received, no persistency 05:46:03.556306 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 46262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind256 ==91081== ==91081== Process terminating with default action of signal 4 (SIGILL) ==91081== Illegal opcode at address 0x4014883 ==91081== at 0x4014883: getparameter (tool_getparam.c:2899) ==91081== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91081== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91081== by 0x4004208: main (tool_main.c:189) === End of file valgrind256 test 0262...[Reject HTTP response with binary zero in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind262 ../src/curl -q --output log/13/curl262.out --include --trace-ascii log/13/trace262 --trace-time http://127.0.0.1:45359/262 > log/13/stdout262 2> log/13/stderr262 262: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind262 ../src/curl -q --output log/13/curl262.out --include --trace-ascii log/13/trace262 --trace-time http://127.0.0.1:45359/262 > log/13/stdout262 2> log/13/stderr262 === End of file commands.log === Start of file http_server.log 05:46:04.437611 ====> Client connect 05:46:04.437650 accept_connection 3 returned 4 05:46:04.437670 accept_connection 3 returned 0 05:46:04.437686 Read 93CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind259 ../src/curl -q --output log/14/curl259.out --include --trace-ascii log/14/trace259 --trace-time -x http://127.0.0.1:35549 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/14/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/14/stdout259 2> log/14/stderr259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind252 ../src/curl -q --output log/2/curl252.out --include --trace-ascii log/2/trace252 --trace-time -g "ftp://[::1]:35955/" > log/2/stdout252 2> log/2/stderr252 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind264 ../src/curl -q --output log/22/curl264.out --include --trace-ascii log/22/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:41477 > log/22/stdout264 2> log/22/stderr264 bytes 05:46:04.437698 Process 93 bytes request 05:46:04.437713 Got request: GET /verifiedserver HTTP/1.1 05:46:04.437724 Are-we-friendly question received 05:46:04.437751 Wrote request (93 bytes) input to log/13/server.input 05:46:04.437771 Identifying ourselves as friends 05:46:04.437838 Response sent (56 bytes) and written to log/13/server.response 05:46:04.437849 special request received, no persistency 05:46:04.437858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 50376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 262 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind262 ==91648== ==91648== Process terminating with default action of signal 4 (SIGILL) ==91648== Illegal opcode at address 0x4014883 ==91648== at 0x4014883: getparameter (tool_getparam.c:2899) ==91648== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91648== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91648== by 0x4004208: main (tool_main.c:189) === End of file valgrind262 test 0259...[HTTP POST multipart with Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind259 ../src/curl -q --output log/14/curl259.out --include --trace-ascii log/14/trace259 --trace-time -x http://127.0.0.1:35549 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/14/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/14/stdout259 2> log/14/stderr259 259: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind259 ../src/curl -q --output log/14/curl259.out --include --trace-ascii log/14/trace259 --trace-time -x http://127.0.0.1:35549 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/14/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/14/stdout259 2> log/14/stderr259 === End of file commands.log === Start of file http_server.log 05:46:03.915727 ====> Client connect 05:46:03.915763 accept_connection 3 returned 4 05:46:03.915779 accept_connection 3 returned 0 05:46:03.915794 Read 93 bytes 05:46:03.915803 Process 93 bytes request 05:46:03.915817 Got request: GET /verifiedserver HTTP/1.1 05:46:03.915826 Are-we-friendly question received 05:46:03.915852 Wrote request (93 bytes) input to log/14/server.input 05:46:03.915868 Identifying ourselves as friends 05:46:03.915926 Response sent (56 bytes) and written to log/14/server.response 05:46:03.915936 special request received, no persistency 05:46:03.915945 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 42206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file test259.txt foo- This is a moo- bar === End of file test259.txt === Start of file valgrind259 ==91295== ==91295== Process terminating with default action of signal 4 (SIGILL) ==91295== Illegal opcode at address 0x4014883 ==91295== at 0x4014883: getparameter (tool_getparam.c:2899) ==91295== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91295== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91295== by 0x4004208: main (tool_main.c:189) === End of file valgrind259 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/ftp_ipv6_server.pid" --logfile "log/2/ftp_ipv6_server.log" --logdir "log/2" --portfile "log/2/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 35955 (log/2/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90793 port 35955 * pid ftp-ipv6 => 90793 90793 test 0252...[FTP IPv6 dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind252 ../src/curl -q --output log/2/curl252.out --include --trace-ascii log/2/trace252 --trace-time -g "ftp://[::1]:35955/" > log/2/stdout252 2> log/2/stderr252 252: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind252 ../src/curl -q --output log/2/curl252.out --include --trace-ascii log/2/trace252 --trace-time -g "ftp://[::1]:35955/" > log/2/stdout252 2> log/2/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 05:46:02.799144 FTP server listens on port IPv6/35955 05:46:02.799314 logged pid 90793 in log/2/server/ftp_ipv6_server.pid 05:46:02.799351 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 05:46:02.244230 Running IPv6 version 05:46:02.244324 Listening on port 35955 05:46:02.244376 Wrote pid 90886 to log/2/server/ftp_ipv6_sockctrl.pid 05:46:02.244402 Wrote port 35955 to log/2/server/ftp_ipv6_server.port 05:46:02.260399 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 252 === End of file server.cmd === Start of file valgrind252 ==91402== ==91402== Process terminating with default action of signal 4 (SIGILL) ==91402== Illegal opcode at address 0x4014883 ==91402== at 0x4014883: getparameter (tool_getparam.c:2899) ==91402== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91402== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91402== by 0x4004208: main (tool_main.c:189) === End of file valgrind252 test 0264...[HTTP with proxy string including http:// and user+password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind264 ../src/curl -q --output log/22/curl264.out --include --trace-ascii log/22/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:41477 > log/22/stdout264 2> log/22/stderr264 264: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 264 === Start of file commands.log ../libtool --mode=execute /usr/biCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind253 ../src/curl -q --output log/18/curl253.out --include --trace-ascii log/18/trace253 --trace-time -g "ftp://[::1]:46727/" -P - > log/18/stdout253 2> log/18/stderr253 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind265 ../src/curl -q --output log/24/curl265.out --include --trace-ascii log/24/trace265 --trace-time http://test.remote.example.com.265:33593/path/2650002 --proxy http://127.0.0.1:33593 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/24/stdout265 2> log/24/stderr265 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind254 ../src/curl -q --output log/21/curl254.out --include --trace-ascii log/21/trace254 --trace-time -g "ftp://[::1]:38053/" --disable-epsv > log/21/stdout254 2> log/21/stderr254 n/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind264 ../src/curl -q --output log/22/curl264.out --include --trace-ascii log/22/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:41477 > log/22/stdout264 2> log/22/stderr264 === End of file commands.log === Start of file http_server.log 05:46:04.478758 ====> Client connect 05:46:04.478787 accept_connection 3 returned 4 05:46:04.478803 accept_connection 3 returned 0 05:46:04.478817 Read 93 bytes 05:46:04.478827 Process 93 bytes request 05:46:04.478840 Got request: GET /verifiedserver HTTP/1.1 05:46:04.478849 Are-we-friendly question received 05:46:04.478870 Wrote request (93 bytes) input to log/22/server.input 05:46:04.478886 Identifying ourselves as friends 05:46:04.478936 Response sent (56 bytes) and written to log/22/server.response 05:46:04.478945 special request received, no persistency 05:46:04.478954 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 38148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 264 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind264 ==91679== ==91679== Process terminating with default action of signal 4 (SIGILL) ==91679== Illegal opcode at address 0x4014883 ==91679== at 0x4014883: getparameter (tool_getparam.c:2899) ==91679== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91679== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91679== by 0x4004208: main (tool_main.c:189) === End of file valgrind264 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/ftp_ipv6_server.pid" --logfile "log/18/ftp_ipv6_server.log" --logdir "log/18" --portfile "log/18/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46727 (log/18/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90782 port 46727 * pid ftp-ipv6 => 90782 90782 test 0253...[FTP IPv6 dir list with EPRT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind253 ../src/curl -q --output log/18/curl253.out --include --trace-ascii log/18/trace253 --trace-time -g "ftp://[::1]:46727/" -P - > log/18/stdout253 2> log/18/stderr253 253: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind253 ../src/curl -q --output log/18/curl253.out --include --trace-ascii log/18/trace253 --trace-time -g "ftp://[::1]:46727/" -P - > log/18/stdout253 2> log/18/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 05:46:02.787162 FTP server listens on port IPv6/46727 05:46:02.787291 logged pid 90782 in log/18/server/ftp_ipv6_server.pid 05:46:02.787330 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 05:46:02.248318 Running IPv6 version 05:46:02.248409 Listening on port 46727 05:46:02.248449 Wrote pid 90883 to log/18/server/ftp_ipv6_sockctrl.pid 05:46:02.248481 Wrote port 46727 to log/18/server/ftp_ipv6_server.port 05:46:02.248506 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 253 === End of file server.cmd === Start of file valgrind253 ==91400== ==91400== Process terminating with default action of signal 4 (SIGILL) ==91400== Illegal opcode at address 0x4014883 ==91400== at 0x4014883: getparameter (tool_getparam.c:2899) ==91400== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91400== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91400== by 0x4004208: main (tool_main.c:189) === End of file valgrind253 test 0265...[HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind265 ../src/curl -q --output log/24/curl265.out --include --trace-ascii log/24/trace265 --trace-time http://test.remote.example.com.265:33593/path/2650002 --proxy http://127.0.0.1:33593 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/24/stdout265 2> log/24/stderr265 265: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 265 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind265 ../src/curl -q --output log/24/curl265.out --include --trace-ascii log/24/trace265 --trace-time http://test.remote.example.com.265:33593/path/2650002 --proxy http://127.0.0.1:33593 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/24/stdout265 2> log/24/stderr265 === End of file commands.log === Start of file http_server.log 05:46:04.627062 ====> Client connect 05:46:04.627098 accept_connection 3 returned 4 05:46:04.627114 accept_connection 3 returned 0 05:46:04.627274 Read 93 bytes 05:46:04.627287 Process 93 bytes request 05:46:04.627303 Got request: GET /verifiedserver HTTP/1.1 05:46:04.627313 Are-we-friendly question received 05:46:04.627341 Wrote request (93 bytes) input to log/24/server.input 05:46:04.627357 Identifying ourselves as friends 05:46:04.627410 Response sent (56 bytes) and written to log/24/server.response 05:46:04.627420 special request received, no persistency 05:46:04.627428 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 46154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 265 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind265 ==91797== ==91797== Process terminating with default action of signal 4 (SIGILL) ==91797== Illegal opcode at address 0x4014883 ==91797== at 0x4014883: getparameter (tool_getparam.c:2899) ==91797== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91797== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91797== by 0x4004208: main (tool_main.c:189) === End of file valgrind265 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/ftp_ipv6_server.pid" --logfile "log/21/ftp_ipv6_server.log" --logdir "log/21" --portfile "log/21/server/ftp_ipv6_server.port" --srcCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind261 ../src/curl -q --output log/6/curl261.out --include --trace-ascii log/6/trace261 --trace-time ftp://127.0.0.1:36813/261 > log/6/stdout261 2> log/6/stderr261 dir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 38053 (log/21/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90828 port 38053 * pid ftp-ipv6 => 90828 90828 test 0254...[FTP IPv6 dir list PASV and --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind254 ../src/curl -q --output log/21/curl254.out --include --trace-ascii log/21/trace254 --trace-time -g "ftp://[::1]:38053/" --disable-epsv > log/21/stdout254 2> log/21/stderr254 254: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind254 ../src/curl -q --output log/21/curl254.out --include --trace-ascii log/21/trace254 --trace-time -g "ftp://[::1]:38053/" --disable-epsv > log/21/stdout254 2> log/21/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 05:46:02.826002 FTP server listens on port IPv6/38053 05:46:02.826121 logged pid 90828 in log/21/server/ftp_ipv6_server.pid 05:46:02.826154 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 05:46:02.286962 Running IPv6 version 05:46:02.287072 Listening on port 38053 05:46:02.287129 Wrote pid 90921 to log/21/server/ftp_ipv6_sockctrl.pid 05:46:02.287161 Wrote port 38053 to log/21/server/ftp_ipv6_server.port 05:46:02.287358 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 254 === End of file server.cmd === Start of file valgrind254 ==91416== ==91416== Process terminating with default action of signal 4 (SIGILL) ==91416== Illegal opcode at address 0x4014883 ==91416== at 0x4014883: getparameter (tool_getparam.c:2899) ==91416== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91416== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91416== by 0x4004208: main (tool_main.c:189) === End of file valgrind254 test 0261...[FTP RETR with 226 response code to TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind261 ../src/curl -q --output log/6/curl261.out --include --trace-ascii log/6/trace261 --trace-time ftp://127.0.0.1:36813/261 > log/6/stdout261 2> log/6/stderr261 261: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 261 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind261 ../src/curl -q --output log/6/curl261.out --include --trace-ascii log/6/trace261 --trace-time ftp://127.0.0.1:36813/261 > log/6/stdout261 2> log/6/stderr261 === End of file commands.log === Start of file ftp_server.log 05:46:03.821269 ====> Client connect 05:46:03.821463 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:03.825993 < "USER anonymous" 05:46:03.826066 > "331 We are happy you popped in![CR][LF]" 05:46:03.826272 < "PASS ftp@example.com" 05:46:03.826306 > "230 Welcome you silly person[CR][LF]" 05:46:03.826475 < "PWD" 05:46:03.826513 > "257 "/" is current directory[CR][LF]" 05:46:03.826700 < "EPSV" 05:46:03.826725 ====> Passive DATA channel requested by client 05:46:03.826741 DATA sockfilt for passive data channel starting... 05:46:03.829051 DATA sockfilt for passive data channel started (pid 91472) 05:46:03.829156 DATA sockfilt for passive data channel listens on port 40481 05:46:03.829194 > "229 Entering Passive Mode (|||40481|)[CR][LF]" 05:46:03.829213 Client has been notified that DATA conn will be accepted on port 40481 05:46:03.829438 Client connects to port 40481 05:46:03.829466 ====> Client established passive DATA connection on port 40481 05:46:03.829535 < "TYPE I" 05:46:03.829561 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:03.829704 < "SIZE verifiedserver" 05:46:03.829738 > "213 17[CR][LF]" 05:46:03.829873 < "RETR verifiedserver" 05:46:03.829904 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:03.829989 =====> Closing passive DATA connection... 05:46:03.830005 Server disconnects passive DATA connection 05:46:03.830210 Server disconnected passive DATA connection 05:46:03.830235 DATA sockfilt for passive data channel quits (pid 91472) 05:46:03.830506 DATA sockfilt for passive data channel quit (pid 91472) 05:46:03.830529 =====> Closed passive DATA connection 05:46:03.830554 > "226 File transfer complete[CR][LF]" 05:46:03.874273 < "QUIT" 05:46:03.874345 > "221 bye bye baby[CR][LF]" 05:46:03.880717 MAIN sockfilt said DISC 05:46:03.880767 ====> Client disconnected 05:46:03.880859 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:03.282574 ====> Client connect 05:46:03.282947 Received DATA (on stdin) 05:46:03.282964 > 146 bytes data, server => client 05:46:03.282977 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:03.282988 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:03.282997 '220 \___|\___/|_| \_\_____|\r\n' 05:46:03.287123 < 16 bytes data, client => server 05:46:03.287172 'USER anonymous\r\n' 05:46:03.287541 Received DATA (on stdin) 05:46:03.287556 > 33 bytes data, server => client 05:46:03.287567 '331 We are happy you popped in!\r\n' 05:46:03.287627 < 22 bytes data, client => server 05:46:03.287644 'PASS ftp@example.com\r\n' 05:46:03.287773 Received DATA (on stdin) 05:46:03.287786 > 30 bytes data, server => client 05:46:03.287796 '230 Welcome you silly person\r\n' 05:46:03.287848 < 5 bytes data, client => server 05:46:03.287861 'PWD\r\n' 05:46:03.287981 Received DATA (on stdin) 05:46:03.287994 > 30 bytes data, server => client 05:46:03.288005 '257 "/" is current directory\r\n' 05:46:03.288070 < 6 bytes data, client => server 05:46:03.288084 'EPSV\r\n' 05:46:03.290679 Received DATA (on stdin) 05:46:03.290691 > 39 bytes data, server => client 05:46:03.290701 '229 Entering Passive Mode (|||40481|)\r\n' 05:46:03.290826 < 8 bytes data, client => server 05:46:03.290839 'TYPE I\r\n' 05:46:03.291024 Received DATA (on stdin) 05:46:03.291035 > 33 bytes data, server => client 05:46:03.291044 '200 I modify TYPE as you wanted\r\n' 05:46:03.291091 < 21 bytes data, client => server 05:46:03.291101 'SIZE verifiedserver\r\n' 05:46:03.291199 Received DATA (on stdin) 05:46:03.291209 > 8 bytes data, server => client 05:46:03.291218 '213 17\r\n' 05:46:03.291262 < 21 bytes data, client => server 05:46:03.291271 'RETR verifiedserver\r\n' 05:46:03.291468 Received DATA (on stdin) 05:46:03.291478 > 29 bytes data, server => client 05:46:03.291488 '150 Binary junk (17 bytes).\r\n' 05:46:03.292017 Received DATA (on stdin) 05:46:03.292029 > 28 bytes data, server => client 05:46:03.292038 '226 File transfer complete\r\n' 05:46:03.335552 < 6 bytes data, client => server 05:46:03.335581 'QUIT\r\n' 05:46:03.335823 Received DATA (on stdin) 05:46:03.335838 > 18 bytes data, server => client 05:46:03.335850 '221 bye bye baby\r\n' 05:46:03.341665 ====> Client disconnect 05:46:03.342323 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:03.289723 Running IPv4 version 05:46:03.289784 Listening on port 40481 05:46:03.289852 Wrote pid 91472 to log/6/server/ftp_sockdata.pid 05:46:03.290456 Received PING (on stdin) 05:46:03.290534 Received PORT (on stdin) 05:46:03.290857 ====> Client connect 05:46:03.291511 Received DACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind255 ../src/curl -q --output log/17/curl255.out --include --trace-ascii log/17/trace255 --trace-time -g "ftp://[::1]:40883/" -P - --disable-eprt > log/17/stdout255 2> log/17/stderr255 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind269 ../src/curl -q --output log/23/curl269.out --include --trace-ascii log/23/trace269 --trace-time http://127.0.0.1:33217/269 --ignore-content-length > log/23/stdout269 2> log/23/stderr269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind267 ../src/curl -q --output log/8/curl267.out --include --trace-ascii log/8/trace267 --trace-time http://127.0.0.1:45623/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/8/stdout267 2> log/8/stderr267 TA (on stdin) 05:46:03.291521 > 17 bytes data, server => client 05:46:03.291533 'WE ROOLZ: 81206\r\n' 05:46:03.291553 Received DISC (on stdin) 05:46:03.291563 ====> Client forcibly disconnected 05:46:03.291706 Received QUIT (on stdin) 05:46:03.291716 quits 05:46:03.291802 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY TYPE 226 Kind of on the positive side Testnum 261 === End of file server.cmd === Start of file valgrind261 ==91599== ==91599== Process terminating with default action of signal 4 (SIGILL) ==91599== Illegal opcode at address 0x4014883 ==91599== at 0x4014883: getparameter (tool_getparam.c:2899) ==91599== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91599== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91599== by 0x4004208: main (tool_main.c:189) === End of file valgrind261 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_ipv6_server.pid" --logfile "log/17/ftp_ipv6_server.log" --logdir "log/17" --portfile "log/17/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 40883 (log/17/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90936 port 40883 * pid ftp-ipv6 => 90936 90936 test 0255...[FTP IPv6 dir list with EPRT and --disable-eprt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind255 ../src/curl -q --output log/17/curl255.out --include --trace-ascii log/17/trace255 --trace-time -g "ftp://[::1]:40883/" -P - --disable-eprt > log/17/stdout255 2> log/17/stderr255 255: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind255 ../src/curl -q --output log/17/curl255.out --include --trace-ascii log/17/trace255 --trace-time -g "ftp://[::1]:40883/" -P - --disable-eprt > log/17/stdout255 2> log/17/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 05:46:02.920331 FTP server listens on port IPv6/40883 05:46:02.920440 logged pid 90936 in log/17/server/ftp_ipv6_server.pid 05:46:02.920470 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 05:46:02.381193 Running IPv6 version 05:46:02.381580 Listening on port 40883 05:46:02.381622 Wrote pid 90975 to log/17/server/ftp_ipv6_sockctrl.pid 05:46:02.381652 Wrote port 40883 to log/17/server/ftp_ipv6_server.port 05:46:02.381673 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 255 === End of file server.cmd === Start of file valgrind255 ==91518== ==91518== Process terminating with default action of signal 4 (SIGILL) ==91518== Illegal opcode at address 0x4014883 ==91518== at 0x4014883: getparameter (tool_getparam.c:2899) ==91518== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91518== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91518== by 0x4004208: main (tool_main.c:189) === End of file valgrind255 test 0267...[HTTP POST with NTLM authorization and added custom headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind267 ../src/curl -q --output log/8/curl267.out --include --trace-ascii log/8/trace267 --trace-time http://127.0.0.1:45623/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/8/stdout267 2> log/8/stderr267 267: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 267 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind267 ../src/curl -q --output log/8/curl267.out --include --trace-ascii log/8/trace267 --trace-time http://127.0.0.1:45623/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/8/stdout267 2> log/8/stderr267 === End of file commands.log === Start of file http_server.log 05:46:03.994666 ====> Client connect 05:46:03.994705 accept_connection 3 returned 4 05:46:03.994723 accept_connection 3 returned 0 05:46:03.994740 Read 93 bytes 05:46:03.994750 Process 93 bytes request 05:46:03.994765 Got request: GET /verifiedserver HTTP/1.1 05:46:03.994775 Are-we-friendly question received 05:46:03.994804 Wrote request (93 bytes) input to log/8/server.input 05:46:03.994824 Identifying ourselves as friends 05:46:03.994884 Response sent (56 bytes) and written to log/8/server.response 05:46:03.994893 special request received, no persistency 05:46:03.994902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind267 ==91939== ==91939== Process terminating with default action of signal 4 (SIGILL) ==91939== Illegal opcode at address 0x4014883 ==91939== at 0x4014883: getparameter (tool_getparam.c:2899) ==91939== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91939== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91939== by 0x4004208: main (tool_main.c:189) === End of file valgrind267 test 0269...[HTTP --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind269 ../src/curl -q --output log/23/curl269.out --include --trace-ascii log/23/trace269 --trace-time http://127.0.0.1:33217/269 --ignore-content-length > log/23/stdout269 2> log/23/stderr269 269: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind269 ../src/curl -q --output log/23/curl269.out --include --trace-ascii log/23/trace269 --trace-time http://127.0.0.1:33217/269 --ignore-content-length > log/23/stdout269 2> log/23/stderr269 === End of file commands.log === Start of file http_server.log 05:46:05.335477 ====> Client connect 05:46:05.335514 accept_connection 3 returned 4 05:46:05.335531 accept_connection 3 returned 0 05:46:05.335545 Read 93 bytes 05:46:05.335556 Process 93 bytes request 05:46:05.335571 Got request: GET /verifiedserver HTTP/1.1 05:46:05.335581 Are-we-friendly question received 05:46:05.335608 Wrote request (93 bytes) input to log/23/server.input 05:46:05.335626 Identifying ourselves as friends 05:46:05.335687 Response sent (56 bytes) and written to log/23/server.response 05:46:05.335698 special request received, no persistency 05:46:05.335707 ====>CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind263 ../src/curl -q --output log/1/curl263.out --include --trace-ascii log/1/trace263 --trace-time -g -x "http://[::1]:34097" http://veryveryremotesite.com/263 > log/1/stdout263 2> log/1/stderr263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind266 ../src/curl -q --output log/15/curl266.out --include --trace-ascii log/15/trace266 --trace-time http://127.0.0.1:43413/266 -D log/15/heads266 > log/15/stdout266 2> log/15/stderr266 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind268 ../src/curl -q --output log/9/curl268.out --include --trace-ascii log/9/trace268 --trace-time http://127.0.0.1:33885/268 --variable hello@log/9/junk --expand-data {{hello:json}} > log/9/stdout268 2> log/9/stderr268 Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 51296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 269 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind269 ==92078== ==92078== Process terminating with default action of signal 4 (SIGILL) ==92078== Illegal opcode at address 0x4014883 ==92078== at 0x4014883: getparameter (tool_getparam.c:2899) ==92078== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92078== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92078== by 0x4004208: main (tool_main.c:189) === End of file valgrind269 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_ipv6_server.pid" --logfile "log/1/http_ipv6_server.log" --logdir "log/1" --portfile log/1/server/http_ipv6_server.port --config log/1/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 91512 port 34097 * pid http-ipv6 => 91512 91512 test 0263...[HTTP-IPv6 GET with proxy specified using IPv6-numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind263 ../src/curl -q --output log/1/curl263.out --include --trace-ascii log/1/trace263 --trace-time -g -x "http://[::1]:34097" http://veryveryremotesite.com/263 > log/1/stdout263 2> log/1/stderr263 263: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind263 ../src/curl -q --output log/1/curl263.out --include --trace-ascii log/1/trace263 --trace-time -g -x "http://[::1]:34097" http://veryveryremotesite.com/263 > log/1/stdout263 2> log/1/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 05:46:03.375507 Running HTTP IPv6 version on port 34097 05:46:03.375659 Wrote pid 91512 to log/1/server/http_ipv6_server.pid 05:46:03.375698 Wrote port 34097 to log/1/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 263 === End of file server.cmd === Start of file valgrind263 ==92086== ==92086== Process terminating with default action of signal 4 (SIGILL) ==92086== Illegal opcode at address 0x4014883 ==92086== at 0x4014883: getparameter (tool_getparam.c:2899) ==92086== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92086== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92086== by 0x4004208: main (tool_main.c:189) === End of file valgrind263 test 0266...[HTTP GET with chunked Transfer-Encoding and chunked trailer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind266 ../src/curl -q --output log/15/curl266.out --include --trace-ascii log/15/trace266 --trace-time http://127.0.0.1:43413/266 -D log/15/heads266 > log/15/stdout266 2> log/15/stderr266 266: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind266 ../src/curl -q --output log/15/curl266.out --include --trace-ascii log/15/trace266 --trace-time http://127.0.0.1:43413/266 -D log/15/heads266 > log/15/stdout266 2> log/15/stderr266 === End of file commands.log === Start of file http_server.log 05:46:04.893763 ====> Client connect 05:46:04.893816 accept_connection 3 returned 4 05:46:04.893839 accept_connection 3 returned 0 05:46:04.893859 Read 93 bytes 05:46:04.893871 Process 93 bytes request 05:46:04.893886 Got request: GET /verifiedserver HTTP/1.1 05:46:04.893897 Are-we-friendly question received 05:46:04.893928 Wrote request (93 bytes) input to log/15/server.input 05:46:04.893954 Identifying ourselves as friends 05:46:04.894048 Response sent (56 bytes) and written to log/15/server.response 05:46:04.894061 special request received, no persistency 05:46:04.894071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind266 ==91896== ==91896== Process terminating with default action of signal 4 (SIGILL) ==91896== Illegal opcode at address 0x4014883 ==91896== at 0x4014883: getparameter (tool_getparam.c:2899) ==91896== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==91896== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==91896== by 0x4004208: main (tool_main.c:189) === End of file valgrind266 test 0268...[JSON encoding of Unicode string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind268 ../src/curl -q --output log/9/curl268.out --include --trace-ascii log/9/trace268 --trace-time http://127.0.0.1:33885/268 --variable hello@log/9/junk --expand-data {{hello:json}} > log/9/stdout268 2> log/9/stderr268 268: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 268 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind268 ../src/curl -q --output log/9/curl268.out --include --trace-ascii log/9/trace268 --trace-time http://127.0.0.1:33885/268 --variable hello@log/9/junk --expand-data {{hello:json}} > log/9/stdout268 2> log/9/stderr268 === End of file commands.log === Start of file http_server.log 05:46:04.300403 ====> Client connect 05:46:04.300440 accept_connection 3 returned 4 05:46:04.300456 accept_connection 3 returned 0 05:46:04.300470 Read 93 bytes 05:46:04.300478 Process 93 bytes request 05:46:04.300491 Got request: GET /verifiedserver HTTP/1.1 05:46:04.300499 Are-we-friendly question received 05:46:04.300520 Wrote request (93 bytes) input to log/9/server.input 05:46:04.300535 Identifying ourselves as friends 05:46:04.300596 Response sent (56 bytes) and written to log/9/server.response 05:46:04.300604 special request received, no persistency 05:46:04.300612 ====> ClienCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind270 ../src/curl -q --output log/20/curl270.out --include --trace-ascii log/20/trace270 --trace-time ftp://127.0.0.1:46185/270 --ftp-skip-pasv-ip --disable-epsv > log/20/stdout270 2> log/20/stderr270 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind277 ../src/curl -q --output log/4/curl277.out --include --trace-ascii log/4/trace277 --trace-time http://127.0.0.1:40253/want/277 -F name=daniel -H "Content-Type: text/info" > log/4/stdout277 2> log/4/stderr277 t disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 45432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file junk “ === End of file junk === Start of file server.cmd Testnum 268 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind268 ==92069== ==92069== Process terminating with default action of signal 4 (SIGILL) ==92069== Illegal opcode at address 0x4014883 ==92069== at 0x4014883: getparameter (tool_getparam.c:2899) ==92069== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92069== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92069== by 0x4004208: main (tool_main.c:189) === End of file valgrind268 test 0270...[FTP RETR PASV --ftp-skip-pasv-ip] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind270 ../src/curl -q --output log/20/curl270.out --include --trace-ascii log/20/trace270 --trace-time ftp://127.0.0.1:46185/270 --ftp-skip-pasv-ip --disable-epsv > log/20/stdout270 2> log/20/stderr270 270: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 270 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind270 ../src/curl -q --output log/20/curl270.out --include --trace-ascii log/20/trace270 --trace-time ftp://127.0.0.1:46185/270 --ftp-skip-pasv-ip --disable-epsv > log/20/stdout270 2> log/20/stderr270 === End of file commands.log === Start of file ftp_server.log 05:46:04.875691 ====> Client connect 05:46:04.875863 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:04.879173 < "USER anonymous" 05:46:04.879242 > "331 We are happy you popped in![CR][LF]" 05:46:04.879437 < "PASS ftp@example.com" 05:46:04.879472 > "230 Welcome you silly person[CR][LF]" 05:46:04.879654 < "PWD" 05:46:04.879697 > "257 "/" is current directory[CR][LF]" 05:46:04.879892 < "EPSV" 05:46:04.879929 ====> Passive DATA channel requested by client 05:46:04.879947 DATA sockfilt for passive data channel starting... 05:46:04.886874 DATA sockfilt for passive data channel started (pid 92071) 05:46:04.887012 DATA sockfilt for passive data channel listens on port 46025 05:46:04.887070 > "229 Entering Passive Mode (|||46025|)[CR][LF]" 05:46:04.887093 Client has been notified that DATA conn will be accepted on port 46025 05:46:04.887357 Client connects to port 46025 05:46:04.887391 ====> Client established passive DATA connection on port 46025 05:46:04.887536 < "TYPE I" 05:46:04.887576 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:04.887758 < "SIZE verifiedserver" 05:46:04.887801 > "213 17[CR][LF]" 05:46:04.887973 < "RETR verifiedserver" 05:46:04.888010 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:04.888099 =====> Closing passive DATA connection... 05:46:04.888120 Server disconnects passive DATA connection 05:46:04.888243 Server disconnected passive DATA connection 05:46:04.888270 DATA sockfilt for passive data channel quits (pid 92071) 05:46:04.888508 DATA sockfilt for passive data channel quit (pid 92071) 05:46:04.888538 =====> Closed passive DATA connection 05:46:04.888565 > "226 File transfer complete[CR][LF]" 05:46:04.945786 < "QUIT" 05:46:04.945850 > "221 bye bye baby[CR][LF]" 05:46:04.952348 MAIN sockfilt said DISC 05:46:04.952405 ====> Client disconnected 05:46:04.952527 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:05.337023 ====> Client connect 05:46:05.337339 Received DATA (on stdin) 05:46:05.337353 > 146 bytes data, server => client 05:46:05.337365 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:05.337375 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:05.337384 '220 \___|\___/|_| \_\_____|\r\n' 05:46:05.340400 < 16 bytes data, client => server 05:46:05.340426 'USER anonymous\r\n' 05:46:05.340725 Received DATA (on stdin) 05:46:05.340738 > 33 bytes data, server => client 05:46:05.340749 '331 We are happy you popped in!\r\n' 05:46:05.340802 < 22 bytes data, client => server 05:46:05.340813 'PASS ftp@example.com\r\n' 05:46:05.340942 Received DATA (on stdin) 05:46:05.340956 > 30 bytes data, server => client 05:46:05.340966 '230 Welcome you silly person\r\n' 05:46:05.341022 < 5 bytes data, client => server 05:46:05.341035 'PWD\r\n' 05:46:05.341167 Received DATA (on stdin) 05:46:05.341180 > 30 bytes data, server => client 05:46:05.341191 '257 "/" is current directory\r\n' 05:46:05.341260 < 6 bytes data, client => server 05:46:05.341275 'EPSV\r\n' 05:46:05.348567 Received DATA (on stdin) 05:46:05.348583 > 39 bytes data, server => client 05:46:05.348594 '229 Entering Passive Mode (|||46025|)\r\n' 05:46:05.348878 < 8 bytes data, client => server 05:46:05.348891 'TYPE I\r\n' 05:46:05.349045 Received DATA (on stdin) 05:46:05.349057 > 33 bytes data, server => client 05:46:05.349068 '200 I modify TYPE as you wanted\r\n' 05:46:05.349123 < 21 bytes data, client => server 05:46:05.349137 'SIZE verifiedserver\r\n' 05:46:05.349271 Received DATA (on stdin) 05:46:05.349283 > 8 bytes data, server => client 05:46:05.349293 '213 17\r\n' 05:46:05.349346 < 21 bytes data, client => server 05:46:05.349359 'RETR verifiedserver\r\n' 05:46:05.350032 Received DATA (on stdin) 05:46:05.350046 > 29 bytes data, server => client 05:46:05.350057 '150 Binary junk (17 bytes).\r\n' 05:46:05.350081 Received DATA (on stdin) 05:46:05.350091 > 28 bytes data, server => client 05:46:05.350102 '226 File transfer complete\r\n' 05:46:05.407026 < 6 bytes data, client => server 05:46:05.407067 'QUIT\r\n' 05:46:05.407324 Received DATA (on stdin) 05:46:05.407337 > 18 bytes data, server => client 05:46:05.407347 '221 bye bye baby\r\n' 05:46:05.413724 ====> Client disconnect 05:46:05.414011 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:04.348145 Running IPv4 version 05:46:04.348213 Listening on port 46025 05:46:04.348249 Wrote pid 92071 to log/20/server/ftp_sockdata.pid 05:46:04.348273 Received PING (on stdin) 05:46:04.348381 Received PORT (on stdin) 05:46:04.348767 ====> Client connect 05:46:04.349589 Received DATA (on stdin) 05:46:04.349602 > 17 bytes data, server => client 05:46:04.349613 'WE ROOLZ: 89997\r\n' 05:46:04.349641 Received DISC (on stdin) 05:46:04.349655 ====> Client forcibly disconnected 05:46:04.349745 Received QUIT (on stdin) 05:46:04.349757 quits 05:46:04.349817 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd PASVBADIP Testnum 270 === End of file server.cmd === Start of file valgrind270 ==92221== ==92221== Process terminating with default action of signal 4 (SIGILL) ==92221== Illegal opcode at address 0x4014883 ==92221== at 0x4014883: getparameter (tool_getparam.c:2899) ==92221== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92221== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92221== by 0x4004208: main (tool_main.c:189) === End of file valgrind270 test 0277...[HTTP RFC1867-type formposting with custom Content-Type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind278 ../src/curl -q --output log/5/curl278.out --include --trace-ascii log/5/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:35621 > log/5/stdout278 2> log/5/stderr278 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind276 ../src/curl -q --output log/16/curl276.out --include --trace-ascii log/16/trace276 --trace-time "http://127.0.0.1:44673/want?uri=http://anything/276?secondq/276" -L > log/16/stdout276 2> log/16/stderr276 iet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind277 ../src/curl -q --output log/4/curl277.out --include --trace-ascii log/4/trace277 --trace-time http://127.0.0.1:40253/want/277 -F name=daniel -H "Content-Type: text/info" > log/4/stdout277 2> log/4/stderr277 277: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind277 ../src/curl -q --output log/4/curl277.out --include --trace-ascii log/4/trace277 --trace-time http://127.0.0.1:40253/want/277 -F name=daniel -H "Content-Type: text/info" > log/4/stdout277 2> log/4/stderr277 === End of file commands.log === Start of file http_server.log 05:46:04.860413 ====> Client connect 05:46:04.860460 accept_connection 3 returned 4 05:46:04.860480 accept_connection 3 returned 0 05:46:04.860497 Read 93 bytes 05:46:04.860507 Process 93 bytes request 05:46:04.860521 Got request: GET /verifiedserver HTTP/1.1 05:46:04.860531 Are-we-friendly question received 05:46:04.860556 Wrote request (93 bytes) input to log/4/server.input 05:46:04.860574 Identifying ourselves as friends 05:46:04.860652 Response sent (56 bytes) and written to log/4/server.response 05:46:04.860663 special request received, no persistency 05:46:04.860672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind277 ==92546== ==92546== Process terminating with default action of signal 4 (SIGILL) ==92546== Illegal opcode at address 0x4014883 ==92546== at 0x4014883: getparameter (tool_getparam.c:2899) ==92546== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92546== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92546== by 0x4004208: main (tool_main.c:189) === End of file valgrind277 test 0278...[HTTP with proxy string including http:// and user+empty password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind278 ../src/curl -q --output log/5/curl278.out --include --trace-ascii log/5/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:35621 > log/5/stdout278 2> log/5/stderr278 278: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 278 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind278 ../src/curl -q --output log/5/curl278.out --include --trace-ascii log/5/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:35621 > log/5/stdout278 2> log/5/stderr278 === End of file commands.log === Start of file http_server.log 05:46:06.067226 ====> Client connect 05:46:06.067261 accept_connection 3 returned 4 05:46:06.067278 accept_connection 3 returned 0 05:46:06.067294 Read 93 bytes 05:46:06.067304 Process 93 bytes request 05:46:06.067317 Got request: GET /verifiedserver HTTP/1.1 05:46:06.067327 Are-we-friendly question received 05:46:06.067351 Wrote request (93 bytes) input to log/5/server.input 05:46:06.067368 Identifying ourselves as friends 05:46:06.067427 Response sent (56 bytes) and written to log/5/server.response 05:46:06.067437 special request received, no persistency 05:46:06.067447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 56744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind278 ==92677== ==92677== Process terminating with default action of signal 4 (SIGILL) ==92677== Illegal opcode at address 0x4014883 ==92677== at 0x4014883: getparameter (tool_getparam.c:2899) ==92677== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92677== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92677== by 0x4004208: main (tool_main.c:189) === End of file valgrind278 test 0276...[HTTP Location: following with multiple question marks in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind276 ../src/curl -q --output log/16/curl276.out --include --trace-ascii log/16/trace276 --trace-time "http://127.0.0.1:44673/want?uri=http://anything/276?secondq/276" -L > log/16/stdout276 2> log/16/stderr276 276: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 276 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind276 ../src/curl -q --output log/16/curl276.out --include --trace-ascii log/16/trace276 --trace-time "http://127.0.0.1:44673/want?uri=http://anything/276?secondq/276" -L > log/16/stdout276 2> log/16/stderr276 === End of file commands.log === Start of file http_server.log 05:46:05.727084 ====> Client connect 05:46:05.727129 accept_connection 3 returned 4 05:46:05.727147 accept_connection 3 returned 0 05:46:05.727163 Read 93 bytes 05:46:05.727172 Process 93 bytes request 05:46:05.727186 Got request: GET /verifiedserver HTTP/1.1 05:46:05.727195 Are-we-friendly question received 05:46:05.727220 Wrote request (93 bytes) input to log/16/server.input 05:46:05.727236 Identifying ourselves as friends 05:46:05.727315 Response sent (56 bytes) and written to log/16/server.response 05:46:05.727325 special request received, no persistency 05:46:05.727334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 42716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 276 === End of file server.cmdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind272 ../src/curl -q --output log/11/curl272.out --include --trace-ascii log/11/trace272 --trace-time ftp://127.0.0.1:37471/272 -z "2004 jan 1 12:12:12 UTC" > log/11/stdout272 2> log/11/stderr272 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind274 ../src/curl -q --output log/19/curl274.out --include --trace-ascii log/19/trace274 --trace-time http://127.0.0.1:35701/want/274 -L --max-redirs 0 > log/19/stdout274 2> log/19/stderr274 === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind276 ==92458== ==92458== Process terminating with default action of signal 4 (SIGILL) ==92458== Illegal opcode at address 0x4014883 ==92458== at 0x4014883: getparameter (tool_getparam.c:2899) ==92458== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92458== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92458== by 0x4004208: main (tool_main.c:189) === End of file valgrind276 test 0272...[FTP timed conditioned get file with identical time stamp] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind272 ../src/curl -q --output log/11/curl272.out --include --trace-ascii log/11/trace272 --trace-time ftp://127.0.0.1:37471/272 -z "2004 jan 1 12:12:12 UTC" > log/11/stdout272 2> log/11/stderr272 272: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 272 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind272 ../src/curl -q --output log/11/curl272.out --include --trace-ascii log/11/trace272 --trace-time ftp://127.0.0.1:37471/272 -z "2004 jan 1 12:12:12 UTC" > log/11/stdout272 2> log/11/stderr272 === End of file commands.log === Start of file ftp_server.log 05:46:04.962184 ====> Client connect 05:46:04.962495 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:04.962775 < "USER anonymous" 05:46:04.962808 > "331 We are happy you popped in![CR][LF]" 05:46:04.962971 < "PASS ftp@example.com" 05:46:04.962998 > "230 Welcome you silly person[CR][LF]" 05:46:04.963152 < "PWD" 05:46:04.963183 > "257 "/" is current directory[CR][LF]" 05:46:04.963344 < "EPSV" 05:46:04.963370 ====> Passive DATA channel requested by client 05:46:04.963385 DATA sockfilt for passive data channel starting... 05:46:04.966941 DATA sockfilt for passive data channel started (pid 92158) 05:46:04.967069 DATA sockfilt for passive data channel listens on port 44195 05:46:04.967122 > "229 Entering Passive Mode (|||44195|)[CR][LF]" 05:46:04.967141 Client has been notified that DATA conn will be accepted on port 44195 05:46:04.967389 Client connects to port 44195 05:46:04.967423 ====> Client established passive DATA connection on port 44195 05:46:04.967562 < "TYPE I" 05:46:04.967593 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:04.967756 < "SIZE verifiedserver" 05:46:04.967796 > "213 17[CR][LF]" 05:46:04.967970 < "RETR verifiedserver" 05:46:04.968007 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:04.968101 =====> Closing passive DATA connection... 05:46:04.968125 Server disconnects passive DATA connection 05:46:04.968378 Server disconnected passive DATA connection 05:46:04.968413 DATA sockfilt for passive data channel quits (pid 92158) 05:46:04.968678 DATA sockfilt for passive data channel quit (pid 92158) 05:46:04.968708 =====> Closed passive DATA connection 05:46:04.968736 > "226 File transfer complete[CR][LF]" 05:46:05.009399 < "QUIT" 05:46:05.009465 > "221 bye bye baby[CR][LF]" 05:46:05.010535 MAIN sockfilt said DISC 05:46:05.010570 ====> Client disconnected 05:46:05.010670 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:05.423508 ====> Client connect 05:46:05.423975 Received DATA (on stdin) 05:46:05.423990 > 146 bytes data, server => client 05:46:05.424002 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:05.424012 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:05.424021 '220 \___|\___/|_| \_\_____|\r\n' 05:46:05.424095 < 16 bytes data, client => server 05:46:05.424108 'USER anonymous\r\n' 05:46:05.424274 Received DATA (on stdin) 05:46:05.424286 > 33 bytes data, server => client 05:46:05.424296 '331 We are happy you popped in!\r\n' 05:46:05.424347 < 22 bytes data, client => server 05:46:05.424358 'PASS ftp@example.com\r\n' 05:46:05.424461 Received DATA (on stdin) 05:46:05.424472 > 30 bytes data, server => client 05:46:05.424482 '230 Welcome you silly person\r\n' 05:46:05.424530 < 5 bytes data, client => server 05:46:05.424542 'PWD\r\n' 05:46:05.424645 Received DATA (on stdin) 05:46:05.424656 > 30 bytes data, server => client 05:46:05.424666 '257 "/" is current directory\r\n' 05:46:05.424724 < 6 bytes data, client => server 05:46:05.424736 'EPSV\r\n' 05:46:05.428614 Received DATA (on stdin) 05:46:05.428628 > 39 bytes data, server => client 05:46:05.428640 '229 Entering Passive Mode (|||44195|)\r\n' 05:46:05.428910 < 8 bytes data, client => server 05:46:05.428924 'TYPE I\r\n' 05:46:05.429059 Received DATA (on stdin) 05:46:05.429071 > 33 bytes data, server => client 05:46:05.429081 '200 I modify TYPE as you wanted\r\n' 05:46:05.429133 < 21 bytes data, client => server 05:46:05.429144 'SIZE verifiedserver\r\n' 05:46:05.429264 Received DATA (on stdin) 05:46:05.429277 > 8 bytes data, server => client 05:46:05.429287 '213 17\r\n' 05:46:05.429340 < 21 bytes data, client => server 05:46:05.429354 'RETR verifiedserver\r\n' 05:46:05.429593 Received DATA (on stdin) 05:46:05.429607 > 29 bytes data, server => client 05:46:05.429618 '150 Binary junk (17 bytes).\r\n' 05:46:05.430203 Received DATA (on stdin) 05:46:05.430217 > 28 bytes data, server => client 05:46:05.430227 '226 File transfer complete\r\n' 05:46:05.470659 < 6 bytes data, client => server 05:46:05.470697 'QUIT\r\n' 05:46:05.470939 Received DATA (on stdin) 05:46:05.470955 > 18 bytes data, server => client 05:46:05.470966 '221 bye bye baby\r\n' 05:46:05.471944 ====> Client disconnect 05:46:05.472135 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:04.428083 Running IPv4 version 05:46:04.428154 Listening on port 44195 05:46:04.428192 Wrote pid 92158 to log/11/server/ftp_sockdata.pid 05:46:04.428345 Received PING (on stdin) 05:46:04.428438 Received PORT (on stdin) 05:46:04.428798 ====> Client connect 05:46:04.429647 Received DATA (on stdin) 05:46:04.429661 > 17 bytes data, server => client 05:46:04.429671 'WE ROOLZ: 81984\r\n' 05:46:04.429699 Received DISC (on stdin) 05:46:04.429712 ====> Client forcibly disconnected 05:46:04.429894 Received QUIT (on stdin) 05:46:04.429907 quits 05:46:04.429993 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==92239== ==92239== Process terminating with default action of signal 4 (SIGILL) ==92239== Illegal opcode at address 0x4014883 ==92239== at 0x4014883: getparameter (tool_getparam.c:2899) ==92239== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92239== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92239== by 0x4004208: main (tool_main.c:189) === End of file valgrind272 test 0274...[HTTP Location: following with --max-redirs 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind274 ../src/curl -q --output log/19/curl274.out --include --trace-ascii log/19/trace274 --trace-time http://127.0.0.1:35701/want/274 -L --max-redirs 0 > log/19/stdout274 2> log/19/stderr274 274: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind273 ../src/curl -q --output log/10/curl273.out --include --trace-ascii log/10/trace273 --trace-time http://127.0.0.1:46741/273 -u testuser:testpass --digest > log/10/stdout273 2> log/10/stderr273 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind279 ../src/curl -q --output log/3/curl279.out --include --trace-ascii log/3/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:39591 > log/3/stdout279 2> log/3/stderr279 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind280 ../src/curl -q --output log/13/curl280.out --include --trace-ascii log/13/trace280 --trace-time ftp://127.0.0.1:46845/280/ --ftp-alternative-to-user "USER replacement" > log/13/stdout280 2> log/13/stderr280 9/valgrind274 ../src/curl -q --output log/19/curl274.out --include --trace-ascii log/19/trace274 --trace-time http://127.0.0.1:35701/want/274 -L --max-redirs 0 > log/19/stdout274 2> log/19/stderr274 === End of file commands.log === Start of file http_server.log 05:46:04.702804 ====> Client connect 05:46:04.702838 accept_connection 3 returned 4 05:46:04.702854 accept_connection 3 returned 0 05:46:04.707190 Read 93 bytes 05:46:04.707213 Process 93 bytes request 05:46:04.707226 Got request: GET /verifiedserver HTTP/1.1 05:46:04.707235 Are-we-friendly question received 05:46:04.707278 Wrote request (93 bytes) input to log/19/server.input 05:46:04.707297 Identifying ourselves as friends 05:46:04.707351 Response sent (56 bytes) and written to log/19/server.response 05:46:04.707360 special request received, no persistency 05:46:04.707369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind274 ==92453== ==92453== Process terminating with default action of signal 4 (SIGILL) ==92453== Illegal opcode at address 0x4014883 ==92453== at 0x4014883: getparameter (tool_getparam.c:2899) ==92453== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92453== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92453== by 0x4004208: main (tool_main.c:189) === End of file valgrind274 test 0273...[HTTP with two Digest authorization headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind273 ../src/curl -q --output log/10/curl273.out --include --trace-ascii log/10/trace273 --trace-time http://127.0.0.1:46741/273 -u testuser:testpass --digest > log/10/stdout273 2> log/10/stderr273 273: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind273 ../src/curl -q --output log/10/curl273.out --include --trace-ascii log/10/trace273 --trace-time http://127.0.0.1:46741/273 -u testuser:testpass --digest > log/10/stdout273 2> log/10/stderr273 === End of file commands.log === Start of file http_server.log 05:46:04.432663 ====> Client connect 05:46:04.432725 accept_connection 3 returned 4 05:46:04.432745 accept_connection 3 returned 0 05:46:04.432762 Read 93 bytes 05:46:04.432772 Process 93 bytes request 05:46:04.432786 Got request: GET /verifiedserver HTTP/1.1 05:46:04.432795 Are-we-friendly question received 05:46:04.432820 Wrote request (93 bytes) input to log/10/server.input 05:46:04.432838 Identifying ourselves as friends 05:46:04.432917 Response sent (56 bytes) and written to log/10/server.response 05:46:04.432928 special request received, no persistency 05:46:04.432937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind273 ==92182== ==92182== Process terminating with default action of signal 4 (SIGILL) ==92182== Illegal opcode at address 0x4014883 ==92182== at 0x4014883: getparameter (tool_getparam.c:2899) ==92182== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92182== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92182== by 0x4004208: main (tool_main.c:189) === End of file valgrind273 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel test 0279...[HTTP with proxy string including http:// and user only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind279 ../src/curl -q --output log/3/curl279.out --include --trace-ascii log/3/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:39591 > log/3/stdout279 2> log/3/stderr279 279: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 279 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind279 ../src/curl -q --output log/3/curl279.out --include --trace-ascii log/3/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:39591 > log/3/stdout279 2> log/3/stderr279 === End of file commands.log === Start of file http_server.log 05:46:06.035064 ====> Client connect 05:46:06.035102 accept_connection 3 returned 4 05:46:06.035120 accept_connection 3 returned 0 05:46:06.035135 Read 93 bytes 05:46:06.035146 Process 93 bytes request 05:46:06.035160 Got request: GET /verifiedserver HTTP/1.1 05:46:06.035170 Are-we-friendly question received 05:46:06.035199 Wrote request (93 bytes) input to log/3/server.input 05:46:06.035218 Identifying ourselves as friends 05:46:06.035276 Response sent (56 bytes) and written to log/3/server.response 05:46:06.035286 special request received, no persistency 05:46:06.035295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 46276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 279 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind279 ==92655== ==92655== Process terminating with default action of signal 4 (SIGILL) ==92655== Illegal opcode at address 0x4014883 ==92655== at 0x4014883: getparameter (tool_getparam.c:2899) ==92655== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92655== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92655== by 0x4004208: main (tool_main.c:189) === End of file valgrind279 test 0280...[FTP --ftp-alternative-to-user on USER failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind281 ../src/curl -q --output log/14/curl281.out --include --trace-ascii log/14/trace281 --trace-time http://127.0.0.1:35549/we/want/281 -f -T log/14/test281.txt > log/14/stdout281 2> log/14/stderr281 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind280 ../src/curl -q --output log/13/curl280.out --include --trace-ascii log/13/trace280 --trace-time ftp://127.0.0.1:46845/280/ --ftp-alternative-to-user "USER replacement" > log/13/stdout280 2> log/13/stderr280 280: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind280 ../src/curl -q --output log/13/curl280.out --include --trace-ascii log/13/trace280 --trace-time ftp://127.0.0.1:46845/280/ --ftp-alternative-to-user "USER replacement" > log/13/stdout280 2> log/13/stderr280 === End of file commands.log === Start of file ftp_server.log 05:46:05.945687 ====> Client connect 05:46:05.945920 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:05.952461 < "USER anonymous" 05:46:05.952520 > "331 We are happy you popped in![CR][LF]" 05:46:05.959109 < "PASS ftp@example.com" 05:46:05.959170 > "230 Welcome you silly person[CR][LF]" 05:46:05.959411 < "PWD" 05:46:05.959453 > "257 "/" is current directory[CR][LF]" 05:46:05.959659 < "EPSV" 05:46:05.959689 ====> Passive DATA channel requested by client 05:46:05.959706 DATA sockfilt for passive data channel starting... 05:46:05.975643 DATA sockfilt for passive data channel started (pid 92806) 05:46:05.975825 DATA sockfilt for passive data channel listens on port 44157 05:46:05.975876 > "229 Entering Passive Mode (|||44157|)[CR][LF]" 05:46:05.975896 Client has been notified that DATA conn will be accepted on port 44157 05:46:05.978943 Client connects to port 44157 05:46:05.978989 ====> Client established passive DATA connection on port 44157 05:46:05.979114 < "TYPE I" 05:46:05.979157 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:05.982526 < "SIZE verifiedserver" 05:46:05.982596 > "213 17[CR][LF]" 05:46:05.982766 < "RETR verifiedserver" 05:46:05.982801 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:05.982902 =====> Closing passive DATA connection... 05:46:05.982921 Server disconnects passive DATA connection 05:46:05.987381 Server disconnected passive DATA connection 05:46:05.987434 DATA sockfilt for passive data channel quits (pid 92806) 05:46:05.987784 DATA sockfilt for passive data channel quit (pid 92806) 05:46:05.987818 =====> Closed passive DATA connection 05:46:05.987856 > "226 File transfer complete[CR][LF]" 05:46:06.035748 < "QUIT" 05:46:06.035815 > "221 bye bye baby[CR][LF]" 05:46:06.036943 MAIN sockfilt said DISC 05:46:06.036981 ====> Client disconnected 05:46:06.037081 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:06.407021 ====> Client connect 05:46:06.407404 Received DATA (on stdin) 05:46:06.407419 > 146 bytes data, server => client 05:46:06.407432 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:06.407443 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:06.407453 '220 \___|\___/|_| \_\_____|\r\n' 05:46:06.413685 < 16 bytes data, client => server 05:46:06.413724 'USER anonymous\r\n' 05:46:06.413994 Received DATA (on stdin) 05:46:06.414008 > 33 bytes data, server => client 05:46:06.414019 '331 We are happy you popped in!\r\n' 05:46:06.420380 < 22 bytes data, client => server 05:46:06.420407 'PASS ftp@example.com\r\n' 05:46:06.420646 Received DATA (on stdin) 05:46:06.420661 > 30 bytes data, server => client 05:46:06.420672 '230 Welcome you silly person\r\n' 05:46:06.420776 < 5 bytes data, client => server 05:46:06.420792 'PWD\r\n' 05:46:06.420922 Received DATA (on stdin) 05:46:06.420935 > 30 bytes data, server => client 05:46:06.420946 '257 "/" is current directory\r\n' 05:46:06.421023 < 6 bytes data, client => server 05:46:06.421039 'EPSV\r\n' 05:46:06.437662 Received DATA (on stdin) 05:46:06.437699 > 39 bytes data, server => client 05:46:06.437711 '229 Entering Passive Mode (|||44157|)\r\n' 05:46:06.437905 < 8 bytes data, client => server 05:46:06.437919 'TYPE I\r\n' 05:46:06.443667 Received DATA (on stdin) 05:46:06.443704 > 33 bytes data, server => client 05:46:06.443716 '200 I modify TYPE as you wanted\r\n' 05:46:06.443822 < 21 bytes data, client => server 05:46:06.443837 'SIZE verifiedserver\r\n' 05:46:06.444065 Received DATA (on stdin) 05:46:06.444078 > 8 bytes data, server => client 05:46:06.444087 '213 17\r\n' 05:46:06.444141 < 21 bytes data, client => server 05:46:06.444153 'RETR verifiedserver\r\n' 05:46:06.444389 Received DATA (on stdin) 05:46:06.444401 > 29 bytes data, server => client 05:46:06.444412 '150 Binary junk (17 bytes).\r\n' 05:46:06.449331 Received DATA (on stdin) 05:46:06.449346 > 28 bytes data, server => client 05:46:06.449356 '226 File transfer complete\r\n' 05:46:06.497011 < 6 bytes data, client => server 05:46:06.497042 'QUIT\r\n' 05:46:06.497290 Received DATA (on stdin) 05:46:06.497304 > 18 bytes data, server => client 05:46:06.497315 '221 bye bye baby\r\n' 05:46:06.498353 ====> Client disconnect 05:46:06.498558 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:05.431069 Running IPv4 version 05:46:05.431161 Listening on port 44157 05:46:05.431200 Wrote pid 92806 to log/13/server/ftp_sockdata.pid 05:46:05.437002 Received PING (on stdin) 05:46:05.437167 Received PORT (on stdin) 05:46:05.440337 ====> Client connect 05:46:05.448685 Received DATA (on stdin) 05:46:05.448726 > 17 bytes data, server => client 05:46:05.448738 'WE ROOLZ: 81411\r\n' 05:46:05.448791 Received DISC (on stdin) 05:46:05.448803 ====> Client forcibly disconnected 05:46:05.448924 Received QUIT (on stdin) 05:46:05.448942 quits 05:46:05.449059 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 530 We don't like USER commands COUNT USER 1 Testnum 280 === End of file server.cmd === Start of file valgrind280 ==92849== ==92849== Process terminating with default action of signal 4 (SIGILL) ==92849== Illegal opcode at address 0x4014883 ==92849== at 0x4014883: getparameter (tool_getparam.c:2899) ==92849== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92849== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92849== by 0x4004208: main (tool_main.c:189) === End of file valgrind280 test 0281...[HTTP PUT from file with 100 + 401 responses and -f without auth given] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind281 ../src/curl -q --output log/14/curl281.out --include --trace-ascii log/14/trace281 --trace-time http://127.0.0.1:35549/we/want/281 -f -T log/14/test281.txt > log/14/stdout281 2> log/14/stderr281 281: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind281 ../src/curl -q --output log/14/curl281.out --include --trace-ascii log/14/trace281 --trace-time http://127.0.0.1:35549/we/want/281 -f -T log/14/test281.txt > log/14/stdout281 2> log/14/stderr281 === End of file commands.log === Start of file http_server.log 05:46:06.586599 ====> Client connect 05:46:06.586635 accept_connection 3 returned 4 05:46:06.586652 accept_connection 3 returned 0 05:46:06.586666 Read 93 bytes 05:46:06.586675 Process 93 bytes request 05:46:06.586688 Got request: GET /verifiedserver HTTP/1.1 05:46:06.586696 Are-we-friendly question received 05:46CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind282 ../src/curl -q --output log/2/curl282.out --include --trace-ascii log/2/trace282 --trace-time http://127.0.0.1:41799/282 > log/2/stdout282 2> log/2/stderr282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind275 ../src/curl -q --output log/7/curl275.out --include --trace-ascii log/7/trace275 --trace-time http://remotesite.com.275:39013/we/want/that/page/275 -p -x 127.0.0.1:38747 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:39013/we/want/that/page/275 > log/7/stdout275 2> log/7/stderr275 :06.586722 Wrote request (93 bytes) input to log/14/server.input 05:46:06.586738 Identifying ourselves as friends 05:46:06.586793 Response sent (56 bytes) and written to log/14/server.response 05:46:06.586803 special request received, no persistency 05:46:06.586811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 42210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 281 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==92895== ==92895== Process terminating with default action of signal 4 (SIGILL) ==92895== Illegal opcode at address 0x4014883 ==92895== at 0x4014883: getparameter (tool_getparam.c:2899) ==92895== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92895== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92895== by 0x4004208: main (tool_main.c:189) === End of file valgrind281 test 0282...[HTTP GET with no response body or headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind282 ../src/curl -q --output log/2/curl282.out --include --trace-ascii log/2/trace282 --trace-time http://127.0.0.1:41799/282 > log/2/stdout282 2> log/2/stderr282 282: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind282 ../src/curl -q --output log/2/curl282.out --include --trace-ascii log/2/trace282 --trace-time http://127.0.0.1:41799/282 > log/2/stdout282 2> log/2/stderr282 === End of file commands.log === Start of file http_server.log 05:46:06.661274 ====> Client connect 05:46:06.661311 accept_connection 3 returned 4 05:46:06.661327 accept_connection 3 returned 0 05:46:06.661341 Read 93 bytes 05:46:06.661351 Process 93 bytes request 05:46:06.661364 Got request: GET /verifiedserver HTTP/1.1 05:46:06.661374 Are-we-friendly question received 05:46:06.661399 Wrote request (93 bytes) input to log/2/server.input 05:46:06.661415 Identifying ourselves as friends 05:46:06.661469 Response sent (56 bytes) and written to log/2/server.response 05:46:06.661479 special request received, no persistency 05:46:06.661487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 34548 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 282 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind282 ==92932== ==92932== Process terminating with default action of signal 4 (SIGILL) ==92932== Illegal opcode at address 0x4014883 ==92932== at 0x4014883: getparameter (tool_getparam.c:2899) ==92932== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92932== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92932== by 0x4004208: main (tool_main.c:189) === End of file valgrind282 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/7/server/http2_server.pid" --logfile "log/7/http2_server.log" --logdir "log/7" --portfile log/7/server/http2_server.port --config log/7/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 92451 port 38747 * pid http-proxy => 92451 92451 test 0275...[HTTP CONNECT with proxytunnel getting two URLs from the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind275 ../src/curl -q --output log/7/curl275.out --include --trace-ascii log/7/trace275 --trace-time http://remotesite.com.275:39013/we/want/that/page/275 -p -x 127.0.0.1:38747 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:39013/we/want/that/page/275 > log/7/stdout275 2> log/7/stderr275 275: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 275 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind275 ../src/curl -q --output log/7/curl275.out --include --trace-ascii log/7/trace275 --trace-time http://remotesite.com.275:39013/we/want/that/page/275 -p -x 127.0.0.1:38747 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:39013/we/want/that/page/275 > log/7/stdout275 2> log/7/stderr275 === End of file commands.log === Start of file http2_server.log 05:46:05.748568 Run as proxy, CONNECT to host 127.0.0.1 05:46:05.748686 Running HTTP IPv4 version on port 38747 05:46:05.748723 Wrote pid 92451 to log/7/server/http2_server.pid 05:46:05.748750 Wrote port 38747 to log/7/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:46:04.720387 ====> Client connect 05:46:04.720425 accept_connection 3 returned 4 05:46:04.720443 accept_connection 3 returned 0 05:46:04.720459 Read 93 bytes 05:46:04.720470 Process 93 bytes request 05:46:04.720486 Got request: GET /verifiedserver HTTP/1.1 05:46:04.720495 Are-we-friendly question received 05:46:04.720522 Wrote request (93 bytes) input to log/7/server.input 05:46:04.720540 Identifying ourselves as friends 05:46:04.720619 Response sent (56 bytes) and written to log/7/server.response 05:46:04.720629 special request received, no persistency 05:46:04.720638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 275 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind275 ==93016== ==93016== Process terminating with default action of signal 4 (SIGILL) ==93016== Illegal opcode at address 0x4014883 ==93016== at 0x4014883: getparameter (tool_getparam.c:2899) ==93016== by 0x4004208: UnknownInliCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind288 ../src/curl -q --output log/17/curl288.out --trace-ascii log/17/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/17/test288.txt > log/17/stdout288 2> log/17/stderr288 nedFun (tool_getparam.c:3082) ==93016== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93016== by 0x4004208: main (tool_main.c:189) === End of file valgrind275 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind271 ../src/curl -q --output log/12/curl271.out --include --trace-ascii log/12/trace271 --trace-time tftp://127.0.0.1:39919//271 > log/12/stdout271 2> log/12/stderr271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind287 ../src/curl -q --include --trace-ascii log/6/trace287 --trace-time http://test.remote.example.com.287:33035/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:33035 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/6/stdout287 2> log/6/stderr287 setenv all_proxy = http://fake:user@127.0.0.1:47/ test 0288...[file:// with (unsupported) proxy, authentication and range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind288 ../src/curl -q --output log/17/curl288.out --trace-ascii log/17/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/17/test288.txt > log/17/stdout288 2> log/17/stderr288 288: data FAILED: --- log/17/check-expected 2026-03-14 05:46:08.491282714 +0000 +++ log/17/check-generated 2026-03-14 05:46:08.491282714 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/17/ directory after test 288 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind288 ../src/curl -q --output log/17/curl288.out --trace-ascii log/17/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/17/test288.txt > log/17/stdout288 2> log/17/stderr288 === End of file commands.log === Start of file server.cmd Testnum 288 === End of file server.cmd === Start of file test288.txt foo bar bar foo moo === End of file test288.txt === Start of file valgrind288 ==93113== ==93113== Process terminating with default action of signal 4 (SIGILL) ==93113== Illegal opcode at address 0x4014883 ==93113== at 0x4014883: getparameter (tool_getparam.c:2899) ==93113== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93113== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93113== by 0x4004208: main (tool_main.c:189) === End of file valgrind288 test 0320 SKIPPED: no gnutls-serv (with SRP support) test 0321 SKIPPED: no gnutls-serv (with SRP support) test 0322 SKIPPED: no gnutls-serv (with SRP support) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/12/server/tftp_server.pid" --portfile "log/12/server/tftp_server.port" --logfile "log/12/tftp_server.log" --logdir "log/12" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92070 port 39919 * pid tftp => 92070 92070 test 0271...[TFTP retrieve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind271 ../src/curl -q --output log/12/curl271.out --include --trace-ascii log/12/trace271 --trace-time tftp://127.0.0.1:39919//271 > log/12/stdout271 2> log/12/stderr271 271: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind271 ../src/curl -q --output log/12/curl271.out --include --trace-ascii log/12/trace271 --trace-time tftp://127.0.0.1:39919//271 > log/12/stdout271 2> log/12/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 05:46:04.376006 Wrote pid 92070 to log/12/server/tftp_server.pid 05:46:04.376062 Wrote port 39919 to log/12/server/tftp_server.port 05:46:04.376075 Running IPv4 version on port UDP/39919 === End of file tftp_server.log === Start of file valgrind271 ==92774== ==92774== Process terminating with default action of signal 4 (SIGILL) ==92774== Illegal opcode at address 0x4014883 ==92774== at 0x4014883: getparameter (tool_getparam.c:2899) ==92774== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==92774== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==92774== by 0x4004208: main (tool_main.c:189) === End of file valgrind271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind283 ../src/curl -q --output log/22/curl283.out --include --trace-ascii log/22/trace283 --trace-time tftp://127.0.0.1:49415//invalid-file --tftp-blksize 1024 > log/22/stdout283 2> log/22/stderr283 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind289 ../src/curl -q --output log/23/curl289.out --include --trace-ascii log/23/trace289 --trace-time ftp://127.0.0.1:40271/289 -T log/23/illegal-nonexistent-file -C - > log/23/stdout289 2> log/23/stderr289 test 0287...[HTTP proxy CONNECT with custom User-Agent header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind287 ../src/curl -q --include --trace-ascii log/6/trace287 --trace-time http://test.remote.example.com.287:33035/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:33035 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/6/stdout287 2> log/6/stderr287 287: stdout FAILED: --- log/6/check-expected 2026-03-14 05:46:08.894616046 +0000 +++ log/6/check-generated 2026-03-14 05:46:08.894616046 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/6/ directory after test 287 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind287 ../src/curl -q --include --trace-ascii log/6/trace287 --trace-time http://test.remote.example.com.287:33035/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:33035 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/6/stdout287 2> log/6/stderr287 === End of file commands.log === Start of file http_server.log 05:46:06.039728 ====> Client connect 05:46:06.039764 accept_connection 3 returned 4 05:46:06.039780 accept_connection 3 returned 0 05:46:06.039795 Read 93 bytes 05:46:06.039805 Process 93 bytes request 05:46:06.039819 Got request: GET /verifiedserver HTTP/1.1 05:46:06.039829 Are-we-friendly question received 05:46:06.039859 Wrote request (93 bytes) input to log/6/server.input 05:46:06.039877 Identifying ourselves as friends 05:46:06.039939 Response sent (56 bytes) and written to log/6/server.response 05:46:06.039949 special request received, no persistency 05:46:06.039958 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 47180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind287 ==93120== ==93120== Process terminating with default action of signal 4 (SIGILL) ==93120== Illegal opcode at address 0x4014883 ==93120== at 0x4014883: getparameter (tool_getparam.c:2899) ==93120== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93120== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93120== by 0x4004208: main (tool_main.c:189) === End of file valgrind287 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/22/server/tftp_server.pid" --portfile "log/22/server/tftp_server.port" --logfile "log/22/tftp_server.log" --logdir "log/22" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92877 port 49415 * pid tftp => 92877 92877 test 0283...[TFTP retrieve on invalid file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind283 ../src/curl -q --output log/22/curl283.out --include --trace-ascii log/22/trace283 --trace-time tftp://127.0.0.1:49415//invalid-file --tftp-blksize 1024 > log/22/stdout283 2> log/22/stderr283 283: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind283 ../src/curl -q --output log/22/curl283.out --include --trace-ascii log/22/trace283 --trace-time tftp://127.0.0.1:49415//invalid-file --tftp-blksize 1024 > log/22/stdout283 2> log/22/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 05:46:06.599734 Wrote pid 92877 to log/22/server/tftp_server.pid 05:46:06.599800 Wrote port 49415 to log/22/server/tftp_server.port 05:46:06.599814 Running IPv4 version on port UDP/49415 === End of file tftp_server.log === Start of file valgrind283 ==93384== ==93384== Process terminating with default action of signal 4 (SIGILL) ==93384== Illegal opcode at address 0x4014883 ==93384== at 0x4014883: getparameter (tool_getparam.c:2899) ==93384== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93384== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93384== by 0x4004208: main (tool_main.c:189) === End of file valgrind283 test 0289...[FTP resume upload but denied access to local file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind289 ../src/curl -q --output log/23/curl289.out --include --trace-ascii log/23/trace289 --trace-time ftp://127.0.0.1:40271/289 -T log/23/illegal-nonexistent-file -C - > log/23/stdout289 2> log/23/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/23/ directory after test 289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind289 ../src/curl -q --output log/23/curl289.out --include --trace-ascii log/23/trace289 --trace-time ftp://127.0.0.1:40271/289 -T log/23/illegal-nonexistent-file -C - > log/23/stdout289 2> log/23/stderr289 === End of file commands.log === Start of file ftp_server.log 05:46:06.742400 ====> Client connect 05:46:06.742601 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:06.742920 < "USER anonymous" 05:46:06.742980 > "331 We are happy you popped in![CR][LF]" 05:46:06.743112 < "PASS ftp@example.com" 05:46:06.743138 > "230 Welcome you silly person[CR][LF]" 05:46:06.743294 < "PWD" 05:46:06.743327 > "257 "/" is current directory[CR][LF]" 05:46:06.743493 < "EPSV" 05:46:06.743516 ====> Passive DATA channel requested by client 05:46:06.743530 DATA sockfilt for passive data channel starting... 05:46:06.758995 DATA sockfilt for passive data channel started (pid 93193) 05:46:06.759173 DATA sockfilt for passive data channel listens on port 45053 05:46:06.759233 > "229 Entering Passive Mode (|||45053|)[CR][LF]" 05:46:06.759260 Client has been notified that DATA conn will be accepted on port 45053 05:46:06.762524 Client connects to port 45053 05:46:06.762578 ====> Client established passive DATA connection on port 45053 05:46:06.762707 < "TYPE I" 05:46:06.762751 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:06.762944 < "SIZE verifiedserver" 05:46:06.762992 > "213 17[CR][LF]" 05:46:06.763176 < "RETR verifiedserver" 05:46:06.763218 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:06.763327 =====> Closing passive DATA connection... 05:46:06.763353 Server disconnects passive DATA connection 05:46:06.763648 Server disconnected passive DATA connection 05:46:06.763680 DATA sockfilt for passive data channel quits (pid 93193) 05:46:06.763983 DATA sockfilt for passive daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind290 ../src/curl -q --output log/8/curl290.out --include --trace-ascii log/8/trace290 --trace-time ftp://127.0.0.1:41333/290 --max-filesize 30 > log/8/stdout290 2> log/8/stderr290 ta channel quit (pid 93193) 05:46:06.764013 =====> Closed passive DATA connection 05:46:06.764045 > "226 File transfer complete[CR][LF]" 05:46:06.809145 < "QUIT" 05:46:06.809206 > "221 bye bye baby[CR][LF]" 05:46:06.813267 MAIN sockfilt said DISC 05:46:06.813314 ====> Client disconnected 05:46:06.813400 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:07.203693 ====> Client connect 05:46:07.204074 Received DATA (on stdin) 05:46:07.204088 > 146 bytes data, server => client 05:46:07.204099 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:07.204110 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:07.204119 '220 \___|\___/|_| \_\_____|\r\n' 05:46:07.204237 < 16 bytes data, client => server 05:46:07.204247 'USER anonymous\r\n' 05:46:07.204395 Received DATA (on stdin) 05:46:07.204405 > 33 bytes data, server => client 05:46:07.204443 '331 We are happy you popped in!\r\n' 05:46:07.204490 < 22 bytes data, client => server 05:46:07.204502 'PASS ftp@example.com\r\n' 05:46:07.204600 Received DATA (on stdin) 05:46:07.204610 > 30 bytes data, server => client 05:46:07.204620 '230 Welcome you silly person\r\n' 05:46:07.204671 < 5 bytes data, client => server 05:46:07.204682 'PWD\r\n' 05:46:07.204791 Received DATA (on stdin) 05:46:07.204802 > 30 bytes data, server => client 05:46:07.204812 '257 "/" is current directory\r\n' 05:46:07.204874 < 6 bytes data, client => server 05:46:07.204884 'EPSV\r\n' 05:46:07.220738 Received DATA (on stdin) 05:46:07.220758 > 39 bytes data, server => client 05:46:07.220770 '229 Entering Passive Mode (|||45053|)\r\n' 05:46:07.223866 < 8 bytes data, client => server 05:46:07.223895 'TYPE I\r\n' 05:46:07.224220 Received DATA (on stdin) 05:46:07.224234 > 33 bytes data, server => client 05:46:07.224245 '200 I modify TYPE as you wanted\r\n' 05:46:07.224310 < 21 bytes data, client => server 05:46:07.224324 'SIZE verifiedserver\r\n' 05:46:07.224462 Received DATA (on stdin) 05:46:07.224474 > 8 bytes data, server => client 05:46:07.224485 '213 17\r\n' 05:46:07.224541 < 21 bytes data, client => server 05:46:07.224556 'RETR verifiedserver\r\n' 05:46:07.224823 Received DATA (on stdin) 05:46:07.224837 > 29 bytes data, server => client 05:46:07.224848 '150 Binary junk (17 bytes).\r\n' 05:46:07.225511 Received DATA (on stdin) 05:46:07.225524 > 28 bytes data, server => client 05:46:07.225534 '226 File transfer complete\r\n' 05:46:07.270388 < 6 bytes data, client => server 05:46:07.270428 'QUIT\r\n' 05:46:07.270678 Received DATA (on stdin) 05:46:07.270691 > 18 bytes data, server => client 05:46:07.270701 '221 bye bye baby\r\n' 05:46:07.274663 ====> Client disconnect 05:46:07.274861 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:06.212443 Running IPv4 version 05:46:06.212538 Listening on port 45053 05:46:06.212584 Wrote pid 93193 to log/23/server/ftp_sockdata.pid 05:46:06.220347 Received PING (on stdin) 05:46:06.220522 Received PORT (on stdin) 05:46:06.223926 ====> Client connect 05:46:06.224911 Received DATA (on stdin) 05:46:06.224930 > 17 bytes data, server => client 05:46:06.224941 'WE ROOLZ: 81405\r\n' 05:46:06.224984 Received DISC (on stdin) 05:46:06.224999 ====> Client forcibly disconnected 05:46:06.225154 Received QUIT (on stdin) 05:46:06.225165 quits 05:46:06.225271 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==93242== ==93242== Process terminating with default action of signal 4 (SIGILL) ==93242== Illegal opcode at address 0x4014883 ==93242== at 0x4014883: getparameter (tool_getparam.c:2899) ==93242== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93242== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93242== by 0x4004208: main (tool_main.c:189) === End of file valgrind289 test 0290...[FTP download maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind290 ../src/curl -q --output log/8/curl290.out --include --trace-ascii log/8/trace290 --trace-time ftp://127.0.0.1:41333/290 --max-filesize 30 > log/8/stdout290 2> log/8/stderr290 290: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind290 ../src/curl -q --output log/8/curl290.out --include --trace-ascii log/8/trace290 --trace-time ftp://127.0.0.1:41333/290 --max-filesize 30 > log/8/stdout290 2> log/8/stderr290 === End of file commands.log === Start of file ftp_server.log 05:46:06.850696 ====> Client connect 05:46:06.850860 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:06.851137 < "USER anonymous" 05:46:06.851171 > "331 We are happy you popped in![CR][LF]" 05:46:06.851324 < "PASS ftp@example.com" 05:46:06.851349 > "230 Welcome you silly person[CR][LF]" 05:46:06.851488 < "PWD" 05:46:06.851518 > "257 "/" is current directory[CR][LF]" 05:46:06.851668 < "EPSV" 05:46:06.851691 ====> Passive DATA channel requested by client 05:46:06.851705 DATA sockfilt for passive data channel starting... 05:46:06.868953 DATA sockfilt for passive data channel started (pid 93262) 05:46:06.869114 DATA sockfilt for passive data channel listens on port 39081 05:46:06.869164 > "229 Entering Passive Mode (|||39081|)[CR][LF]" 05:46:06.869183 Client has been notified that DATA conn will be accepted on port 39081 05:46:06.875632 Client connects to port 39081 05:46:06.875701 ====> Client established passive DATA connection on port 39081 05:46:06.875845 < "TYPE I" 05:46:06.875900 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:06.879113 < "SIZE verifiedserver" 05:46:06.879162 > "213 17[CR][LF]" 05:46:06.879304 < "RETR verifiedserver" 05:46:06.879336 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:06.879432 =====> Closing passive DATA connection... 05:46:06.879447 Server disconnects passive DATA connection 05:46:06.882321 Server disconnected passive DATA connection 05:46:06.882356 DATA sockfilt for passive data channel quits (pid 93262) 05:46:06.888931 DATA sockfilt for passive data channel quit (pid 93262) 05:46:06.889004 =====> Closed passive DATA connection 05:46:06.889049 > "226 File transfer complete[CR][LF]" 05:46:06.925888 < "QUIT" 05:46:06.925957 > "221 bye bye baby[CR][LF]" 05:46:06.927210 MAIN sockfilt said DISC 05:46:06.927247 ====> Client disconnected 05:46:06.927348 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:07.312024 ====> Client connect 05:46:07.312337 Received DATA (on stdin) 05:46:07.312350 > 146 bytes data, server => client 05:46:07.312362 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:07.312373 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:07.312382 '220 \___|\___/|_| \_\_____|\r\n' 05:46:07.312454 < 16 bytes data, client => server 05:46:07.312470 'USER anonymous\r\n' 05:46:07.312635 Received DATA (on stdin) 05:46:07.312646 > 33 bytes data, server => client 05:46:07.312656 '331 We are happy you popped in!\r\n' 05:46:07.312705 < 22 bytes data, client => server 05:46:07.312715 'PASS ftp@example.com\r\n' 05:46:07.312811 Received DATA (on stdin) 05:46:07.312821 > 30 bytes data, server => client 05:46:07.312831 '230 Welcome you silly person\r\n' 05:46:07.312874 < 5 bytes data, client => server 05:46:07.312884 'PWD\r\n' 05:46:07.312979 Received DATA (on stdin) 05:46:07.312990 > 30 bytes data, server => client 05:46:07.313000 '257 "/" is current directory\r\n' 05:46:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind293 ../src/curl -q --output log/9/curl293.out --include --trace-ascii log/9/trace293 --trace-time http://127.0.0.1:33885/293 --max-filesize 2 > log/9/stdout293 2> log/9/stderr293 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind286 ../src/curl -q --output log/21/curl286.out --include --trace-ascii log/21/trace286 --trace-time -T log/21/test286.txt tftp://127.0.0.1:42374// > log/21/stdout286 2> log/21/stderr286 07.313053 < 6 bytes data, client => server 05:46:07.313063 'EPSV\r\n' 05:46:07.333791 Received DATA (on stdin) 05:46:07.333824 > 39 bytes data, server => client 05:46:07.333836 '229 Entering Passive Mode (|||39081|)\r\n' 05:46:07.334032 < 8 bytes data, client => server 05:46:07.334044 'TYPE I\r\n' 05:46:07.340334 Received DATA (on stdin) 05:46:07.340361 > 33 bytes data, server => client 05:46:07.340373 '200 I modify TYPE as you wanted\r\n' 05:46:07.340463 < 21 bytes data, client => server 05:46:07.340474 'SIZE verifiedserver\r\n' 05:46:07.340626 Received DATA (on stdin) 05:46:07.340636 > 8 bytes data, server => client 05:46:07.340646 '213 17\r\n' 05:46:07.340690 < 21 bytes data, client => server 05:46:07.340701 'RETR verifiedserver\r\n' 05:46:07.340913 Received DATA (on stdin) 05:46:07.340924 > 29 bytes data, server => client 05:46:07.340934 '150 Binary junk (17 bytes).\r\n' 05:46:07.350528 Received DATA (on stdin) 05:46:07.350546 > 28 bytes data, server => client 05:46:07.350557 '226 File transfer complete\r\n' 05:46:07.387137 < 6 bytes data, client => server 05:46:07.387176 'QUIT\r\n' 05:46:07.387434 Received DATA (on stdin) 05:46:07.387447 > 18 bytes data, server => client 05:46:07.387458 '221 bye bye baby\r\n' 05:46:07.388619 ====> Client disconnect 05:46:07.388825 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:06.324586 Running IPv4 version 05:46:06.324706 Listening on port 39081 05:46:06.324740 Wrote pid 93262 to log/8/server/ftp_sockdata.pid 05:46:06.330337 Received PING (on stdin) 05:46:06.330467 Received PORT (on stdin) 05:46:06.337021 ====> Client connect 05:46:06.343667 Received DATA (on stdin) 05:46:06.343691 > 17 bytes data, server => client 05:46:06.343702 'WE ROOLZ: 81360\r\n' 05:46:06.343739 Received DISC (on stdin) 05:46:06.343751 ====> Client forcibly disconnected 05:46:06.346995 Received QUIT (on stdin) 05:46:06.347016 quits 05:46:06.347125 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==93282== ==93282== Process terminating with default action of signal 4 (SIGILL) ==93282== Illegal opcode at address 0x4014883 ==93282== at 0x4014883: getparameter (tool_getparam.c:2899) ==93282== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93282== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93282== by 0x4004208: main (tool_main.c:189) === End of file valgrind290 test 0293...[HTTP GET with maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind293 ../src/curl -q --output log/9/curl293.out --include --trace-ascii log/9/trace293 --trace-time http://127.0.0.1:33885/293 --max-filesize 2 > log/9/stdout293 2> log/9/stderr293 293: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind293 ../src/curl -q --output log/9/curl293.out --include --trace-ascii log/9/trace293 --trace-time http://127.0.0.1:33885/293 --max-filesize 2 > log/9/stdout293 2> log/9/stderr293 === End of file commands.log === Start of file http_server.log 05:46:06.626027 ====> Client connect 05:46:06.626082 accept_connection 3 returned 4 05:46:06.626099 accept_connection 3 returned 0 05:46:06.626113 Read 93 bytes 05:46:06.626123 Process 93 bytes request 05:46:06.626136 Got request: GET /verifiedserver HTTP/1.1 05:46:06.626145 Are-we-friendly question received 05:46:06.626169 Wrote request (93 bytes) input to log/9/server.input 05:46:06.626186 Identifying ourselves as friends 05:46:06.626241 Response sent (56 bytes) and written to log/9/server.response 05:46:06.626252 special request received, no persistency 05:46:06.626261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 45436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind293 ==93445== ==93445== Process terminating with default action of signal 4 (SIGILL) ==93445== Illegal opcode at address 0x4014883 ==93445== at 0x4014883: getparameter (tool_getparam.c:2899) ==93445== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93445== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93445== by 0x4004208: main (tool_main.c:189) === End of file valgrind293 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/21/server/tftp_server.pid" --portfile "log/21/server/tftp_server.port" --logfile "log/21/tftp_server.log" --logdir "log/21" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 93040 port 42374 * pid tftp => 93040 93040 test 0286...[TFTP send of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind286 ../src/curl -q --output log/21/curl286.out --include --trace-ascii log/21/trace286 --trace-time -T log/21/test286.txt tftp://127.0.0.1:42374// > log/21/stdout286 2> log/21/stderr286 286: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind286 ../src/curl -q --output log/21/curl286.out --include --trace-ascii log/21/trace286 --trace-time -T log/21/test286.txt tftp://127.0.0.1:42374// > log/21/stdout286 2> log/21/stderr286 === End of file commands.log === Start of file server.cmd Testnum 286 === End of file server.cmd === Start of file test286.txt 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 === End of file test286.txt === Start of file tftp_server.log 05:46:06.886081 Wrote pid 93040 to log/21/server/tftp_server.pid 05:46:06.886135 Wrote port 42374 to log/21/server/tftp_server.port 05:46:06.886147 Running IPv4 version on port UDP/42374 === End of file tftp_server.log === Start of file valgrind286 ==93747== ==93747== Process terminating with default action of signal 4 (SIGILL) ==93747== Illegal opcode at address 0x4014883 ==93747== at 0x4014883: getparameter (tool_getparam.c:2899) ==93747== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93747== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93747== by 0x4004208: main (tool_main.c:189) === End CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind292 ../src/curl -q --output log/15/curl292.out --include --trace-ascii log/15/trace292 --trace-time http://127.0.0.1:43413/292 --max-filesize 1000 > log/15/stdout292 2> log/15/stderr292 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind285 ../src/curl -q --output log/24/curl285.out --include --trace-ascii log/24/trace285 --trace-time -T log/24/test285.txt tftp://127.0.0.1:36273// --connect-timeout 549 --max-time 599 > log/24/stdout285 2> log/24/stderr285 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind295 ../src/curl -q --output log/4/curl295.out --include --trace-ascii log/4/trace295 --trace-time ftp://127.0.0.1:43777/295/ > log/4/stdout295 2> log/4/stderr295 of file valgrind286 test 0292...[HTTP GET with maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind292 ../src/curl -q --output log/15/curl292.out --include --trace-ascii log/15/trace292 --trace-time http://127.0.0.1:43413/292 --max-filesize 1000 > log/15/stdout292 2> log/15/stderr292 292: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind292 ../src/curl -q --output log/15/curl292.out --include --trace-ascii log/15/trace292 --trace-time http://127.0.0.1:43413/292 --max-filesize 1000 > log/15/stdout292 2> log/15/stderr292 === End of file commands.log === Start of file http_server.log 05:46:07.621438 ====> Client connect 05:46:07.621466 accept_connection 3 returned 4 05:46:07.621482 accept_connection 3 returned 0 05:46:07.621496 Read 93 bytes 05:46:07.621506 Process 93 bytes request 05:46:07.621519 Got request: GET /verifiedserver HTTP/1.1 05:46:07.621529 Are-we-friendly question received 05:46:07.621553 Wrote request (93 bytes) input to log/15/server.input 05:46:07.621570 Identifying ourselves as friends 05:46:07.621627 Response sent (56 bytes) and written to log/15/server.response 05:46:07.621637 special request received, no persistency 05:46:07.621645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind292 ==93449== ==93449== Process terminating with default action of signal 4 (SIGILL) ==93449== Illegal opcode at address 0x4014883 ==93449== at 0x4014883: getparameter (tool_getparam.c:2899) ==93449== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93449== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93449== by 0x4004208: main (tool_main.c:189) === End of file valgrind292 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/24/server/tftp_server.pid" --portfile "log/24/server/tftp_server.port" --logfile "log/24/tftp_server.log" --logdir "log/24" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92998 port 36273 * pid tftp => 92998 92998 test 0285...[TFTP send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind285 ../src/curl -q --output log/24/curl285.out --include --trace-ascii log/24/trace285 --trace-time -T log/24/test285.txt tftp://127.0.0.1:36273// --connect-timeout 549 --max-time 599 > log/24/stdout285 2> log/24/stderr285 285: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind285 ../src/curl -q --output log/24/curl285.out --include --trace-ascii log/24/trace285 --trace-time -T log/24/test285.txt tftp://127.0.0.1:36273// --connect-timeout 549 --max-time 599 > log/24/stdout285 2> log/24/stderr285 === End of file commands.log === Start of file server.cmd Testnum 285 === End of file server.cmd === Start of file test285.txt a chunk of data sent to server === End of file test285.txt === Start of file tftp_server.log 05:46:06.833437 Wrote pid 92998 to log/24/server/tftp_server.pid 05:46:06.833495 Wrote port 36273 to log/24/server/tftp_server.port 05:46:06.833508 Running IPv4 version on port UDP/36273 === End of file tftp_server.log === Start of file valgrind285 ==93617== ==93617== Process terminating with default action of signal 4 (SIGILL) ==93617== Illegal opcode at address 0x4014883 ==93617== at 0x4014883: getparameter (tool_getparam.c:2899) ==93617== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93617== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93617== by 0x4004208: main (tool_main.c:189) === End of file valgrind285 test 0295...[FTP ACCT request without --ftp-account] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind295 ../src/curl -q --output log/4/curl295.out --include --trace-ascii log/4/trace295 --trace-time ftp://127.0.0.1:43777/295/ > log/4/stdout295 2> log/4/stderr295 295: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 295 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind295 ../src/curl -q --output log/4/curl295.out --include --trace-ascii log/4/trace295 --trace-time ftp://127.0.0.1:43777/295/ > log/4/stdout295 2> log/4/stderr295 === End of file commands.log === Start of file ftp_server.log 05:46:07.402094 ====> Client connect 05:46:07.402282 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:07.402616 < "USER anonymous" 05:46:07.402649 > "331 We are happy you popped in![CR][LF]" 05:46:07.402803 < "PASS ftp@example.com" 05:46:07.402827 > "230 Welcome you silly person[CR][LF]" 05:46:07.402964 < "PWD" 05:46:07.402991 > "257 "/" is current directory[CR][LF]" 05:46:07.403139 < "EPSV" 05:46:07.403162 ====> Passive DATA channel requested by client 05:46:07.403176 DATA sockfilt for passive data channel starting... 05:46:07.412583 DATA sockfilt for passive data channel started (pid 93712) 05:46:07.412747 DATA sockfilt for passive data channel listens on port 46043 05:46:07.412799 > "229 Entering Passive Mode (|||46043|)[CR][LF]" 05:46:07.412818 Client has been notified that DATA conn will be accepted on port 46043 05:46:07.419258 Client connects to port 46043 05:46:07.419329 ====> Client established passive DATA connection on port 46043 05:46:07.419455 < "TYPE I" 05:46:07.419497 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:07.419659 < "SIZE verifiedserver" 05:46:07.419699 > "213 17[CR][LF]" 05:46:07.419843 < "RETR verifiedserver" 05:46:07.419879 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:07.419979 =====> Closing passive DATA connection... 05:46:07.419996 Server disconnects passive DATA connection 05:46:07.420438 Server disconnected passive DATA connection 05:46:07.420474 DATA sockfilt for passive data channel quits (pid 93712) 05:46:07.420758 DATA sockfilt for passive data channel quit (pid 93712) 05:46:07.420784 =====> Closed passive DATA connection 05:46:07.420813 > "226 File transfer complete[CR][LF]" 05:46:07.492456 < "QUIT" 05:46:07.492531 > "221 bye bye baby[CR][LF]" 05:46:07.498999 MAIN sockfilt said DISC 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind284 ../src/curl -q --output log/18/curl284.out --include --trace-ascii log/18/trace284 --trace-time tftp://127.0.0.1:59739//284 > log/18/stdout284 2> log/18/stderr284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind294 ../src/curl -q --output log/20/curl294.out --include --trace-ascii log/20/trace294 --trace-time ftp://127.0.0.1:46185/294/ --ftp-account "data for acct" > log/20/stdout294 2> log/20/stderr294 5:46:07.499065 ====> Client disconnected 05:46:07.499160 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:07.863410 ====> Client connect 05:46:07.863761 Received DATA (on stdin) 05:46:07.863776 > 146 bytes data, server => client 05:46:07.863788 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:07.863797 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:07.863807 '220 \___|\___/|_| \_\_____|\r\n' 05:46:07.863932 < 16 bytes data, client => server 05:46:07.863945 'USER anonymous\r\n' 05:46:07.864114 Received DATA (on stdin) 05:46:07.864125 > 33 bytes data, server => client 05:46:07.864135 '331 We are happy you popped in!\r\n' 05:46:07.864184 < 22 bytes data, client => server 05:46:07.864194 'PASS ftp@example.com\r\n' 05:46:07.864288 Received DATA (on stdin) 05:46:07.864298 > 30 bytes data, server => client 05:46:07.864307 '230 Welcome you silly person\r\n' 05:46:07.864351 < 5 bytes data, client => server 05:46:07.864361 'PWD\r\n' 05:46:07.864451 Received DATA (on stdin) 05:46:07.864461 > 30 bytes data, server => client 05:46:07.864471 '257 "/" is current directory\r\n' 05:46:07.864528 < 6 bytes data, client => server 05:46:07.864537 'EPSV\r\n' 05:46:07.880345 Received DATA (on stdin) 05:46:07.880387 > 39 bytes data, server => client 05:46:07.880398 '229 Entering Passive Mode (|||46043|)\r\n' 05:46:07.880610 < 8 bytes data, client => server 05:46:07.880625 'TYPE I\r\n' 05:46:07.880962 Received DATA (on stdin) 05:46:07.880974 > 33 bytes data, server => client 05:46:07.880985 '200 I modify TYPE as you wanted\r\n' 05:46:07.881040 < 21 bytes data, client => server 05:46:07.881050 'SIZE verifiedserver\r\n' 05:46:07.881160 Received DATA (on stdin) 05:46:07.881171 > 8 bytes data, server => client 05:46:07.881180 '213 17\r\n' 05:46:07.881225 < 21 bytes data, client => server 05:46:07.881236 'RETR verifiedserver\r\n' 05:46:07.881460 Received DATA (on stdin) 05:46:07.881471 > 29 bytes data, server => client 05:46:07.881482 '150 Binary junk (17 bytes).\r\n' 05:46:07.882278 Received DATA (on stdin) 05:46:07.882290 > 28 bytes data, server => client 05:46:07.882301 '226 File transfer complete\r\n' 05:46:07.943719 < 6 bytes data, client => server 05:46:07.943764 'QUIT\r\n' 05:46:07.954008 Received DATA (on stdin) 05:46:07.954030 > 18 bytes data, server => client 05:46:07.954040 '221 bye bye baby\r\n' 05:46:07.960382 ====> Client disconnect 05:46:07.960635 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:07.867855 Running IPv4 version 05:46:07.867923 Listening on port 46043 05:46:07.867958 Wrote pid 93712 to log/4/server/ftp_sockdata.pid 05:46:07.873962 Received PING (on stdin) 05:46:07.874095 Received PORT (on stdin) 05:46:07.880651 ====> Client connect 05:46:07.881507 Received DATA (on stdin) 05:46:07.881521 > 17 bytes data, server => client 05:46:07.881535 'WE ROOLZ: 81463\r\n' 05:46:07.881559 Received DISC (on stdin) 05:46:07.881570 ====> Client forcibly disconnected 05:46:07.881948 Received QUIT (on stdin) 05:46:07.881960 quits 05:46:07.882052 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY PWD 530 No ACCT, go away Testnum 295 === End of file server.cmd === Start of file valgrind295 ==93814== ==93814== Process terminating with default action of signal 4 (SIGILL) ==93814== Illegal opcode at address 0x4014883 ==93814== at 0x4014883: getparameter (tool_getparam.c:2899) ==93814== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93814== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93814== by 0x4004208: main (tool_main.c:189) === End of file valgrind295 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/18/server/tftp_server.pid" --portfile "log/18/server/tftp_server.port" --logfile "log/18/tftp_server.log" --logdir "log/18" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92972 port 59739 * pid tftp => 92972 92972 test 0284...[TFTP retrieve of boundary case 512 byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind284 ../src/curl -q --output log/18/curl284.out --include --trace-ascii log/18/trace284 --trace-time tftp://127.0.0.1:59739//284 > log/18/stdout284 2> log/18/stderr284 284: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind284 ../src/curl -q --output log/18/curl284.out --include --trace-ascii log/18/trace284 --trace-time tftp://127.0.0.1:59739//284 > log/18/stdout284 2> log/18/stderr284 === End of file commands.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 05:46:06.782030 Wrote pid 92972 to log/18/server/tftp_server.pid 05:46:06.782097 Wrote port 59739 to log/18/server/tftp_server.port 05:46:06.782110 Running IPv4 version on port UDP/59739 === End of file tftp_server.log === Start of file valgrind284 ==93574== ==93574== Process terminating with default action of signal 4 (SIGILL) ==93574== Illegal opcode at address 0x4014883 ==93574== at 0x4014883: getparameter (tool_getparam.c:2899) ==93574== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93574== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93574== by 0x4004208: main (tool_main.c:189) === End of file valgrind284 test 0294...[FTP --ftp-account on ACCT request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind294 ../src/curl -q --output log/20/curl294.out --include --trace-ascii log/20/trace294 --trace-time ftp://127.0.0.1:46185/294/ --ftp-account "data for acct" > log/20/stdout294 2> log/20/stderr294 294: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 294 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind294 ../src/curl -q --output log/20/curl294.out --include --trace-ascii log/20/trace294 --trace-time ftp://127.0.0.1:46185/294/ --ftp-account "data for acct" > log/20/stdout294 2> log/20/stderr294 === End of file commands.log === Start of file ftp_server.log 05:46:07.152375 ====> Client connect 05:46:07.152551 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:07.153470 < "USER anonymous" 05:46:07.153520 > "331 We are happy you popped in![CR][LF]" 05:46:07.153682 < "PASS ftp@example.com" 05:46:07.153708 > "230 Welcome you silly person[CR][LF]" 05:46:07.153850 < "PWD" 05:46:07.153881 > "257 "/" is current directory[CR][LF]" 05:46:07.154030 < "EPSV" 05:46:07.154057 ====> Passive DATA channel requested by client 05:46:07.154070 DATA sockfilt for passive data channel starting... 05:46:07.160015 DATA sockfilt for passive data channel started (pid 93432) 05:46:07.160157 DATA sockfilt for passive data channel listens on port 44123 05:46:07.160207 > "229 Entering Passive Mode (|||44123|)[CR][LF]" 05:46:07.160227 Client has been notified that DATA conn will be accepted on port 44123 05:46:07.160442 Client connects to port 44123 05:46:07.160473 ====> Client established passive DATA connection on port 44123 05:46:07.160609 < "TYPE I" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind297 ../src/curl -q --output log/16/curl297.out --include --trace-ascii log/16/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41717/first/second/third/297 > log/16/stdout297 2> log/16/stderr297 05:46:07.160643 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:07.160796 < "SIZE verifiedserver" 05:46:07.160833 > "213 17[CR][LF]" 05:46:07.160968 < "RETR verifiedserver" 05:46:07.160997 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:07.161083 =====> Closing passive DATA connection... 05:46:07.161099 Server disconnects passive DATA connection 05:46:07.161304 Server disconnected passive DATA connection 05:46:07.161328 DATA sockfilt for passive data channel quits (pid 93432) 05:46:07.161526 DATA sockfilt for passive data channel quit (pid 93432) 05:46:07.161553 =====> Closed passive DATA connection 05:46:07.161581 > "226 File transfer complete[CR][LF]" 05:46:07.209311 < "QUIT" 05:46:07.209386 > "221 bye bye baby[CR][LF]" 05:46:07.210736 MAIN sockfilt said DISC 05:46:07.210774 ====> Client disconnected 05:46:07.210874 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:07.613691 ====> Client connect 05:46:07.614027 Received DATA (on stdin) 05:46:07.614040 > 146 bytes data, server => client 05:46:07.614054 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:07.614064 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:07.614072 '220 \___|\___/|_| \_\_____|\r\n' 05:46:07.614721 < 16 bytes data, client => server 05:46:07.614750 'USER anonymous\r\n' 05:46:07.614989 Received DATA (on stdin) 05:46:07.615001 > 33 bytes data, server => client 05:46:07.615010 '331 We are happy you popped in!\r\n' 05:46:07.615061 < 22 bytes data, client => server 05:46:07.615070 'PASS ftp@example.com\r\n' 05:46:07.615170 Received DATA (on stdin) 05:46:07.615181 > 30 bytes data, server => client 05:46:07.615191 '230 Welcome you silly person\r\n' 05:46:07.615235 < 5 bytes data, client => server 05:46:07.615245 'PWD\r\n' 05:46:07.615342 Received DATA (on stdin) 05:46:07.615352 > 30 bytes data, server => client 05:46:07.615362 '257 "/" is current directory\r\n' 05:46:07.615416 < 6 bytes data, client => server 05:46:07.615426 'EPSV\r\n' 05:46:07.621701 Received DATA (on stdin) 05:46:07.621718 > 39 bytes data, server => client 05:46:07.621730 '229 Entering Passive Mode (|||44123|)\r\n' 05:46:07.621959 < 8 bytes data, client => server 05:46:07.621970 'TYPE I\r\n' 05:46:07.622108 Received DATA (on stdin) 05:46:07.622119 > 33 bytes data, server => client 05:46:07.622129 '200 I modify TYPE as you wanted\r\n' 05:46:07.622178 < 21 bytes data, client => server 05:46:07.622188 'SIZE verifiedserver\r\n' 05:46:07.622294 Received DATA (on stdin) 05:46:07.622304 > 8 bytes data, server => client 05:46:07.622312 '213 17\r\n' 05:46:07.622356 < 21 bytes data, client => server 05:46:07.622366 'RETR verifiedserver\r\n' 05:46:07.622565 Received DATA (on stdin) 05:46:07.622576 > 29 bytes data, server => client 05:46:07.622586 '150 Binary junk (17 bytes).\r\n' 05:46:07.623047 Received DATA (on stdin) 05:46:07.623059 > 28 bytes data, server => client 05:46:07.623068 '226 File transfer complete\r\n' 05:46:07.670480 < 6 bytes data, client => server 05:46:07.670534 'QUIT\r\n' 05:46:07.670864 Received DATA (on stdin) 05:46:07.670879 > 18 bytes data, server => client 05:46:07.670890 '221 bye bye baby\r\n' 05:46:07.672139 ====> Client disconnect 05:46:07.672344 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:07.621125 Running IPv4 version 05:46:07.621209 Listening on port 44123 05:46:07.621242 Wrote pid 93432 to log/20/server/ftp_sockdata.pid 05:46:07.621421 Received PING (on stdin) 05:46:07.621521 Received PORT (on stdin) 05:46:07.621862 ====> Client connect 05:46:07.622610 Received DATA (on stdin) 05:46:07.622621 > 17 bytes data, server => client 05:46:07.622631 'WE ROOLZ: 89997\r\n' 05:46:07.622652 Received DISC (on stdin) 05:46:07.622662 ====> Client forcibly disconnected 05:46:07.622796 Received QUIT (on stdin) 05:46:07.622806 quits 05:46:07.622861 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY ACCT 230 Thank-you for the ACCT Testnum 294 === End of file server.cmd === Start of file valgrind294 ==93479== ==93479== Process terminating with default action of signal 4 (SIGILL) ==93479== Illegal opcode at address 0x4014883 ==93479== at 0x4014883: getparameter (tool_getparam.c:2899) ==93479== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93479== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93479== by 0x4004208: main (tool_main.c:189) === End of file valgrind294 test 0297...[FTP CWD with --ftp-method singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind297 ../src/curl -q --output log/16/curl297.out --include --trace-ascii log/16/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41717/first/second/third/297 > log/16/stdout297 2> log/16/stderr297 297: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind297 ../src/curl -q --output log/16/curl297.out --include --trace-ascii log/16/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41717/first/second/third/297 > log/16/stdout297 2> log/16/stderr297 === End of file commands.log === Start of file ftp_server.log 05:46:07.662168 ====> Client connect 05:46:07.662342 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:07.662673 < "USER anonymous" 05:46:07.662708 > "331 We are happy you popped in![CR][LF]" 05:46:07.662877 < "PASS ftp@example.com" 05:46:07.662907 > "230 Welcome you silly person[CR][LF]" 05:46:07.663065 < "PWD" 05:46:07.663100 > "257 "/" is current directory[CR][LF]" 05:46:07.663270 < "EPSV" 05:46:07.663298 ====> Passive DATA channel requested by client 05:46:07.663313 DATA sockfilt for passive data channel starting... 05:46:07.670026 DATA sockfilt for passive data channel started (pid 93930) 05:46:07.670199 DATA sockfilt for passive data channel listens on port 38223 05:46:07.670265 > "229 Entering Passive Mode (|||38223|)[CR][LF]" 05:46:07.670290 Client has been notified that DATA conn will be accepted on port 38223 05:46:07.670641 Client connects to port 38223 05:46:07.670675 ====> Client established passive DATA connection on port 38223 05:46:07.670773 < "TYPE I" 05:46:07.670815 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:07.671002 < "SIZE verifiedserver" 05:46:07.671044 > "213 17[CR][LF]" 05:46:07.671222 < "RETR verifiedserver" 05:46:07.671264 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:07.671359 =====> Closing passive DATA connection... 05:46:07.671380 Server disconnects passive DATA connection 05:46:07.671551 Server disconnected passive DATA connection 05:46:07.671578 DATA sockfilt for passive data channel quits (pid 93930) 05:46:07.671887 DATA sockfilt for passive data channel quit (pid 93930) 05:46:07.671918 =====> Closed passive DATA connection 05:46:07.671948 > "226 File transfer complete[CR][LF]" 05:46:07.719920 < "QUIT" 05:46:07.719992 > "221 bye bye baby[CR][LF]" 05:46:07.721531 MAIN sockfilt said DISC 05:46:07.721569 ====> Client disconnected 05:46:07.721668 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:08.123522 ====> Client connect 05:46:08.123817 Received DATA (on stdin) 05:46:08.123831 > 146 bytes data, server => client 05:46:08.123842 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:08.123852 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:08.123861 '220 \___|\___/|_| \_\_____|\r\n' 05:46:08.123987 < 16 bytes data, clienCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind315 ../src/curl -q --output log/10/curl315.out --include --trace-ascii log/10/trace315 --trace-time http://127.0.0.1:46741/315 --compressed > log/10/stdout315 2> log/10/stderr315 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind291 ../src/curl -q --output log/1/curl291.out --include --trace-ascii log/1/trace291 --trace-time ftp://127.0.0.1:41623/291 --max-filesize 100 > log/1/stdout291 2> log/1/stderr291 t => server 05:46:08.124001 'USER anonymous\r\n' 05:46:08.124175 Received DATA (on stdin) 05:46:08.124187 > 33 bytes data, server => client 05:46:08.124197 '331 We are happy you popped in!\r\n' 05:46:08.124250 < 22 bytes data, client => server 05:46:08.124261 'PASS ftp@example.com\r\n' 05:46:08.124371 Received DATA (on stdin) 05:46:08.124382 > 30 bytes data, server => client 05:46:08.124393 '230 Welcome you silly person\r\n' 05:46:08.124442 < 5 bytes data, client => server 05:46:08.124454 'PWD\r\n' 05:46:08.124563 Received DATA (on stdin) 05:46:08.124574 > 30 bytes data, server => client 05:46:08.124584 '257 "/" is current directory\r\n' 05:46:08.124645 < 6 bytes data, client => server 05:46:08.124658 'EPSV\r\n' 05:46:08.131769 Received DATA (on stdin) 05:46:08.131788 > 39 bytes data, server => client 05:46:08.131801 '229 Entering Passive Mode (|||38223|)\r\n' 05:46:08.132010 < 8 bytes data, client => server 05:46:08.132027 'TYPE I\r\n' 05:46:08.132285 Received DATA (on stdin) 05:46:08.132299 > 33 bytes data, server => client 05:46:08.132310 '200 I modify TYPE as you wanted\r\n' 05:46:08.132370 < 21 bytes data, client => server 05:46:08.132384 'SIZE verifiedserver\r\n' 05:46:08.132512 Received DATA (on stdin) 05:46:08.132525 > 8 bytes data, server => client 05:46:08.132536 '213 17\r\n' 05:46:08.132592 < 21 bytes data, client => server 05:46:08.132605 'RETR verifiedserver\r\n' 05:46:08.132939 Received DATA (on stdin) 05:46:08.132953 > 29 bytes data, server => client 05:46:08.132964 '150 Binary junk (17 bytes).\r\n' 05:46:08.133415 Received DATA (on stdin) 05:46:08.133429 > 28 bytes data, server => client 05:46:08.133440 '226 File transfer complete\r\n' 05:46:08.181154 < 6 bytes data, client => server 05:46:08.181191 'QUIT\r\n' 05:46:08.181471 Received DATA (on stdin) 05:46:08.181487 > 18 bytes data, server => client 05:46:08.181498 '221 bye bye baby\r\n' 05:46:08.182935 ====> Client disconnect 05:46:08.183145 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:07.131096 Running IPv4 version 05:46:07.131178 Listening on port 38223 05:46:07.131216 Wrote pid 93930 to log/16/server/ftp_sockdata.pid 05:46:07.131420 Received PING (on stdin) 05:46:07.131545 Received PORT (on stdin) 05:46:07.132055 ====> Client connect 05:46:07.132847 Received DATA (on stdin) 05:46:07.132861 > 17 bytes data, server => client 05:46:07.132871 'WE ROOLZ: 80884\r\n' 05:46:07.132900 Received DISC (on stdin) 05:46:07.132912 ====> Client forcibly disconnected 05:46:07.133057 Received QUIT (on stdin) 05:46:07.133069 quits 05:46:07.133185 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==93980== ==93980== Process terminating with default action of signal 4 (SIGILL) ==93980== Illegal opcode at address 0x4014883 ==93980== at 0x4014883: getparameter (tool_getparam.c:2899) ==93980== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93980== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93980== by 0x4004208: main (tool_main.c:189) === End of file valgrind297 test 0315...[HTTP GET brotli compressed content with broken header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind315 ../src/curl -q --output log/10/curl315.out --include --trace-ascii log/10/trace315 --trace-time http://127.0.0.1:46741/315 --compressed > log/10/stdout315 2> log/10/stderr315 315: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind315 ../src/curl -q --output log/10/curl315.out --include --trace-ascii log/10/trace315 --trace-time http://127.0.0.1:46741/315 --compressed > log/10/stdout315 2> log/10/stderr315 === End of file commands.log === Start of file http_server.log 05:46:07.569327 ====> Client connect 05:46:07.569366 accept_connection 3 returned 4 05:46:07.569385 accept_connection 3 returned 0 05:46:07.569400 Read 93 bytes 05:46:07.569411 Process 93 bytes request 05:46:07.569426 Got request: GET /verifiedserver HTTP/1.1 05:46:07.569436 Are-we-friendly question received 05:46:07.569464 Wrote request (93 bytes) input to log/10/server.input 05:46:07.569484 Identifying ourselves as friends 05:46:07.569548 Response sent (56 bytes) and written to log/10/server.response 05:46:07.569560 special request received, no persistency 05:46:07.569569 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 58204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind315 ==94249== ==94249== Process terminating with default action of signal 4 (SIGILL) ==94249== Illegal opcode at address 0x4014883 ==94249== at 0x4014883: getparameter (tool_getparam.c:2899) ==94249== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94249== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94249== by 0x4004208: main (tool_main.c:189) === End of file valgrind315 test 0291...[FTP download maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind291 ../src/curl -q --output log/1/curl291.out --include --trace-ascii log/1/trace291 --trace-time ftp://127.0.0.1:41623/291 --max-filesize 100 > log/1/stdout291 2> log/1/stderr291 291: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind291 ../src/curl -q --output log/1/curl291.out --include --trace-ascii log/1/trace291 --trace-time ftp://127.0.0.1:41623/291 --max-filesize 100 > log/1/stdout291 2> log/1/stderr291 === End of file commands.log === Start of file ftp_server.log 05:46:07.125719 ====> Client connect 05:46:07.126348 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:07.132555 < "USER anonymous" 05:46:07.132619 > "331 We are happy you popped in![CR][LF]" 05:46:07.132803 < "PASS ftp@example.com" 05:46:07.132835 > "230 Welcome you silly person[CR][LF]" 05:46:07.133055 < "PWD" 05:46:07.133094 > "257 "/" is current directory[CR][LF]" 05:46:07.133285 < "EPSV" 05:46:07.133314 ====> Passive DATA channel requested by client 05:46:07.133331 DATA sockfilt for passive data channel starting... 05:46:07.142248 DATA sockfilt for passive data channel started (pid 93405) 05:46:07.142671 DATA sockfilt for passive data channel listens on port 40907 05:46:07.142726 > "229 Entering Passive Mode (|||40907|)[CR][LF]" 05:46:07.142745 Client has been notified that DATA conn will be accepted on port 40907 05:46:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind298 ../src/curl -q --output log/11/curl298.out --include --trace-ascii log/11/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:37471/first/second/th%69rd/298 > log/11/stdout298 2> log/11/stderr298 07.143063 Client connects to port 40907 05:46:07.143094 ====> Client established passive DATA connection on port 40907 05:46:07.143187 < "TYPE I" 05:46:07.143220 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:07.143384 < "SIZE verifiedserver" 05:46:07.143425 > "213 17[CR][LF]" 05:46:07.143581 < "RETR verifiedserver" 05:46:07.143615 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:07.143709 =====> Closing passive DATA connection... 05:46:07.143726 Server disconnects passive DATA connection 05:46:07.143910 Server disconnected passive DATA connection 05:46:07.143937 DATA sockfilt for passive data channel quits (pid 93405) 05:46:07.144248 DATA sockfilt for passive data channel quit (pid 93405) 05:46:07.144273 =====> Closed passive DATA connection 05:46:07.144299 > "226 File transfer complete[CR][LF]" 05:46:07.192553 < "QUIT" 05:46:07.192613 > "221 bye bye baby[CR][LF]" 05:46:07.194264 MAIN sockfilt said DISC 05:46:07.194301 ====> Client disconnected 05:46:07.194402 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:06.587026 ====> Client connect 05:46:06.587828 Received DATA (on stdin) 05:46:06.587845 > 146 bytes data, server => client 05:46:06.587857 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:06.587868 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:06.587878 '220 \___|\___/|_| \_\_____|\r\n' 05:46:06.593772 < 16 bytes data, client => server 05:46:06.593807 'USER anonymous\r\n' 05:46:06.594091 Received DATA (on stdin) 05:46:06.594104 > 33 bytes data, server => client 05:46:06.594114 '331 We are happy you popped in!\r\n' 05:46:06.594169 < 22 bytes data, client => server 05:46:06.594182 'PASS ftp@example.com\r\n' 05:46:06.594303 Received DATA (on stdin) 05:46:06.594315 > 30 bytes data, server => client 05:46:06.594326 '230 Welcome you silly person\r\n' 05:46:06.594380 < 5 bytes data, client => server 05:46:06.594394 'PWD\r\n' 05:46:06.594563 Received DATA (on stdin) 05:46:06.594576 > 30 bytes data, server => client 05:46:06.594587 '257 "/" is current directory\r\n' 05:46:06.594654 < 6 bytes data, client => server 05:46:06.594668 'EPSV\r\n' 05:46:06.604218 Received DATA (on stdin) 05:46:06.604237 > 39 bytes data, server => client 05:46:06.604248 '229 Entering Passive Mode (|||40907|)\r\n' 05:46:06.604444 < 8 bytes data, client => server 05:46:06.604459 'TYPE I\r\n' 05:46:06.604686 Received DATA (on stdin) 05:46:06.604697 > 33 bytes data, server => client 05:46:06.604708 '200 I modify TYPE as you wanted\r\n' 05:46:06.604759 < 21 bytes data, client => server 05:46:06.604771 'SIZE verifiedserver\r\n' 05:46:06.604888 Received DATA (on stdin) 05:46:06.604899 > 8 bytes data, server => client 05:46:06.604909 '213 17\r\n' 05:46:06.604958 < 21 bytes data, client => server 05:46:06.604969 'RETR verifiedserver\r\n' 05:46:06.605190 Received DATA (on stdin) 05:46:06.605202 > 29 bytes data, server => client 05:46:06.605212 '150 Binary junk (17 bytes).\r\n' 05:46:06.605763 Received DATA (on stdin) 05:46:06.605775 > 28 bytes data, server => client 05:46:06.605785 '226 File transfer complete\r\n' 05:46:06.653784 < 6 bytes data, client => server 05:46:06.653823 'QUIT\r\n' 05:46:06.654079 Received DATA (on stdin) 05:46:06.654091 > 18 bytes data, server => client 05:46:06.654101 '221 bye bye baby\r\n' 05:46:06.655213 ====> Client disconnect 05:46:06.655866 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:07.596914 Running IPv4 version 05:46:07.598675 Listening on port 40907 05:46:07.598748 Wrote pid 93405 to log/1/server/ftp_sockdata.pid 05:46:07.598774 Received PING (on stdin) 05:46:07.604007 Received PORT (on stdin) 05:46:07.604480 ====> Client connect 05:46:07.605265 Received DATA (on stdin) 05:46:07.605278 > 17 bytes data, server => client 05:46:07.605288 'WE ROOLZ: 81663\r\n' 05:46:07.605312 Received DISC (on stdin) 05:46:07.605324 ====> Client forcibly disconnected 05:46:07.605460 Received QUIT (on stdin) 05:46:07.605473 quits 05:46:07.605572 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==93526== ==93526== Process terminating with default action of signal 4 (SIGILL) ==93526== Illegal opcode at address 0x4014883 ==93526== at 0x4014883: getparameter (tool_getparam.c:2899) ==93526== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93526== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93526== by 0x4004208: main (tool_main.c:189) === End of file valgrind291 test 0298...[FTP CWD with --ftp-method nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind298 ../src/curl -q --output log/11/curl298.out --include --trace-ascii log/11/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:37471/first/second/th%69rd/298 > log/11/stdout298 2> log/11/stderr298 298: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind298 ../src/curl -q --output log/11/curl298.out --include --trace-ascii log/11/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:37471/first/second/th%69rd/298 > log/11/stdout298 2> log/11/stderr298 === End of file commands.log === Start of file ftp_server.log 05:46:07.679065 ====> Client connect 05:46:07.679240 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:07.679589 < "USER anonymous" 05:46:07.679634 > "331 We are happy you popped in![CR][LF]" 05:46:07.679825 < "PASS ftp@example.com" 05:46:07.679860 > "230 Welcome you silly person[CR][LF]" 05:46:07.680038 < "PWD" 05:46:07.680075 > "257 "/" is current directory[CR][LF]" 05:46:07.680258 < "EPSV" 05:46:07.680284 ====> Passive DATA channel requested by client 05:46:07.680299 DATA sockfilt for passive data channel starting... 05:46:07.698989 DATA sockfilt for passive data channel started (pid 93937) 05:46:07.699166 DATA sockfilt for passive data channel listens on port 46809 05:46:07.699216 > "229 Entering Passive Mode (|||46809|)[CR][LF]" 05:46:07.699234 Client has been notified that DATA conn will be accepted on port 46809 05:46:07.702556 Client connects to port 46809 05:46:07.702625 ====> Client established passive DATA connection on port 46809 05:46:07.702758 < "TYPE I" 05:46:07.702800 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:07.702990 < "SIZE verifiedserver" 05:46:07.703039 > "213 17[CR][LF]" 05:46:07.703216 < "RETR verifiedserver" 05:46:07.703257 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:07.703365 =====> Closing passive DATA connection... 05:46:07.703386 Server disconnects passive DATA connection 05:46:07.703636 Server disconnected passive DATA connection 05:46:07.703667 DATA sockfilt for passive data channel quits (pid 93937) 05:46:07.703989 DATA sockfilt for passive data channel quit (pid 93937) 05:46:07.704017 =====> Closed passive DATA connection 05:46:07.704047 > "226 File transfer complete[CR][LF]" 05:46:07.755881 < "QUIT" 05:46:07.755959 > "221 bye bye baby[CR][LF]" 05:46:07.757307 MAIN sockfilt said DISC 05:46:07.757357 ====> Client disconnected 05:46:07.757474 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:08.140363 ====> Client connect 05:46:08.140720 Received DATA (on stdin) 05:46:08.140736 > 146 bytes data, server => client 05:46:08.140748 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:08.140759 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:08.140769 '220 \___CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind296 ../src/curl -q --output log/5/curl296.out --include --trace-ascii log/5/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:39947/first/second/third/296 > log/5/stdout296 2> log/5/stderr296 |\___/|_| \_\_____|\r\n' 05:46:08.140888 < 16 bytes data, client => server 05:46:08.140904 'USER anonymous\r\n' 05:46:08.141104 Received DATA (on stdin) 05:46:08.141118 > 33 bytes data, server => client 05:46:08.141129 '331 We are happy you popped in!\r\n' 05:46:08.141187 < 22 bytes data, client => server 05:46:08.141202 'PASS ftp@example.com\r\n' 05:46:08.141327 Received DATA (on stdin) 05:46:08.141339 > 30 bytes data, server => client 05:46:08.141350 '230 Welcome you silly person\r\n' 05:46:08.141406 < 5 bytes data, client => server 05:46:08.141420 'PWD\r\n' 05:46:08.141544 Received DATA (on stdin) 05:46:08.141556 > 30 bytes data, server => client 05:46:08.141568 '257 "/" is current directory\r\n' 05:46:08.141632 < 6 bytes data, client => server 05:46:08.141644 'EPSV\r\n' 05:46:08.160706 Received DATA (on stdin) 05:46:08.160724 > 39 bytes data, server => client 05:46:08.160735 '229 Entering Passive Mode (|||46809|)\r\n' 05:46:08.163947 < 8 bytes data, client => server 05:46:08.163964 'TYPE I\r\n' 05:46:08.164273 Received DATA (on stdin) 05:46:08.164287 > 33 bytes data, server => client 05:46:08.164299 '200 I modify TYPE as you wanted\r\n' 05:46:08.164357 < 21 bytes data, client => server 05:46:08.164371 'SIZE verifiedserver\r\n' 05:46:08.164507 Received DATA (on stdin) 05:46:08.164520 > 8 bytes data, server => client 05:46:08.164531 '213 17\r\n' 05:46:08.164585 < 21 bytes data, client => server 05:46:08.164598 'RETR verifiedserver\r\n' 05:46:08.164854 Received DATA (on stdin) 05:46:08.164867 > 29 bytes data, server => client 05:46:08.164878 '150 Binary junk (17 bytes).\r\n' 05:46:08.165515 Received DATA (on stdin) 05:46:08.165529 > 28 bytes data, server => client 05:46:08.165540 '226 File transfer complete\r\n' 05:46:08.217026 < 6 bytes data, client => server 05:46:08.217077 'QUIT\r\n' 05:46:08.217444 Received DATA (on stdin) 05:46:08.217464 > 18 bytes data, server => client 05:46:08.217476 '221 bye bye baby\r\n' 05:46:08.218704 ====> Client disconnect 05:46:08.218955 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:07.154599 Running IPv4 version 05:46:07.154690 Listening on port 46809 05:46:07.154730 Wrote pid 93937 to log/11/server/ftp_sockdata.pid 05:46:07.160341 Received PING (on stdin) 05:46:07.160520 Received PORT (on stdin) 05:46:07.163879 ====> Client connect 05:46:07.164907 Received DATA (on stdin) 05:46:07.164921 > 17 bytes data, server => client 05:46:07.164932 'WE ROOLZ: 81984\r\n' 05:46:07.164958 Received DISC (on stdin) 05:46:07.164971 ====> Client forcibly disconnected 05:46:07.165142 Received QUIT (on stdin) 05:46:07.165155 quits 05:46:07.165251 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==94004== ==94004== Process terminating with default action of signal 4 (SIGILL) ==94004== Illegal opcode at address 0x4014883 ==94004== at 0x4014883: getparameter (tool_getparam.c:2899) ==94004== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94004== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94004== by 0x4004208: main (tool_main.c:189) === End of file valgrind298 test 0296...[FTP CWD with --ftp-method multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind296 ../src/curl -q --output log/5/curl296.out --include --trace-ascii log/5/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:39947/first/second/third/296 > log/5/stdout296 2> log/5/stderr296 296: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind296 ../src/curl -q --output log/5/curl296.out --include --trace-ascii log/5/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:39947/first/second/third/296 > log/5/stdout296 2> log/5/stderr296 === End of file commands.log === Start of file ftp_server.log 05:46:07.499782 ====> Client connect 05:46:07.499951 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:07.515762 < "USER anonymous" 05:46:07.515832 > "331 We are happy you popped in![CR][LF]" 05:46:07.545720 < "PASS ftp@example.com" 05:46:07.545783 > "230 Welcome you silly person[CR][LF]" 05:46:07.546022 < "PWD" 05:46:07.546057 > "257 "/" is current directory[CR][LF]" 05:46:07.546214 < "EPSV" 05:46:07.546239 ====> Passive DATA channel requested by client 05:46:07.546253 DATA sockfilt for passive data channel starting... 05:46:07.572269 DATA sockfilt for passive data channel started (pid 93839) 05:46:07.578978 DATA sockfilt for passive data channel listens on port 45047 05:46:07.579058 > "229 Entering Passive Mode (|||45047|)[CR][LF]" 05:46:07.579076 Client has been notified that DATA conn will be accepted on port 45047 05:46:07.582125 Client connects to port 45047 05:46:07.582177 ====> Client established passive DATA connection on port 45047 05:46:07.599042 < "TYPE I" 05:46:07.599114 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:07.599359 < "SIZE verifiedserver" 05:46:07.599400 > "213 17[CR][LF]" 05:46:07.599563 < "RETR verifiedserver" 05:46:07.599598 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:07.599704 =====> Closing passive DATA connection... 05:46:07.599724 Server disconnects passive DATA connection 05:46:07.599987 Server disconnected passive DATA connection 05:46:07.600018 DATA sockfilt for passive data channel quits (pid 93839) 05:46:07.600349 DATA sockfilt for passive data channel quit (pid 93839) 05:46:07.600375 =====> Closed passive DATA connection 05:46:07.600403 > "226 File transfer complete[CR][LF]" 05:46:07.649109 < "QUIT" 05:46:07.649174 > "221 bye bye baby[CR][LF]" 05:46:07.653397 MAIN sockfilt said DISC 05:46:07.653459 ====> Client disconnected 05:46:07.653564 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:07.960357 ====> Client connect 05:46:07.961427 Received DATA (on stdin) 05:46:07.961443 > 146 bytes data, server => client 05:46:07.961455 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:07.961465 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:07.961475 '220 \___|\___/|_| \_\_____|\r\n' 05:46:07.970673 < 16 bytes data, client => server 05:46:07.970706 'USER anonymous\r\n' 05:46:07.983677 Received DATA (on stdin) 05:46:07.983720 > 33 bytes data, server => client 05:46:07.983732 '331 We are happy you popped in!\r\n' 05:46:07.993694 < 22 bytes data, client => server 05:46:07.993745 'PASS ftp@example.com\r\n' 05:46:08.007259 Received DATA (on stdin) 05:46:08.007278 > 30 bytes data, server => client 05:46:08.007290 '230 Welcome you silly person\r\n' 05:46:08.007401 < 5 bytes data, client => server 05:46:08.007412 'PWD\r\n' 05:46:08.007520 Received DATA (on stdin) 05:46:08.007530 > 30 bytes data, server => client 05:46:08.007540 '257 "/" is current directory\r\n' 05:46:08.007599 < 6 bytes data, client => server 05:46:08.007610 'EPSV\r\n' 05:46:08.040549 Received DATA (on stdin) 05:46:08.040569 > 39 bytes data, server => client 05:46:08.040579 '229 Entering Passive Mode (|||45047|)\r\n' 05:46:08.053688 < 8 bytes data, client => server 05:46:08.053720 'TYPE I\r\n' 05:46:08.060594 Received DATA (on stdin) 05:46:08.060613 > 33 bytes data, server => client 05:46:08.060625 '200 I modify TYPE as you wanted\r\n' 05:46:08.060730 < 21 bytes data, client => server 05:46:08.060743 'SIZE verifiedserver\r\n' 05:46:08.060865 Received DATA (on stdin) 05:46:08.060877 > 8 bytes data, server => client 05:46:08.060886 '213 17\r\n' 05:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind299 ../src/curl -q --output log/19/curl299.out --include --trace-ascii log/19/trace299 --trace-time -x http://127.0.0.1:35701 -u michal:aybabtu ftp://host.com/we/want/299 > log/19/stdout299 2> log/19/stderr299 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind319 ../src/curl -q --output log/7/curl319.out --trace-ascii log/7/trace319 --trace-time http://127.0.0.1:39013/319 --raw > log/7/stdout319 2> log/7/stderr319 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind317 ../src/curl -q --output log/14/curl317.out --include --trace-ascii log/14/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35549 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/14/stdout317 2> log/14/stderr317 6:08.060941 < 21 bytes data, client => server 05:46:08.060952 'RETR verifiedserver\r\n' 05:46:08.061191 Received DATA (on stdin) 05:46:08.061203 > 29 bytes data, server => client 05:46:08.061214 '150 Binary junk (17 bytes).\r\n' 05:46:08.061868 Received DATA (on stdin) 05:46:08.061881 > 28 bytes data, server => client 05:46:08.061891 '226 File transfer complete\r\n' 05:46:08.110357 < 6 bytes data, client => server 05:46:08.110394 'QUIT\r\n' 05:46:08.110645 Received DATA (on stdin) 05:46:08.110658 > 18 bytes data, server => client 05:46:08.110668 '221 bye bye baby\r\n' 05:46:08.114781 ====> Client disconnect 05:46:08.115041 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:07.014487 Running IPv4 version 05:46:07.014589 Listening on port 45047 05:46:07.014632 Wrote pid 93839 to log/5/server/ftp_sockdata.pid 05:46:07.027169 Received PING (on stdin) 05:46:07.036856 Received PORT (on stdin) 05:46:07.043278 ====> Client connect 05:46:07.061246 Received DATA (on stdin) 05:46:07.061264 > 17 bytes data, server => client 05:46:07.061274 'WE ROOLZ: 81382\r\n' 05:46:07.061303 Received DISC (on stdin) 05:46:07.061316 ====> Client forcibly disconnected 05:46:07.061490 Received QUIT (on stdin) 05:46:07.061501 quits 05:46:07.061603 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==93931== ==93931== Process terminating with default action of signal 4 (SIGILL) ==93931== Illegal opcode at address 0x4014883 ==93931== at 0x4014883: getparameter (tool_getparam.c:2899) ==93931== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==93931== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==93931== by 0x4004208: main (tool_main.c:189) === End of file valgrind296 test 0299...[FTP over HTTP proxy with user:pass not in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind299 ../src/curl -q --output log/19/curl299.out --include --trace-ascii log/19/trace299 --trace-time -x http://127.0.0.1:35701 -u michal:aybabtu ftp://host.com/we/want/299 > log/19/stdout299 2> log/19/stderr299 299: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind299 ../src/curl -q --output log/19/curl299.out --include --trace-ascii log/19/trace299 --trace-time -x http://127.0.0.1:35701 -u michal:aybabtu ftp://host.com/we/want/299 > log/19/stdout299 2> log/19/stderr299 === End of file commands.log === Start of file http_server.log 05:46:07.223758 ====> Client connect 05:46:07.223801 accept_connection 3 returned 4 05:46:07.223820 accept_connection 3 returned 0 05:46:07.223837 Read 93 bytes 05:46:07.223847 Process 93 bytes request 05:46:07.223860 Got request: GET /verifiedserver HTTP/1.1 05:46:07.223869 Are-we-friendly question received 05:46:07.223899 Wrote request (93 bytes) input to log/19/server.input 05:46:07.223917 Identifying ourselves as friends 05:46:07.224004 Response sent (56 bytes) and written to log/19/server.response 05:46:07.224017 special request received, no persistency 05:46:07.224026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 53532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind299 ==94006== ==94006== Process terminating with default action of signal 4 (SIGILL) ==94006== Illegal opcode at address 0x4014883 ==94006== at 0x4014883: getparameter (tool_getparam.c:2899) ==94006== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94006== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94006== by 0x4004208: main (tool_main.c:189) === End of file valgrind299 test 0319...[HTTP GET gobbledigook transfer-encoded data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind319 ../src/curl -q --output log/7/curl319.out --trace-ascii log/7/trace319 --trace-time http://127.0.0.1:39013/319 --raw > log/7/stdout319 2> log/7/stderr319 319: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind319 ../src/curl -q --output log/7/curl319.out --trace-ascii log/7/trace319 --trace-time http://127.0.0.1:39013/319 --raw > log/7/stdout319 2> log/7/stderr319 === End of file commands.log === Start of file http_server.log 05:46:08.057069 ====> Client connect 05:46:08.057114 accept_connection 3 returned 4 05:46:08.057133 accept_connection 3 returned 0 05:46:08.057151 Read 93 bytes 05:46:08.057161 Process 93 bytes request 05:46:08.057175 Got request: GET /verifiedserver HTTP/1.1 05:46:08.057185 Are-we-friendly question received 05:46:08.057215 Wrote request (93 bytes) input to log/7/server.input 05:46:08.057234 Identifying ourselves as friends 05:46:08.057348 Response sent (56 bytes) and written to log/7/server.response 05:46:08.057361 special request received, no persistency 05:46:08.057370 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 32906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 319 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind319 ==94545== ==94545== Process terminating with default action of signal 4 (SIGILL) ==94545== Illegal opcode at address 0x4014883 ==94545== at 0x4014883: getparameter (tool_getparam.c:2899) ==94545== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94545== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94545== by 0x4004208: main (tool_main.c:189) === End of file valgrind319 test 0317...[HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind317 ../src/curl -q --output log/14/curl317.out --include --trace-ascii log/14/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35549 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind314 ../src/curl -q --output log/3/curl314.out --include --trace-ascii log/3/trace314 --trace-time http://127.0.0.1:39591/314 --compressed > log/3/stdout314 2> log/3/stderr314 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind328 ../src/curl -q --output log/6/curl328.out --include --trace-ascii log/6/trace328 --trace-time http://127.0.0.1:33035/hello/328 --compressed > log/6/stdout328 2> log/6/stderr328 4/stdout317 2> log/14/stderr317 317: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind317 ../src/curl -q --output log/14/curl317.out --include --trace-ascii log/14/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35549 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/14/stdout317 2> log/14/stderr317 === End of file commands.log === Start of file http_server.log 05:46:08.783200 ====> Client connect 05:46:08.783239 accept_connection 3 returned 4 05:46:08.783256 accept_connection 3 returned 0 05:46:08.783402 Read 93 bytes 05:46:08.783416 Process 93 bytes request 05:46:08.783430 Got request: GET /verifiedserver HTTP/1.1 05:46:08.783439 Are-we-friendly question received 05:46:08.783469 Wrote request (93 bytes) input to log/14/server.input 05:46:08.783486 Identifying ourselves as friends 05:46:08.783549 Response sent (56 bytes) and written to log/14/server.response 05:46:08.783561 special request received, no persistency 05:46:08.783570 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 38130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind317 ==94384== ==94384== Process terminating with default action of signal 4 (SIGILL) ==94384== Illegal opcode at address 0x4014883 ==94384== at 0x4014883: getparameter (tool_getparam.c:2899) ==94384== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94384== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94384== by 0x4004208: main (tool_main.c:189) === End of file valgrind317 test 0314...[HTTP GET brotli compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind314 ../src/curl -q --output log/3/curl314.out --include --trace-ascii log/3/trace314 --trace-time http://127.0.0.1:39591/314 --compressed > log/3/stdout314 2> log/3/stderr314 314: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind314 ../src/curl -q --output log/3/curl314.out --include --trace-ascii log/3/trace314 --trace-time http://127.0.0.1:39591/314 --compressed > log/3/stdout314 2> log/3/stderr314 === End of file commands.log === Start of file http_server.log 05:46:08.480403 ====> Client connect 05:46:08.480443 accept_connection 3 returned 4 05:46:08.480462 accept_connection 3 returned 0 05:46:08.480479 Read 93 bytes 05:46:08.480489 Process 93 bytes request 05:46:08.480503 Got request: GET /verifiedserver HTTP/1.1 05:46:08.480513 Are-we-friendly question received 05:46:08.480543 Wrote request (93 bytes) input to log/3/server.input 05:46:08.480561 Identifying ourselves as friends 05:46:08.480637 Response sent (56 bytes) and written to log/3/server.response 05:46:08.480649 special request received, no persistency 05:46:08.480658 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 43724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind314 ==94214== ==94214== Process terminating with default action of signal 4 (SIGILL) ==94214== Illegal opcode at address 0x4014883 ==94214== at 0x4014883: getparameter (tool_getparam.c:2899) ==94214== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94214== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94214== by 0x4004208: main (tool_main.c:189) === End of file valgrind314 test 0328...[HTTP with "Content-Encoding: none] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind328 ../src/curl -q --output log/6/curl328.out --include --trace-ascii log/6/trace328 --trace-time http://127.0.0.1:33035/hello/328 --compressed > log/6/stdout328 2> log/6/stderr328 328: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind328 ../src/curl -q --output log/6/curl328.out --include --trace-ascii log/6/trace328 --trace-time http://127.0.0.1:33035/hello/328 --compressed > log/6/stdout328 2> log/6/stderr328 === End of file commands.log === Start of file http_server.log 05:46:08.440664 ====> Client connect 05:46:08.440699 accept_connection 3 returned 4 05:46:08.440714 accept_connection 3 returned 0 05:46:08.440729 Read 93 bytes 05:46:08.440739 Process 93 bytes request 05:46:08.440754 Got request: GET /verifiedserver HTTP/1.1 05:46:08.440763 Are-we-friendly question received 05:46:08.440791 Wrote request (93 bytes) input to log/6/server.input 05:46:08.440809 Identifying ourselves as friends 05:46:08.440868 Response sent (56 bytes) and written to log/6/server.response 05:46:08.440878 special request received, no persistency 05:46:08.440887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 36586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind328 ==94771== ==94771== Process terminating with default action of signal 4 (SIGILL) ==94771== Illegal opcode at address 0x4014883 ==94771== at 0x4014883: getparameter (tool_getparam.c:2899) ==94771== by 0x4004208: UnknownInlinedFun (tool_getparamCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind326 ../src/curl -q --output log/17/curl326.out --trace-ascii log/17/trace326 --trace-time http://127.0.0.1:41505/326 --raw > log/17/stdout326 2> log/17/stderr326 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind329 ../src/curl -q --output log/22/curl329.out --include --trace-ascii log/22/trace329 --trace-time http://127.0.0.1:41477/we/want/329 -b log/22/jar329.txt -b log/22/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:41477/we/want/3290002 > log/22/stdout329 2> log/22/stderr329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind316 ../src/curl -q --output log/13/curl316.out --include --trace-ascii log/13/trace316 --trace-time http://127.0.0.1:45359/316 --compressed > log/13/stdout316 2> log/13/stderr316 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind327 ../src/curl -q --output log/12/curl327.out --include --trace-ascii log/12/trace327 --trace-time http://127.0.0.1:36353/we/want/327 -b none -c log/12/cookies327 http://127.0.0.1:36353/we/want/3270002 > log/12/stdout327 2> log/12/stderr327 .c:3082) ==94771== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94771== by 0x4004208: main (tool_main.c:189) === End of file valgrind328 test 0326...[HTTP GET chunked data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind326 ../src/curl -q --output log/17/curl326.out --trace-ascii log/17/trace326 --trace-time http://127.0.0.1:41505/326 --raw > log/17/stdout326 2> log/17/stderr326 326: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind326 ../src/curl -q --output log/17/curl326.out --trace-ascii log/17/trace326 --trace-time http://127.0.0.1:41505/326 --raw > log/17/stdout326 2> log/17/stderr326 === End of file commands.log === Start of file http_server.log 05:46:09.103723 ====> Client connect 05:46:09.103759 accept_connection 3 returned 4 05:46:09.103776 accept_connection 3 returned 0 05:46:09.103792 Read 93 bytes 05:46:09.103802 Process 93 bytes request 05:46:09.103814 Got request: GET /verifiedserver HTTP/1.1 05:46:09.103823 Are-we-friendly question received 05:46:09.103847 Wrote request (93 bytes) input to log/17/server.input 05:46:09.103864 Identifying ourselves as friends 05:46:09.103927 Response sent (56 bytes) and written to log/17/server.response 05:46:09.103938 special request received, no persistency 05:46:09.103947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 53212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind326 ==94551== ==94551== Process terminating with default action of signal 4 (SIGILL) ==94551== Illegal opcode at address 0x4014883 ==94551== at 0x4014883: getparameter (tool_getparam.c:2899) ==94551== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94551== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94551== by 0x4004208: main (tool_main.c:189) === End of file valgrind326 setenv TZ = GMT test 0329...[HTTP cookie with Max-Age=0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind329 ../src/curl -q --output log/22/curl329.out --include --trace-ascii log/22/trace329 --trace-time http://127.0.0.1:41477/we/want/329 -b log/22/jar329.txt -b log/22/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:41477/we/want/3290002 > log/22/stdout329 2> log/22/stderr329 329: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind329 ../src/curl -q --output log/22/curl329.out --include --trace-ascii log/22/trace329 --trace-time http://127.0.0.1:41477/we/want/329 -b log/22/jar329.txt -b log/22/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:41477/we/want/3290002 > log/22/stdout329 2> log/22/stderr329 === End of file commands.log === Start of file http_server.log 05:46:09.496942 ====> Client connect 05:46:09.496991 accept_connection 3 returned 4 05:46:09.497011 accept_connection 3 returned 0 05:46:09.497029 Read 93 bytes 05:46:09.497039 Process 93 bytes request 05:46:09.497054 Got request: GET /verifiedserver HTTP/1.1 05:46:09.497063 Are-we-friendly question received 05:46:09.497087 Wrote request (93 bytes) input to log/22/server.input 05:46:09.497105 Identifying ourselves as friends 05:46:09.497162 Response sent (56 bytes) and written to log/22/server.response 05:46:09.497172 special request received, no persistency 05:46:09.497181 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 50388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file jar329.txt .host.foo.com TRUE /we/want/ FALSE 22147483647 test no .host.foo.com TRUE /we/want/ FALSE 22147483647 tester yes === End of file jar329.txt === Start of file server.cmd Testnum 329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind329 ==94793== ==94793== Process terminating with default action of signal 4 (SIGILL) ==94793== Illegal opcode at address 0x4014883 ==94793== at 0x4014883: getparameter (tool_getparam.c:2899) ==94793== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94793== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94793== by 0x4004208: main (tool_main.c:189) === End of file valgrind329 test 0316...[HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind316 ../src/curl -q --output log/13/curl316.out --include --trace-ascii log/13/trace316 --trace-time http://127.0.0.1:45359/316 --compressed > log/13/stdout316 2> log/13/stderr316 316: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 316 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind316 ../src/curl -q --output log/13/curl316.out --include --trace-ascii log/13/trace316 --trace-time http://127.0.0.1:45359/316 --compressed > log/13/stdout316 2> log/13/stderr316 === End of file commands.log === Start of file http_server.log 05:46:08.639091 ====> Client connect 05:46:08.639123 accept_connection 3 returned 4 05:46:08.639139 accept_connection 3 returned 0 05:46:08.639154 Read 93 bytes 05:46:08.639164 Process 93 bytes request 05:46:08.639178 Got request: GET /verifiedserver HTTP/1.1 05:46:08.639187 Are-we-friendly question received 05:46:08.639210 Wrote request (93 bytes) input to log/13/server.input 05:46:08.639226 Identifying ourselves as friends 05:46:08.639279 Response sent (56 bytes) and written to log/13/server.response 05:46:08.639288 special request received, no persistency 05:46:08.639297 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 40862 * using HCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind318 ../src/curl -q --output log/2/curl318.out --include --trace-ascii log/2/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:41799 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/2/stdout318 2> log/2/stderr318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:45623 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stderr331 TTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 316 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind316 ==94305== ==94305== Process terminating with default action of signal 4 (SIGILL) ==94305== Illegal opcode at address 0x4014883 ==94305== at 0x4014883: getparameter (tool_getparam.c:2899) ==94305== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94305== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94305== by 0x4004208: main (tool_main.c:189) === End of file valgrind316 test 0327...[HTTP with cookiejar without cookies left] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind327 ../src/curl -q --output log/12/curl327.out --include --trace-ascii log/12/trace327 --trace-time http://127.0.0.1:36353/we/want/327 -b none -c log/12/cookies327 http://127.0.0.1:36353/we/want/3270002 > log/12/stdout327 2> log/12/stderr327 327: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 327 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind327 ../src/curl -q --output log/12/curl327.out --include --trace-ascii log/12/trace327 --trace-time http://127.0.0.1:36353/we/want/327 -b none -c log/12/cookies327 http://127.0.0.1:36353/we/want/3270002 > log/12/stdout327 2> log/12/stderr327 === End of file commands.log === Start of file http_server.log 05:46:09.213742 ====> Client connect 05:46:09.213780 accept_connection 3 returned 4 05:46:09.213797 accept_connection 3 returned 0 05:46:09.213813 Read 93 bytes 05:46:09.213822 Process 93 bytes request 05:46:09.213836 Got request: GET /verifiedserver HTTP/1.1 05:46:09.213845 Are-we-friendly question received 05:46:09.213871 Wrote request (93 bytes) input to log/12/server.input 05:46:09.213888 Identifying ourselves as friends 05:46:09.213956 Response sent (56 bytes) and written to log/12/server.response 05:46:09.213966 special request received, no persistency 05:46:09.213974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 55646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind327 ==94646== ==94646== Process terminating with default action of signal 4 (SIGILL) ==94646== Illegal opcode at address 0x4014883 ==94646== at 0x4014883: getparameter (tool_getparam.c:2899) ==94646== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94646== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94646== by 0x4004208: main (tool_main.c:189) === End of file valgrind327 test 0318...[HTTP with custom Authorization: then trusted redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind318 ../src/curl -q --output log/2/curl318.out --include --trace-ascii log/2/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:41799 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/2/stdout318 2> log/2/stderr318 318: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind318 ../src/curl -q --output log/2/curl318.out --include --trace-ascii log/2/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:41799 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/2/stdout318 2> log/2/stderr318 === End of file commands.log === Start of file http_server.log 05:46:08.939909 ====> Client connect 05:46:08.939955 accept_connection 3 returned 4 05:46:08.939974 accept_connection 3 returned 0 05:46:08.939990 Read 93 bytes 05:46:08.940000 Process 93 bytes request 05:46:08.940014 Got request: GET /verifiedserver HTTP/1.1 05:46:08.940023 Are-we-friendly question received 05:46:08.940050 Wrote request (93 bytes) input to log/2/server.input 05:46:08.940066 Identifying ourselves as friends 05:46:08.940142 Response sent (56 bytes) and written to log/2/server.response 05:46:08.940152 special request received, no persistency 05:46:08.940161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 46448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind318 ==94460== ==94460== Process terminating with default action of signal 4 (SIGILL) ==94460== Illegal opcode at address 0x4014883 ==94460== at 0x4014883: getparameter (tool_getparam.c:2899) ==94460== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94460== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94460== by 0x4004208: main (tool_main.c:189) === End of file valgrind318 test 0331...[HTTP with cookie using hostname 'moo'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:45623 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stderr331 331: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:45623 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind330 ../src/curl -q --output log/23/curl330.out --include --trace-ascii log/23/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:33217 -H "Cookie: test=yes" --location > log/23/stdout330 2> log/23/stderr330 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind335 ../src/curl -q --output log/24/curl335.out --include --trace-ascii log/24/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:33593 --proxy-digest --digest > log/24/stdout335 2> log/24/stderr335 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind332 ../src/curl -q --output log/21/curl332.out --include --trace-ascii log/21/trace332 --trace-time tftp://127.0.0.1:42374//332 --tftp-blksize 400 > log/21/stdout332 2> log/21/stderr332 err331 === End of file commands.log === Start of file http_server.log 05:46:08.969504 ====> Client connect 05:46:08.969544 accept_connection 3 returned 4 05:46:08.969563 accept_connection 3 returned 0 05:46:08.969579 Read 93 bytes 05:46:08.969588 Process 93 bytes request 05:46:08.969602 Got request: GET /verifiedserver HTTP/1.1 05:46:08.969611 Are-we-friendly question received 05:46:08.969638 Wrote request (93 bytes) input to log/8/server.input 05:46:08.969656 Identifying ourselves as friends 05:46:08.969762 Response sent (56 bytes) and written to log/8/server.response 05:46:08.969775 special request received, no persistency 05:46:08.969784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 46604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind331 ==95005== ==95005== Process terminating with default action of signal 4 (SIGILL) ==95005== Illegal opcode at address 0x4014883 ==95005== at 0x4014883: getparameter (tool_getparam.c:2899) ==95005== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95005== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95005== by 0x4004208: main (tool_main.c:189) === End of file valgrind331 test 0330...[HTTP with custom Cookie: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind330 ../src/curl -q --output log/23/curl330.out --include --trace-ascii log/23/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:33217 -H "Cookie: test=yes" --location > log/23/stdout330 2> log/23/stderr330 330: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 330 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind330 ../src/curl -q --output log/23/curl330.out --include --trace-ascii log/23/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:33217 -H "Cookie: test=yes" --location > log/23/stdout330 2> log/23/stderr330 === End of file commands.log === Start of file http_server.log 05:46:09.591496 ====> Client connect 05:46:09.591527 accept_connection 3 returned 4 05:46:09.591541 accept_connection 3 returned 0 05:46:09.591555 Read 93 bytes 05:46:09.591564 Process 93 bytes request 05:46:09.591576 Got request: GET /verifiedserver HTTP/1.1 05:46:09.591585 Are-we-friendly question received 05:46:09.591608 Wrote request (93 bytes) input to log/23/server.input 05:46:09.591623 Identifying ourselves as friends 05:46:09.591673 Response sent (56 bytes) and written to log/23/server.response 05:46:09.591682 special request received, no persistency 05:46:09.591690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 47478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 330 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind330 ==94856== ==94856== Process terminating with default action of signal 4 (SIGILL) ==94856== Illegal opcode at address 0x4014883 ==94856== at 0x4014883: getparameter (tool_getparam.c:2899) ==94856== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94856== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94856== by 0x4004208: main (tool_main.c:189) === End of file valgrind330 test 0335...[HTTP with proxy Digest and site Digest with creds in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind335 ../src/curl -q --output log/24/curl335.out --include --trace-ascii log/24/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:33593 --proxy-digest --digest > log/24/stdout335 2> log/24/stderr335 335: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind335 ../src/curl -q --output log/24/curl335.out --include --trace-ascii log/24/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:33593 --proxy-digest --digest > log/24/stdout335 2> log/24/stderr335 === End of file commands.log === Start of file http_server.log 05:46:10.022227 ====> Client connect 05:46:10.022274 accept_connection 3 returned 4 05:46:10.022293 accept_connection 3 returned 0 05:46:10.022309 Read 93 bytes 05:46:10.022320 Process 93 bytes request 05:46:10.022334 Got request: GET /verifiedserver HTTP/1.1 05:46:10.022344 Are-we-friendly question received 05:46:10.022372 Wrote request (93 bytes) input to log/24/server.input 05:46:10.022390 Identifying ourselves as friends 05:46:10.022473 Response sent (56 bytes) and written to log/24/server.response 05:46:10.022486 special request received, no persistency 05:46:10.022495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 57002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind335 ==95057== ==95057== Process terminating with default action of signal 4 (SIGILL) ==95057== Illegal opcode at address 0x4014883 ==95057== at 0x4014883: getparameter (tool_getparam.c:2899) ==95057== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95057== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95057== by 0x4004208: main (tool_main.c:189) === End of file valgrind335 test 0332...[TFTP retrieve with blksize 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callerCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind338 ../src/curl -q --output log/20/curl338.out --include --trace-ascii log/20/trace338 --trace-time http://127.0.0.1:38929/338 --next http://127.0.0.1:38929/338 --anyauth -u foo:moo > log/20/stdout338 2> log/20/stderr338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind336 ../src/curl -q --output log/4/curl336.out --include --trace-ascii log/4/trace336 --trace-time ftp://127.0.0.1:43777/336 --range 3-6 > log/4/stdout336 2> log/4/stderr336 s=16 --log-file=log/21/valgrind332 ../src/curl -q --output log/21/curl332.out --include --trace-ascii log/21/trace332 --trace-time tftp://127.0.0.1:42374//332 --tftp-blksize 400 > log/21/stdout332 2> log/21/stderr332 332: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind332 ../src/curl -q --output log/21/curl332.out --include --trace-ascii log/21/trace332 --trace-time tftp://127.0.0.1:42374//332 --tftp-blksize 400 > log/21/stdout332 2> log/21/stderr332 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 05:46:09.990810 trying to get file: verifiedserver mode 1 05:46:09.990834 Are-we-friendly question received 05:46:09.990847 write 05:46:09.990863 read 05:46:09.992387 read: 4 05:46:09.992450 end of one transfer === End of file tftp_server.log === Start of file valgrind332 ==95066== ==95066== Process terminating with default action of signal 4 (SIGILL) ==95066== Illegal opcode at address 0x4014883 ==95066== at 0x4014883: getparameter (tool_getparam.c:2899) ==95066== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95066== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95066== by 0x4004208: main (tool_main.c:189) === End of file valgrind332 test 0338...[ANYAUTH connection reuse of non-authed connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind338 ../src/curl -q --output log/20/curl338.out --include --trace-ascii log/20/trace338 --trace-time http://127.0.0.1:38929/338 --next http://127.0.0.1:38929/338 --anyauth -u foo:moo > log/20/stdout338 2> log/20/stderr338 338: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind338 ../src/curl -q --output log/20/curl338.out --include --trace-ascii log/20/trace338 --trace-time http://127.0.0.1:38929/338 --next http://127.0.0.1:38929/338 --anyauth -u foo:moo > log/20/stdout338 2> log/20/stderr338 === End of file commands.log === Start of file http_server.log 05:46:09.364047 ====> Client connect 05:46:09.364087 accept_connection 3 returned 4 05:46:09.364104 accept_connection 3 returned 0 05:46:09.364120 Read 93 bytes 05:46:09.364130 Process 93 bytes request 05:46:09.364145 Got request: GET /verifiedserver HTTP/1.1 05:46:09.364155 Are-we-friendly question received 05:46:09.364184 Wrote request (93 bytes) input to log/20/server.input 05:46:09.364203 Identifying ourselves as friends 05:46:09.364268 Response sent (56 bytes) and written to log/20/server.response 05:46:09.364281 special request received, no persistency 05:46:09.364290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 59384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind338 ==95395== ==95395== Process terminating with default action of signal 4 (SIGILL) ==95395== Illegal opcode at address 0x4014883 ==95395== at 0x4014883: getparameter (tool_getparam.c:2899) ==95395== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95395== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95395== by 0x4004208: main (tool_main.c:189) === End of file valgrind338 test 0336...[FTP range download when SIZE does not work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind336 ../src/curl -q --output log/4/curl336.out --include --trace-ascii log/4/trace336 --trace-time ftp://127.0.0.1:43777/336 --range 3-6 > log/4/stdout336 2> log/4/stderr336 336: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind336 ../src/curl -q --output log/4/curl336.out --include --trace-ascii log/4/trace336 --trace-time ftp://127.0.0.1:43777/336 --range 3-6 > log/4/stdout336 2> log/4/stderr336 === End of file commands.log === Start of file ftp_server.log 05:46:09.707079 ====> Client connect 05:46:09.707283 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:09.712489 < "USER anonymous" 05:46:09.712544 > "331 We are happy you popped in![CR][LF]" 05:46:09.726395 < "PASS ftp@example.com" 05:46:09.726448 > "230 Welcome you silly person[CR][LF]" 05:46:09.730968 < "PWD" 05:46:09.731029 > "257 "/" is current directory[CR][LF]" 05:46:09.757629 < "EPSV" 05:46:09.757671 ====> Passive DATA channel requested by client 05:46:09.757685 DATA sockfilt for passive data channel starting... 05:46:09.769716 DATA sockfilt for passive data channel started (pid 95255) 05:46:09.769871 DATA sockfilt for passive data channel listens on port 42885 05:46:09.769925 > "229 Entering Passive Mode (|||42885|)[CR][LF]" 05:46:09.769946 Client has been notified that DATA conn will be accepted on port 42885 05:46:09.770225 Client connects to port 42885 05:46:09.770258 ====> Client established passive DATA connection on port 42885 05:46:09.770356 < "TYPE I" 05:46:09.770393 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:09.770579 < "SIZE verifiedserver" 05:46:09.770625 > "213 17[CR][LF]" 05:46:09.770784 < "RETR verifiedserver" 05:46:09.770820 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:09.770902 =====> Closing passive DATA connection... 05:46:09.770918 Server disconnects passive DATA connection 05:46:09.771361 Server disconnected passive DATA connection 05:46:09.771394 DATA sockfilt for passive data channel quits (pid 95255) 05:46:09.771600 DATA sockfilt for passive data channel quit (pid 95255) 05:46:09.771624 =====> Closed passive DATA connection 05:46:09.771651 > "226 File transfer complete[CR][LF]" 05:46:09.821788 < "QUIT" 05:46:09.821854 > "221 bye bye baby[CR][LF]" 05:46:09.822309 MAIN sockfilt said DISC 05:46:09.822338 ====> Client disconnected 05:46:09.822404 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:10.167035 ====> Client connect 05:46:10.168764 Received DATA (on stdin) 05:46:10.168786 > 146 bytes data, server => client 05:46:10.168798 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:10.168808 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:10.168818 '220 \___|\___/|_| \_\_____|\r\n' 05:46:10.173696 < 16 bytes data, client => server 05:46:10.173733 'USER anonyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind333 ../src/curl -q --output log/15/curl333.out --include --trace-ascii log/15/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/15/stdout333 2> log/15/stderr333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind337 ../src/curl -q --output log/18/curl337.out --include --trace-ascii log/18/trace337 --trace-time ftp://127.0.0.1:35869/337 --range 3-6 > log/18/stdout337 2> log/18/stderr337 mous\r\n' 05:46:10.174013 Received DATA (on stdin) 05:46:10.174025 > 33 bytes data, server => client 05:46:10.174036 '331 We are happy you popped in!\r\n' 05:46:10.187643 < 22 bytes data, client => server 05:46:10.187677 'PASS ftp@example.com\r\n' 05:46:10.187913 Received DATA (on stdin) 05:46:10.187924 > 30 bytes data, server => client 05:46:10.187934 '230 Welcome you silly person\r\n' 05:46:10.192225 < 5 bytes data, client => server 05:46:10.192260 'PWD\r\n' 05:46:10.192495 Received DATA (on stdin) 05:46:10.192506 > 30 bytes data, server => client 05:46:10.192516 '257 "/" is current directory\r\n' 05:46:10.217011 < 6 bytes data, client => server 05:46:10.217038 'EPSV\r\n' 05:46:10.231420 Received DATA (on stdin) 05:46:10.231439 > 39 bytes data, server => client 05:46:10.231449 '229 Entering Passive Mode (|||42885|)\r\n' 05:46:10.231605 < 8 bytes data, client => server 05:46:10.231621 'TYPE I\r\n' 05:46:10.231859 Received DATA (on stdin) 05:46:10.231872 > 33 bytes data, server => client 05:46:10.231882 '200 I modify TYPE as you wanted\r\n' 05:46:10.231938 < 21 bytes data, client => server 05:46:10.231949 'SIZE verifiedserver\r\n' 05:46:10.232089 Received DATA (on stdin) 05:46:10.232100 > 8 bytes data, server => client 05:46:10.232110 '213 17\r\n' 05:46:10.232161 < 21 bytes data, client => server 05:46:10.232173 'RETR verifiedserver\r\n' 05:46:10.232382 Received DATA (on stdin) 05:46:10.232394 > 29 bytes data, server => client 05:46:10.232404 '150 Binary junk (17 bytes).\r\n' 05:46:10.233116 Received DATA (on stdin) 05:46:10.233128 > 28 bytes data, server => client 05:46:10.233138 '226 File transfer complete\r\n' 05:46:10.283077 < 6 bytes data, client => server 05:46:10.283098 'QUIT\r\n' 05:46:10.283331 Received DATA (on stdin) 05:46:10.283345 > 18 bytes data, server => client 05:46:10.283356 '221 bye bye baby\r\n' 05:46:10.283722 ====> Client disconnect 05:46:10.283867 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:09.227640 Running IPv4 version 05:46:09.227698 Listening on port 42885 05:46:09.231091 Wrote pid 95255 to log/4/server/ftp_sockdata.pid 05:46:09.231116 Received PING (on stdin) 05:46:09.231225 Received PORT (on stdin) 05:46:09.231641 ====> Client connect 05:46:09.232431 Received DATA (on stdin) 05:46:09.232443 > 17 bytes data, server => client 05:46:09.232453 'WE ROOLZ: 81463\r\n' 05:46:09.232475 Received DISC (on stdin) 05:46:09.232485 ====> Client forcibly disconnected 05:46:09.232867 Received QUIT (on stdin) 05:46:09.232878 quits 05:46:09.232933 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 500 no such command Testnum 336 === End of file server.cmd === Start of file valgrind336 ==95323== ==95323== Process terminating with default action of signal 4 (SIGILL) ==95323== Illegal opcode at address 0x4014883 ==95323== at 0x4014883: getparameter (tool_getparam.c:2899) ==95323== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95323== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95323== by 0x4004208: main (tool_main.c:189) === End of file valgrind336 test 0333...[Try a non-boolean command line option with --no-] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind333 ../src/curl -q --output log/15/curl333.out --include --trace-ascii log/15/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/15/stdout333 2> log/15/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/15/ directory after test 333 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind333 ../src/curl -q --output log/15/curl333.out --include --trace-ascii log/15/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/15/stdout333 2> log/15/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==94995== ==94995== Process terminating with default action of signal 4 (SIGILL) ==94995== Illegal opcode at address 0x4014883 ==94995== at 0x4014883: getparameter (tool_getparam.c:2899) ==94995== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==94995== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==94995== by 0x4004208: main (tool_main.c:189) === End of file valgrind333 test 0337...[FTP range download with SIZE returning extra crap] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind337 ../src/curl -q --output log/18/curl337.out --include --trace-ascii log/18/trace337 --trace-time ftp://127.0.0.1:35869/337 --range 3-6 > log/18/stdout337 2> log/18/stderr337 337: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind337 ../src/curl -q --output log/18/curl337.out --include --trace-ascii log/18/trace337 --trace-time ftp://127.0.0.1:35869/337 --range 3-6 > log/18/stdout337 2> log/18/stderr337 === End of file commands.log === Start of file ftp_server.log 05:46:09.755581 ====> Client connect 05:46:09.755896 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:09.756381 < "USER anonymous" 05:46:09.756431 > "331 We are happy you popped in![CR][LF]" 05:46:09.756587 < "PASS ftp@example.com" 05:46:09.756614 > "230 Welcome you silly person[CR][LF]" 05:46:09.756751 < "PWD" 05:46:09.756781 > "257 "/" is current directory[CR][LF]" 05:46:09.756931 < "EPSV" 05:46:09.756960 ====> Passive DATA channel requested by client 05:46:09.756973 DATA sockfilt for passive data channel starting... 05:46:09.762998 DATA sockfilt for passive data channel started (pid 95254) 05:46:09.763128 DATA sockfilt for passive data channel listens on port 38807 05:46:09.763174 > "229 Entering Passive Mode (|||38807|)[CR][LF]" 05:46:09.763194 Client has been notified that DATA conn will be accepted on port 38807 05:46:09.763481 Client connects to port 38807 05:46:09.763510 ====> Client established passive DATA connection on port 38807 05:46:09.763590 < "TYPE I" 05:46:09.763620 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:09.763783 < "SIZE verifiedserver" 05:46:09.763820 > "213 17[CR][LF]" 05:46:09.763959 < "RETR verifiedserver" 05:46:09.763990 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:09.764073 =====> Closing passive DATA connection... 05:46:09.764091 Server disconnects passive DATA connection 05:46:09.764328 Server disconnected passive DATA connection 05:46:09.764354 DATA sockfilt for passive data channel quits (pid 95254) 05:46:09.764554 DATA sockfilt for passive data channel quit (pid 95254) 05:46:09.764580 =====> Closed passive DATA connection 05:46:09.764608 > "226 File transfer complete[CR][LF]" 05:46:09.815706 < "QUIT" 05:46:09.815777 > "221 bye bye baby[CR][LF]" 05:46:09.821234 MAIN sockfilt said DISC 05:46:09.821314 ====> Client disconnected 05:46:09.821416 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:09.211692 ====> Client connect 05:46:09.217516 Received DATA (on stdin) 05:46:09.217544 > 146 bytes data, server => client 05:46:09.217556 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:09.217566 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:09.217575 '220 \___CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind334 ../src/curl -q --output log/9/curl334.out --include --trace-ascii log/9/trace334 --trace-time http://127.0.0.1:33885/want/334 > log/9/stdout334 2> log/9/stderr334 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind346 ../src/curl -q --output log/14/curl346.out --include --trace-ascii log/14/trace346 --trace-time -x http://127.0.0.1:35549/346 -U puser: -u suser: http://remote.example/346 > log/14/stdout346 2> log/14/stderr346 |\___/|_| \_\_____|\r\n' 05:46:09.217664 < 16 bytes data, client => server 05:46:09.217675 'USER anonymous\r\n' 05:46:09.217898 Received DATA (on stdin) 05:46:09.217909 > 33 bytes data, server => client 05:46:09.217919 '331 We are happy you popped in!\r\n' 05:46:09.217968 < 22 bytes data, client => server 05:46:09.217978 'PASS ftp@example.com\r\n' 05:46:09.218075 Received DATA (on stdin) 05:46:09.218085 > 30 bytes data, server => client 05:46:09.218094 '230 Welcome you silly person\r\n' 05:46:09.218138 < 5 bytes data, client => server 05:46:09.218147 'PWD\r\n' 05:46:09.218241 Received DATA (on stdin) 05:46:09.218251 > 30 bytes data, server => client 05:46:09.218262 '257 "/" is current directory\r\n' 05:46:09.218316 < 6 bytes data, client => server 05:46:09.218327 'EPSV\r\n' 05:46:09.224665 Received DATA (on stdin) 05:46:09.224680 > 39 bytes data, server => client 05:46:09.224691 '229 Entering Passive Mode (|||38807|)\r\n' 05:46:09.224863 < 8 bytes data, client => server 05:46:09.224877 'TYPE I\r\n' 05:46:09.225085 Received DATA (on stdin) 05:46:09.225097 > 33 bytes data, server => client 05:46:09.225108 '200 I modify TYPE as you wanted\r\n' 05:46:09.225160 < 21 bytes data, client => server 05:46:09.225171 'SIZE verifiedserver\r\n' 05:46:09.225280 Received DATA (on stdin) 05:46:09.225289 > 8 bytes data, server => client 05:46:09.225299 '213 17\r\n' 05:46:09.225344 < 21 bytes data, client => server 05:46:09.225355 'RETR verifiedserver\r\n' 05:46:09.225554 Received DATA (on stdin) 05:46:09.225565 > 29 bytes data, server => client 05:46:09.225575 '150 Binary junk (17 bytes).\r\n' 05:46:09.226071 Received DATA (on stdin) 05:46:09.226082 > 28 bytes data, server => client 05:46:09.226092 '226 File transfer complete\r\n' 05:46:09.268255 < 6 bytes data, client => server 05:46:09.268290 'QUIT\r\n' 05:46:09.280895 Received DATA (on stdin) 05:46:09.280935 > 18 bytes data, server => client 05:46:09.280948 '221 bye bye baby\r\n' 05:46:09.282601 ====> Client disconnect 05:46:09.282895 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:09.224141 Running IPv4 version 05:46:09.224213 Listening on port 38807 05:46:09.224252 Wrote pid 95254 to log/18/server/ftp_sockdata.pid 05:46:09.224404 Received PING (on stdin) 05:46:09.224501 Received PORT (on stdin) 05:46:09.224896 ====> Client connect 05:46:09.225628 Received DATA (on stdin) 05:46:09.225643 > 17 bytes data, server => client 05:46:09.225652 'WE ROOLZ: 81205\r\n' 05:46:09.225680 Received DISC (on stdin) 05:46:09.225691 ====> Client forcibly disconnected 05:46:09.225824 Received QUIT (on stdin) 05:46:09.225834 quits 05:46:09.225895 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 213 file: 213, Size =51 Testnum 337 === End of file server.cmd === Start of file valgrind337 ==95324== ==95324== Process terminating with default action of signal 4 (SIGILL) ==95324== Illegal opcode at address 0x4014883 ==95324== at 0x4014883: getparameter (tool_getparam.c:2899) ==95324== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95324== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95324== by 0x4004208: main (tool_main.c:189) === End of file valgrind337 test 0334...[HTTP 204 No content with chunked header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind334 ../src/curl -q --output log/9/curl334.out --include --trace-ascii log/9/trace334 --trace-time http://127.0.0.1:33885/want/334 > log/9/stdout334 2> log/9/stderr334 334: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind334 ../src/curl -q --output log/9/curl334.out --include --trace-ascii log/9/trace334 --trace-time http://127.0.0.1:33885/want/334 > log/9/stdout334 2> log/9/stderr334 === End of file commands.log === Start of file http_server.log 05:46:09.077049 ====> Client connect 05:46:09.077089 accept_connection 3 returned 4 05:46:09.077105 accept_connection 3 returned 0 05:46:09.077118 Read 93 bytes 05:46:09.077126 Process 93 bytes request 05:46:09.077139 Got request: GET /verifiedserver HTTP/1.1 05:46:09.077148 Are-we-friendly question received 05:46:09.077172 Wrote request (93 bytes) input to log/9/server.input 05:46:09.077188 Identifying ourselves as friends 05:46:09.077254 Response sent (56 bytes) and written to log/9/server.response 05:46:09.077263 special request received, no persistency 05:46:09.077270 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 58952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind334 ==95102== ==95102== Process terminating with default action of signal 4 (SIGILL) ==95102== Illegal opcode at address 0x4014883 ==95102== at 0x4014883: getparameter (tool_getparam.c:2899) ==95102== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95102== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95102== by 0x4004208: main (tool_main.c:189) === End of file valgrind334 test 0346...[HTTP GET over proxy with credentials using blank passwords] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind346 ../src/curl -q --output log/14/curl346.out --include --trace-ascii log/14/trace346 --trace-time -x http://127.0.0.1:35549/346 -U puser: -u suser: http://remote.example/346 > log/14/stdout346 2> log/14/stderr346 346: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind346 ../src/curl -q --output log/14/curl346.out --include --trace-ascii log/14/trace346 --trace-time -x http://127.0.0.1:35549/346 -U puser: -u suser: http://remote.example/346 > log/14/stdout346 2> log/14/stderr346 === End of file commands.log === Start of file http_server.log 05:46:11.199252 ====> Client connect 05:46:11.199285 accept_connection 3 returned 4 05:46:11.199301 accept_connection 3 returned 0 05:46:11.199316 Read 93 bytes 05:46:11.199325 Process 93 bytes request 05:46:11.199339 Got request: GET /verifiedserver HTTP/1.1 05:46:11.199349 Are-we-friendly question received 05:46:11.199374 Wrote request (93 bytes) input to log/14/server.input 05:46:11.199390 Identifying ourselves as friends 05:46:11.199448 Response sent (56 bytes) and written to log/14/server.response 05:46:11.199457 special request received, no persistency 05:46:11.199466 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 38134 * usiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind344 ../src/curl -q --output log/19/curl344.out --include --trace-ascii log/19/trace344 --trace-time http://127.0.0.1:35701/344 --etag-compare log/19/etag344 --etag-save log/19/etag344 > log/19/stdout344 2> log/19/stderr344 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind339 ../src/curl -q --output log/16/curl339.out --include --trace-ascii log/16/trace339 --trace-time http://127.0.0.1:44673/339 --etag-save log/16/etag339 > log/16/stdout339 2> log/16/stderr339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind347 ../src/curl -q --output log/3/curl347.out --include --trace-ascii log/3/trace347 --trace-time http://127.0.0.1:39591/347 --etag-save log/3/etag347 > log/3/stdout347 2> log/3/stderr347 ng HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind346 ==95877== ==95877== Process terminating with default action of signal 4 (SIGILL) ==95877== Illegal opcode at address 0x4014883 ==95877== at 0x4014883: getparameter (tool_getparam.c:2899) ==95877== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95877== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95877== by 0x4004208: main (tool_main.c:189) === End of file valgrind346 test 0344...[Both --etag-compare and -save store new Etag using non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind344 ../src/curl -q --output log/19/curl344.out --include --trace-ascii log/19/trace344 --trace-time http://127.0.0.1:35701/344 --etag-compare log/19/etag344 --etag-save log/19/etag344 > log/19/stdout344 2> log/19/stderr344 344: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind344 ../src/curl -q --output log/19/curl344.out --include --trace-ascii log/19/trace344 --trace-time http://127.0.0.1:35701/344 --etag-compare log/19/etag344 --etag-save log/19/etag344 > log/19/stdout344 2> log/19/stderr344 === End of file commands.log === Start of file http_server.log 05:46:10.183738 ====> Client connect 05:46:10.183786 accept_connection 3 returned 4 05:46:10.183808 accept_connection 3 returned 0 05:46:10.183826 Read 93 bytes 05:46:10.183837 Process 93 bytes request 05:46:10.183850 Got request: GET /verifiedserver HTTP/1.1 05:46:10.183860 Are-we-friendly question received 05:46:10.183888 Wrote request (93 bytes) input to log/19/server.input 05:46:10.183907 Identifying ourselves as friends 05:46:10.184000 Response sent (56 bytes) and written to log/19/server.response 05:46:10.184014 special request received, no persistency 05:46:10.184024 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 53544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind344 ==95857== ==95857== Process terminating with default action of signal 4 (SIGILL) ==95857== Illegal opcode at address 0x4014883 ==95857== at 0x4014883: getparameter (tool_getparam.c:2899) ==95857== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95857== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95857== by 0x4004208: main (tool_main.c:189) === End of file valgrind344 test 0339...[Check if --etag-save saved correct etag to a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind339 ../src/curl -q --output log/16/curl339.out --include --trace-ascii log/16/trace339 --trace-time http://127.0.0.1:44673/339 --etag-save log/16/etag339 > log/16/stdout339 2> log/16/stderr339 339: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind339 ../src/curl -q --output log/16/curl339.out --include --trace-ascii log/16/trace339 --trace-time http://127.0.0.1:44673/339 --etag-save log/16/etag339 > log/16/stdout339 2> log/16/stderr339 === End of file commands.log === Start of file http_server.log 05:46:10.437058 ====> Client connect 05:46:10.437093 accept_connection 3 returned 4 05:46:10.437111 accept_connection 3 returned 0 05:46:10.437126 Read 93 bytes 05:46:10.437136 Process 93 bytes request 05:46:10.437150 Got request: GET /verifiedserver HTTP/1.1 05:46:10.437158 Are-we-friendly question received 05:46:10.437193 Wrote request (93 bytes) input to log/16/server.input 05:46:10.437212 Identifying ourselves as friends 05:46:10.437292 Response sent (56 bytes) and written to log/16/server.response 05:46:10.437305 special request received, no persistency 05:46:10.437315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 53976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind339 ==95438== ==95438== Process terminating with default action of signal 4 (SIGILL) ==95438== Illegal opcode at address 0x4014883 ==95438== at 0x4014883: getparameter (tool_getparam.c:2899) ==95438== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95438== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95438== by 0x4004208: main (tool_main.c:189) === End of file valgrind339 test 0347...[--etag-save with blank incoming header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind347 ../src/curl -q --output log/3/curl347.out --include --trace-ascii log/3/trace347 --trace-time http://127.0.0.1:39591/347 --etag-save log/3/etag347 > log/3/stdout347 2> log/3/stderr347 347: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind347 ../src/curl -q --output log/3/curl347.out --include --trace-ascii log/3/trace347 --trace-time http://127.0.0.1:39591/347 --etag-save log/3/etag347 > log/3/stdout347 2> log/3/stderr347 === End of file commands.log === Start of file http_server.log 05:46:11.348893 ====> Client connect 05:46:11.348927 accept_connection 3 returned 4 05:46:11.348943 accept_connection 3 returned 0 05:46:11.348958 Read 93 bytes CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind342 ../src/curl -q --output log/11/curl342.out --include --trace-ascii log/11/trace342 --trace-time http://127.0.0.1:34551/342 --etag-compare log/11/etag342 > log/11/stdout342 2> log/11/stderr342 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind341 ../src/curl -q --output log/1/curl341.out --include --trace-ascii log/1/trace341 --trace-time http://127.0.0.1:38765/341 --etag-compare log/1/etag341 > log/1/stdout341 2> log/1/stderr341 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind340 ../src/curl -q --output log/10/curl340.out --include --trace-ascii log/10/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:32809/%00first/second/third/340 > log/10/stdout340 2> log/10/stderr340 05:46:11.348970 Process 93 bytes request 05:46:11.348982 Got request: GET /verifiedserver HTTP/1.1 05:46:11.348992 Are-we-friendly question received 05:46:11.349059 Wrote request (93 bytes) input to log/3/server.input 05:46:11.349076 Identifying ourselves as friends 05:46:11.349132 Response sent (56 bytes) and written to log/3/server.response 05:46:11.349142 special request received, no persistency 05:46:11.349151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 43726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind347 ==96032== ==96032== Process terminating with default action of signal 4 (SIGILL) ==96032== Illegal opcode at address 0x4014883 ==96032== at 0x4014883: getparameter (tool_getparam.c:2899) ==96032== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96032== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96032== by 0x4004208: main (tool_main.c:189) === End of file valgrind347 test 0342...[Check if --etag-compare set correct etag in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind342 ../src/curl -q --output log/11/curl342.out --include --trace-ascii log/11/trace342 --trace-time http://127.0.0.1:34551/342 --etag-compare log/11/etag342 > log/11/stdout342 2> log/11/stderr342 342: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind342 ../src/curl -q --output log/11/curl342.out --include --trace-ascii log/11/trace342 --trace-time http://127.0.0.1:34551/342 --etag-compare log/11/etag342 > log/11/stdout342 2> log/11/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 05:46:10.955838 ====> Client connect 05:46:10.955878 accept_connection 3 returned 4 05:46:10.955894 accept_connection 3 returned 0 05:46:10.955908 Read 93 bytes 05:46:10.955918 Process 93 bytes request 05:46:10.955931 Got request: GET /verifiedserver HTTP/1.1 05:46:10.955941 Are-we-friendly question received 05:46:10.955970 Wrote request (93 bytes) input to log/11/server.input 05:46:10.955988 Identifying ourselves as friends 05:46:10.956044 Response sent (56 bytes) and written to log/11/server.response 05:46:10.956053 special request received, no persistency 05:46:10.956063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 58422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind342 ==95695== ==95695== Process terminating with default action of signal 4 (SIGILL) ==95695== Illegal opcode at address 0x4014883 ==95695== at 0x4014883: getparameter (tool_getparam.c:2899) ==95695== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95695== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95695== by 0x4004208: main (tool_main.c:189) === End of file valgrind342 test 0341...[A non existing file with --etag-compare is just a blank] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind341 ../src/curl -q --output log/1/curl341.out --include --trace-ascii log/1/trace341 --trace-time http://127.0.0.1:38765/341 --etag-compare log/1/etag341 > log/1/stdout341 2> log/1/stderr341 341: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind341 ../src/curl -q --output log/1/curl341.out --include --trace-ascii log/1/trace341 --trace-time http://127.0.0.1:38765/341 --etag-compare log/1/etag341 > log/1/stdout341 2> log/1/stderr341 === End of file commands.log === Start of file http_server.log 05:46:10.850741 ====> Client connect 05:46:10.850775 accept_connection 3 returned 4 05:46:10.850792 accept_connection 3 returned 0 05:46:10.851285 Read 93 bytes 05:46:10.851302 Process 93 bytes request 05:46:10.851317 Got request: GET /verifiedserver HTTP/1.1 05:46:10.851326 Are-we-friendly question received 05:46:10.851353 Wrote request (93 bytes) input to log/1/server.input 05:46:10.851372 Identifying ourselves as friends 05:46:10.851430 Response sent (56 bytes) and written to log/1/server.response 05:46:10.851441 special request received, no persistency 05:46:10.851450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 38870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind341 ==95618== ==95618== Process terminating with default action of signal 4 (SIGILL) ==95618== Illegal opcode at address 0x4014883 ==95618== at 0x4014883: getparameter (tool_getparam.c:2899) ==95618== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95618== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95618== by 0x4004208: main (tool_main.c:189) === End of file valgrind341 test 0340...[FTP using %00 in path with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind340 ../src/curl -q --output log/10/curl340.out --include --trace-ascii log/10/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:32809/%00first/second/third/340 > log/10/stdout340 2> log/10/stderr340 340: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind345 ../src/curl -q --output log/7/curl345.out --include --trace-ascii log/7/trace345 --trace-time http://127.0.0.1:39013/345 --etag-compare log/7/etag345 --etag-save log/7/etag345 > log/7/stdout345 2> log/7/stderr345 log/10/ directory after test 340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind340 ../src/curl -q --output log/10/curl340.out --include --trace-ascii log/10/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:32809/%00first/second/third/340 > log/10/stdout340 2> log/10/stderr340 === End of file commands.log === Start of file ftp_server.log 05:46:10.198923 ====> Client connect 05:46:10.199153 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:10.199515 < "USER anonymous" 05:46:10.199549 > "331 We are happy you popped in![CR][LF]" 05:46:10.199709 < "PASS ftp@example.com" 05:46:10.199736 > "230 Welcome you silly person[CR][LF]" 05:46:10.199885 < "PWD" 05:46:10.199919 > "257 "/" is current directory[CR][LF]" 05:46:10.200081 < "EPSV" 05:46:10.200107 ====> Passive DATA channel requested by client 05:46:10.200122 DATA sockfilt for passive data channel starting... 05:46:10.206796 DATA sockfilt for passive data channel started (pid 95570) 05:46:10.206958 DATA sockfilt for passive data channel listens on port 45801 05:46:10.207019 > "229 Entering Passive Mode (|||45801|)[CR][LF]" 05:46:10.207049 Client has been notified that DATA conn will be accepted on port 45801 05:46:10.215645 Client connects to port 45801 05:46:10.215722 ====> Client established passive DATA connection on port 45801 05:46:10.215878 < "TYPE I" 05:46:10.215931 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:10.216447 < "SIZE verifiedserver" 05:46:10.216499 > "213 17[CR][LF]" 05:46:10.216687 < "RETR verifiedserver" 05:46:10.216730 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:10.216841 =====> Closing passive DATA connection... 05:46:10.216869 Server disconnects passive DATA connection 05:46:10.218895 Server disconnected passive DATA connection 05:46:10.218933 DATA sockfilt for passive data channel quits (pid 95570) 05:46:10.219272 DATA sockfilt for passive data channel quit (pid 95570) 05:46:10.219304 =====> Closed passive DATA connection 05:46:10.219335 > "226 File transfer complete[CR][LF]" 05:46:10.272446 < "QUIT" 05:46:10.272512 > "221 bye bye baby[CR][LF]" 05:46:10.273708 MAIN sockfilt said DISC 05:46:10.273749 ====> Client disconnected 05:46:10.273844 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:10.657029 ====> Client connect 05:46:10.660638 Received DATA (on stdin) 05:46:10.660662 > 146 bytes data, server => client 05:46:10.660674 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:10.660684 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:10.660692 '220 \___|\___/|_| \_\_____|\r\n' 05:46:10.660822 < 16 bytes data, client => server 05:46:10.660833 'USER anonymous\r\n' 05:46:10.661012 Received DATA (on stdin) 05:46:10.661023 > 33 bytes data, server => client 05:46:10.661034 '331 We are happy you popped in!\r\n' 05:46:10.661084 < 22 bytes data, client => server 05:46:10.661095 'PASS ftp@example.com\r\n' 05:46:10.661198 Received DATA (on stdin) 05:46:10.661209 > 30 bytes data, server => client 05:46:10.661219 '230 Welcome you silly person\r\n' 05:46:10.661266 < 5 bytes data, client => server 05:46:10.661277 'PWD\r\n' 05:46:10.661381 Received DATA (on stdin) 05:46:10.661392 > 30 bytes data, server => client 05:46:10.661403 '257 "/" is current directory\r\n' 05:46:10.661462 < 6 bytes data, client => server 05:46:10.661473 'EPSV\r\n' 05:46:10.670342 Received DATA (on stdin) 05:46:10.670370 > 39 bytes data, server => client 05:46:10.670383 '229 Entering Passive Mode (|||45801|)\r\n' 05:46:10.670583 < 8 bytes data, client => server 05:46:10.670597 'TYPE I\r\n' 05:46:10.677405 Received DATA (on stdin) 05:46:10.677421 > 33 bytes data, server => client 05:46:10.677431 '200 I modify TYPE as you wanted\r\n' 05:46:10.677800 < 21 bytes data, client => server 05:46:10.677819 'SIZE verifiedserver\r\n' 05:46:10.677970 Received DATA (on stdin) 05:46:10.677983 > 8 bytes data, server => client 05:46:10.677994 '213 17\r\n' 05:46:10.678052 < 21 bytes data, client => server 05:46:10.678067 'RETR verifiedserver\r\n' 05:46:10.680414 Received DATA (on stdin) 05:46:10.680428 > 29 bytes data, server => client 05:46:10.680439 '150 Binary junk (17 bytes).\r\n' 05:46:10.680799 Received DATA (on stdin) 05:46:10.680811 > 28 bytes data, server => client 05:46:10.680821 '226 File transfer complete\r\n' 05:46:10.733672 < 6 bytes data, client => server 05:46:10.733724 'QUIT\r\n' 05:46:10.733983 Received DATA (on stdin) 05:46:10.733995 > 18 bytes data, server => client 05:46:10.734005 '221 bye bye baby\r\n' 05:46:10.735112 ====> Client disconnect 05:46:10.735312 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:10.667841 Running IPv4 version 05:46:10.667930 Listening on port 45801 05:46:10.667983 Wrote pid 95570 to log/10/server/ftp_sockdata.pid 05:46:10.668186 Received PING (on stdin) 05:46:10.668311 Received PORT (on stdin) 05:46:10.677016 ====> Client connect 05:46:10.678341 Received DATA (on stdin) 05:46:10.678357 > 17 bytes data, server => client 05:46:10.678368 'WE ROOLZ: 81057\r\n' 05:46:10.678400 Received DISC (on stdin) 05:46:10.678415 ====> Client forcibly disconnected 05:46:10.680468 Received QUIT (on stdin) 05:46:10.680481 quits 05:46:10.680563 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==95578== ==95578== Process terminating with default action of signal 4 (SIGILL) ==95578== Illegal opcode at address 0x4014883 ==95578== at 0x4014883: getparameter (tool_getparam.c:2899) ==95578== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95578== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95578== by 0x4004208: main (tool_main.c:189) === End of file valgrind340 test 0345...[Both --etag-compare and -save store new Etag using one pre-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind345 ../src/curl -q --output log/7/curl345.out --include --trace-ascii log/7/trace345 --trace-time http://127.0.0.1:39013/345 --etag-compare log/7/etag345 --etag-save log/7/etag345 > log/7/stdout345 2> log/7/stderr345 345: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind345 ../src/curl -q --output log/7/curl345.out --include --trace-ascii log/7/trace345 --trace-time http://127.0.0.1:39013/345 --etag-compare log/7/etag345 --etag-save log/7/etag345 > log/7/stdout345 2> log/7/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 05:46:10.182386 ====> Client connect 05:46:10.182424 accept_connection 3 returned 4 05:46:10.182441 accept_connection 3 returned 0 05:46:10.182456 Read 93 bytes 05:46:10.182465 Process 93 bytes request 05:46:10.182479 Got request: GET /verifiedserver HTTP/1.1 05:46:10.182488 Are-we-friendly question received 05:46:10.182516 Wrote request (93 bytes) input to log/7/server.input 05:46:10.182533 Identifying ourselves as friends 05:46:10.182592 Response sent (56 bytes) and written to log/7/server.response 05:46:10.182602 special request received, no persistency 05:46:10.182611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind343 ../src/curl -q --output log/5/curl343.out --include --trace-ascii log/5/trace343 --trace-time http://127.0.0.1:35621/343 --etag-compare log/5/etag343 --etag-save log/5/out343 > log/5/stdout343 2> log/5/stderr343 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind351 ../src/curl -q --output log/13/curl351.out --include --trace-ascii log/13/trace351 --trace-time ftp://127.0.0.1:46845// --ftp-method nocwd > log/13/stdout351 2> log/13/stderr351 27.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 32922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind345 ==95868== ==95868== Process terminating with default action of signal 4 (SIGILL) ==95868== Illegal opcode at address 0x4014883 ==95868== at 0x4014883: getparameter (tool_getparam.c:2899) ==95868== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95868== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95868== by 0x4004208: main (tool_main.c:189) === End of file valgrind345 test 0343...[Both --etag-compare and --etag-save to save new Etag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind343 ../src/curl -q --output log/5/curl343.out --include --trace-ascii log/5/trace343 --trace-time http://127.0.0.1:35621/343 --etag-compare log/5/etag343 --etag-save log/5/out343 > log/5/stdout343 2> log/5/stderr343 343: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind343 ../src/curl -q --output log/5/curl343.out --include --trace-ascii log/5/trace343 --trace-time http://127.0.0.1:35621/343 --etag-compare log/5/etag343 --etag-save log/5/out343 > log/5/stdout343 2> log/5/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 05:46:11.027567 ====> Client connect 05:46:11.027605 accept_connection 3 returned 4 05:46:11.027623 accept_connection 3 returned 0 05:46:11.028021 Read 93 bytes 05:46:11.028036 Process 93 bytes request 05:46:11.028051 Got request: GET /verifiedserver HTTP/1.1 05:46:11.028060 Are-we-friendly question received 05:46:11.028088 Wrote request (93 bytes) input to log/5/server.input 05:46:11.028105 Identifying ourselves as friends 05:46:11.028164 Response sent (56 bytes) and written to log/5/server.response 05:46:11.028174 special request received, no persistency 05:46:11.028184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 34440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind343 ==95741== ==95741== Process terminating with default action of signal 4 (SIGILL) ==95741== Illegal opcode at address 0x4014883 ==95741== at 0x4014883: getparameter (tool_getparam.c:2899) ==95741== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==95741== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==95741== by 0x4004208: main (tool_main.c:189) === End of file valgrind343 test 0351...[FTP root dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind351 ../src/curl -q --output log/13/curl351.out --include --trace-ascii log/13/trace351 --trace-time ftp://127.0.0.1:46845// --ftp-method nocwd > log/13/stdout351 2> log/13/stderr351 351: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind351 ../src/curl -q --output log/13/curl351.out --include --trace-ascii log/13/trace351 --trace-time ftp://127.0.0.1:46845// --ftp-method nocwd > log/13/stdout351 2> log/13/stderr351 === End of file commands.log === Start of file ftp_server.log 05:46:11.078465 ====> Client connect 05:46:11.078716 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:11.092418 < "USER anonymous" 05:46:11.092480 > "331 We are happy you popped in![CR][LF]" 05:46:11.099087 < "PASS ftp@example.com" 05:46:11.099157 > "230 Welcome you silly person[CR][LF]" 05:46:11.105787 < "PWD" 05:46:11.105860 > "257 "/" is current directory[CR][LF]" 05:46:11.106140 < "EPSV" 05:46:11.106168 ====> Passive DATA channel requested by client 05:46:11.106184 DATA sockfilt for passive data channel starting... 05:46:11.115664 DATA sockfilt for passive data channel started (pid 96203) 05:46:11.115831 DATA sockfilt for passive data channel listens on port 41303 05:46:11.115877 > "229 Entering Passive Mode (|||41303|)[CR][LF]" 05:46:11.115895 Client has been notified that DATA conn will be accepted on port 41303 05:46:11.125650 Client connects to port 41303 05:46:11.125710 ====> Client established passive DATA connection on port 41303 05:46:11.125845 < "TYPE I" 05:46:11.125899 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:11.126159 < "SIZE verifiedserver" 05:46:11.132242 > "213 17[CR][LF]" 05:46:11.132548 < "RETR verifiedserver" 05:46:11.132596 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:11.132713 =====> Closing passive DATA connection... 05:46:11.132737 Server disconnects passive DATA connection 05:46:11.132981 Server disconnected passive DATA connection 05:46:11.133013 DATA sockfilt for passive data channel quits (pid 96203) 05:46:11.142257 DATA sockfilt for passive data channel quit (pid 96203) 05:46:11.142321 =====> Closed passive DATA connection 05:46:11.142366 > "226 File transfer complete[CR][LF]" 05:46:11.185922 < "QUIT" 05:46:11.185979 > "221 bye bye baby[CR][LF]" 05:46:11.187185 MAIN sockfilt said DISC 05:46:11.187215 ====> Client disconnected 05:46:11.187320 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:11.539792 ====> Client connect 05:46:11.550348 Received DATA (on stdin) 05:46:11.550415 > 146 bytes data, server => client 05:46:11.550431 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:11.550443 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:11.550453 '220 \___|\___/|_| \_\_____|\r\n' 05:46:11.550609 < 16 bytes data, client => server 05:46:11.550627 'USER anonymous\r\n' 05:46:11.557003 Received DATA (on stdin) 05:46:11.557033 > 33 bytes data, server => client 05:46:11.557046 '331 We are happy you popped in!\r\n' 05:46:11.557143 < 22 bytes data, client => server 05:46:11.557160 'PASS ftp@example.com\r\n' 05:46:11.563488 Received DATA (on stdin) 05:46:11.563522 > 30 bytes data, server => client 05:46:11.563535 '230 Welcome you silly person\r\n' 05:46:11.563823 < 5 bytes data, client => server 05:46:11.563842 'PWD\r\n' 05:46:11.567338 Received DATA (on stdin) 05:46CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind349 ../src/curl -q --output log/17/curl349.out --include --trace-ascii log/17/trace349 --trace-time http://127.0.0.1:41505/349 --fail-with-body > log/17/stdout349 2> log/17/stderr349 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind353 ../src/curl -q --output log/2/curl353.out --include --trace-ascii log/2/trace353 --trace-time ftp://127.0.0.1:34211/ --ftp-method singlecwd > log/2/stdout353 2> log/2/stderr353 :11.567361 > 30 bytes data, server => client 05:46:11.567373 '257 "/" is current directory\r\n' 05:46:11.567489 < 6 bytes data, client => server 05:46:11.567504 'EPSV\r\n' 05:46:11.580189 Received DATA (on stdin) 05:46:11.580218 > 39 bytes data, server => client 05:46:11.580230 '229 Entering Passive Mode (|||41303|)\r\n' 05:46:11.580443 < 8 bytes data, client => server 05:46:11.580459 'TYPE I\r\n' 05:46:11.587380 Received DATA (on stdin) 05:46:11.587402 > 33 bytes data, server => client 05:46:11.587414 '200 I modify TYPE as you wanted\r\n' 05:46:11.587520 < 21 bytes data, client => server 05:46:11.587536 'SIZE verifiedserver\r\n' 05:46:11.593767 Received DATA (on stdin) 05:46:11.593787 > 8 bytes data, server => client 05:46:11.593798 '213 17\r\n' 05:46:11.593892 < 21 bytes data, client => server 05:46:11.593909 'RETR verifiedserver\r\n' 05:46:11.594208 Received DATA (on stdin) 05:46:11.594221 > 29 bytes data, server => client 05:46:11.594232 '150 Binary junk (17 bytes).\r\n' 05:46:11.603849 Received DATA (on stdin) 05:46:11.603868 > 28 bytes data, server => client 05:46:11.603879 '226 File transfer complete\r\n' 05:46:11.647157 < 6 bytes data, client => server 05:46:11.647195 'QUIT\r\n' 05:46:11.647445 Received DATA (on stdin) 05:46:11.647456 > 18 bytes data, server => client 05:46:11.647466 '221 bye bye baby\r\n' 05:46:11.648599 ====> Client disconnect 05:46:11.648780 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:11.569707 Running IPv4 version 05:46:11.569792 Listening on port 41303 05:46:11.569859 Wrote pid 96203 to log/13/server/ftp_sockdata.pid 05:46:11.577011 Received PING (on stdin) 05:46:11.577187 Received PORT (on stdin) 05:46:11.587029 ====> Client connect 05:46:11.594301 Received DATA (on stdin) 05:46:11.594324 > 17 bytes data, server => client 05:46:11.594336 'WE ROOLZ: 81411\r\n' 05:46:11.594371 Received DISC (on stdin) 05:46:11.594386 ====> Client forcibly disconnected 05:46:11.594552 Received QUIT (on stdin) 05:46:11.594570 quits 05:46:11.601001 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==96322== ==96322== Process terminating with default action of signal 4 (SIGILL) ==96322== Illegal opcode at address 0x4014883 ==96322== at 0x4014883: getparameter (tool_getparam.c:2899) ==96322== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96322== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96322== by 0x4004208: main (tool_main.c:189) === End of file valgrind351 test 0349...[HTTP GET --fail-with-body on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind349 ../src/curl -q --output log/17/curl349.out --include --trace-ascii log/17/trace349 --trace-time http://127.0.0.1:41505/349 --fail-with-body > log/17/stdout349 2> log/17/stderr349 349: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind349 ../src/curl -q --output log/17/curl349.out --include --trace-ascii log/17/trace349 --trace-time http://127.0.0.1:41505/349 --fail-with-body > log/17/stdout349 2> log/17/stderr349 === End of file commands.log === Start of file http_server.log 05:46:11.473576 ====> Client connect 05:46:11.473607 accept_connection 3 returned 4 05:46:11.473622 accept_connection 3 returned 0 05:46:11.473635 Read 93 bytes 05:46:11.473644 Process 93 bytes request 05:46:11.474558 Got request: GET /verifiedserver HTTP/1.1 05:46:11.474570 Are-we-friendly question received 05:46:11.474599 Wrote request (93 bytes) input to log/17/server.input 05:46:11.474617 Identifying ourselves as friends 05:46:11.474688 Response sent (56 bytes) and written to log/17/server.response 05:46:11.474700 special request received, no persistency 05:46:11.474709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 53222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 349 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind349 ==96161== ==96161== Process terminating with default action of signal 4 (SIGILL) ==96161== Illegal opcode at address 0x4014883 ==96161== at 0x4014883: getparameter (tool_getparam.c:2899) ==96161== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96161== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96161== by 0x4004208: main (tool_main.c:189) === End of file valgrind349 test 0353...[FTP home dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind353 ../src/curl -q --output log/2/curl353.out --include --trace-ascii log/2/trace353 --trace-time ftp://127.0.0.1:34211/ --ftp-method singlecwd > log/2/stdout353 2> log/2/stderr353 353: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind353 ../src/curl -q --output log/2/curl353.out --include --trace-ascii log/2/trace353 --trace-time ftp://127.0.0.1:34211/ --ftp-method singlecwd > log/2/stdout353 2> log/2/stderr353 === End of file commands.log === Start of file ftp_server.log 05:46:11.195126 ====> Client connect 05:46:11.195353 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:11.197432 < "USER anonymous" 05:46:11.197483 > "331 We are happy you popped in![CR][LF]" 05:46:11.197687 < "PASS ftp@example.com" 05:46:11.197721 > "230 Welcome you silly person[CR][LF]" 05:46:11.197907 < "PWD" 05:46:11.197945 > "257 "/" is current directory[CR][LF]" 05:46:11.198131 < "EPSV" 05:46:11.198159 ====> Passive DATA channel requested by client 05:46:11.198174 DATA sockfilt for passive data channel starting... 05:46:11.200354 DATA sockfilt for passive data channel started (pid 96299) 05:46:11.200489 DATA sockfilt for passive data channel listens on port 39955 05:46:11.200535 > "229 Entering Passive Mode (|||39955|)[CR][LF]" 05:46:11.200561 Client has been notified that DATA conn will be accepted on port 39955 05:46:11.200838 Client connects to port 39955 05:46:11.200871 ====> Client established passive DATA connection on port 39955 05:46:11.200956 < "TYPE I" 05:46:11.200990 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:11.201715 < "SIZE verifiedserver" 05:46:11.201761 > "213 17[CR][LF]" 05:46:11.201951 < "RETR verifiedserver" 05:46:11.201992 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:11.202090 =====> Closing passive DATA connection... 05:46:11.202113 Server disconnects passive DATA connection 05:46:11.202401 Server disconnected passive DATA connection 05:46:11.2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind348 ../src/curl -q --output log/6/curl348.out --include --trace-ascii log/6/trace348 --trace-time ftp://127.0.0.1:36813/348 -T log/6/test348.txt > log/6/stdout348 2> log/6/stderr348 02435 DATA sockfilt for passive data channel quits (pid 96299) 05:46:11.202703 DATA sockfilt for passive data channel quit (pid 96299) 05:46:11.202734 =====> Closed passive DATA connection 05:46:11.202768 > "226 File transfer complete[CR][LF]" 05:46:11.242870 < "QUIT" 05:46:11.242931 > "221 bye bye baby[CR][LF]" 05:46:11.244333 MAIN sockfilt said DISC 05:46:11.244366 ====> Client disconnected 05:46:11.244475 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:11.656426 ====> Client connect 05:46:11.656840 Received DATA (on stdin) 05:46:11.656859 > 146 bytes data, server => client 05:46:11.656873 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:11.656883 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:11.656893 '220 \___|\___/|_| \_\_____|\r\n' 05:46:11.658701 < 16 bytes data, client => server 05:46:11.658722 'USER anonymous\r\n' 05:46:11.658958 Received DATA (on stdin) 05:46:11.658973 > 33 bytes data, server => client 05:46:11.658984 '331 We are happy you popped in!\r\n' 05:46:11.659042 < 22 bytes data, client => server 05:46:11.659059 'PASS ftp@example.com\r\n' 05:46:11.659191 Received DATA (on stdin) 05:46:11.659205 > 30 bytes data, server => client 05:46:11.659216 '230 Welcome you silly person\r\n' 05:46:11.659273 < 5 bytes data, client => server 05:46:11.659288 'PWD\r\n' 05:46:11.659412 Received DATA (on stdin) 05:46:11.659425 > 30 bytes data, server => client 05:46:11.659435 '257 "/" is current directory\r\n' 05:46:11.659499 < 6 bytes data, client => server 05:46:11.659513 'EPSV\r\n' 05:46:11.662035 Received DATA (on stdin) 05:46:11.662050 > 39 bytes data, server => client 05:46:11.662062 '229 Entering Passive Mode (|||39955|)\r\n' 05:46:11.662211 < 8 bytes data, client => server 05:46:11.662228 'TYPE I\r\n' 05:46:11.662460 Received DATA (on stdin) 05:46:11.662474 > 33 bytes data, server => client 05:46:11.662485 '200 I modify TYPE as you wanted\r\n' 05:46:11.663074 < 21 bytes data, client => server 05:46:11.663093 'SIZE verifiedserver\r\n' 05:46:11.663232 Received DATA (on stdin) 05:46:11.663245 > 8 bytes data, server => client 05:46:11.663256 '213 17\r\n' 05:46:11.663314 < 21 bytes data, client => server 05:46:11.663329 'RETR verifiedserver\r\n' 05:46:11.663584 Received DATA (on stdin) 05:46:11.663598 > 29 bytes data, server => client 05:46:11.663609 '150 Binary junk (17 bytes).\r\n' 05:46:11.664239 Received DATA (on stdin) 05:46:11.664253 > 28 bytes data, server => client 05:46:11.664264 '226 File transfer complete\r\n' 05:46:11.704119 < 6 bytes data, client => server 05:46:11.704158 'QUIT\r\n' 05:46:11.704398 Received DATA (on stdin) 05:46:11.704410 > 18 bytes data, server => client 05:46:11.704421 '221 bye bye baby\r\n' 05:46:11.705743 ====> Client disconnect 05:46:11.705939 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:11.661140 Running IPv4 version 05:46:11.661201 Listening on port 39955 05:46:11.661244 Wrote pid 96299 to log/2/server/ftp_sockdata.pid 05:46:11.661752 Received PING (on stdin) 05:46:11.661851 Received PORT (on stdin) 05:46:11.662252 ====> Client connect 05:46:11.663677 Received DATA (on stdin) 05:46:11.663695 > 17 bytes data, server => client 05:46:11.663706 'WE ROOLZ: 81084\r\n' 05:46:11.663736 Received DISC (on stdin) 05:46:11.663750 ====> Client forcibly disconnected 05:46:11.663911 Received QUIT (on stdin) 05:46:11.663925 quits 05:46:11.664015 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==96372== ==96372== Process terminating with default action of signal 4 (SIGILL) ==96372== Illegal opcode at address 0x4014883 ==96372== at 0x4014883: getparameter (tool_getparam.c:2899) ==96372== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96372== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96372== by 0x4004208: main (tool_main.c:189) === End of file valgrind353 test 0348...[FTP upload file with 552 disk full response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind348 ../src/curl -q --output log/6/curl348.out --include --trace-ascii log/6/trace348 --trace-time ftp://127.0.0.1:36813/348 -T log/6/test348.txt > log/6/stdout348 2> log/6/stderr348 348: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind348 ../src/curl -q --output log/6/curl348.out --include --trace-ascii log/6/trace348 --trace-time ftp://127.0.0.1:36813/348 -T log/6/test348.txt > log/6/stdout348 2> log/6/stderr348 === End of file commands.log === Start of file ftp_server.log 05:46:11.005685 ====> Client connect 05:46:11.005857 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:11.006250 < "USER anonymous" 05:46:11.006304 > "331 We are happy you popped in![CR][LF]" 05:46:11.006484 < "PASS ftp@example.com" 05:46:11.006513 > "230 Welcome you silly person[CR][LF]" 05:46:11.006673 < "PWD" 05:46:11.006706 > "257 "/" is current directory[CR][LF]" 05:46:11.006875 < "EPSV" 05:46:11.006901 ====> Passive DATA channel requested by client 05:46:11.006916 DATA sockfilt for passive data channel starting... 05:46:11.015596 DATA sockfilt for passive data channel started (pid 96128) 05:46:11.015769 DATA sockfilt for passive data channel listens on port 44347 05:46:11.015824 > "229 Entering Passive Mode (|||44347|)[CR][LF]" 05:46:11.015845 Client has been notified that DATA conn will be accepted on port 44347 05:46:11.016110 Client connects to port 44347 05:46:11.016140 ====> Client established passive DATA connection on port 44347 05:46:11.016232 < "TYPE I" 05:46:11.016266 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:11.016428 < "SIZE verifiedserver" 05:46:11.016467 > "213 17[CR][LF]" 05:46:11.016625 < "RETR verifiedserver" 05:46:11.016661 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:11.016756 =====> Closing passive DATA connection... 05:46:11.016775 Server disconnects passive DATA connection 05:46:11.016998 Server disconnected passive DATA connection 05:46:11.017028 DATA sockfilt for passive data channel quits (pid 96128) 05:46:11.017278 DATA sockfilt for passive data channel quit (pid 96128) 05:46:11.017305 =====> Closed passive DATA connection 05:46:11.017336 > "226 File transfer complete[CR][LF]" 05:46:11.069306 < "QUIT" 05:46:11.069380 > "221 bye bye baby[CR][LF]" 05:46:11.070682 MAIN sockfilt said DISC 05:46:11.070721 ====> Client disconnected 05:46:11.070833 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:10.467020 ====> Client connect 05:46:10.467332 Received DATA (on stdin) 05:46:10.467346 > 146 bytes data, server => client 05:46:10.467358 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:10.467368 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:10.467378 '220 \___|\___/|_| \_\_____|\r\n' 05:46:10.467491 < 16 bytes data, client => server 05:46:10.467520 'USER anonymous\r\n' 05:46:10.467774 Received DATA (on stdin) 05:46:10.467787 > 33 bytes data, server => client 05:46:10.467798 '331 We are happy you popped in!\r\n' 05:46:10.467854 < 22 bytes data, client => server 05:46:10.467867 'PASS ftp@example.com\r\n' 05:46:10.467977 Received DATA (on stdin) 05:46:10.467989 > 30 bytes data, server => client 05:46:10.467999 '230 Welcome you silly person\r\n' 05:46:10.468050 < 5 bytes data, client => server 05:46:10.468062 'PWD\r\n' 05:46:10.468169 Received DATA (onCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind352 ../src/curl -q --output log/12/curl352.out --include --trace-ascii log/12/trace352 --trace-time ftp://127.0.0.1:33915// --ftp-method singlecwd > log/12/stdout352 2> log/12/stderr352 stdin) 05:46:10.468181 > 30 bytes data, server => client 05:46:10.468191 '257 "/" is current directory\r\n' 05:46:10.468252 < 6 bytes data, client => server 05:46:10.468264 'EPSV\r\n' 05:46:10.477318 Received DATA (on stdin) 05:46:10.477334 > 39 bytes data, server => client 05:46:10.477345 '229 Entering Passive Mode (|||44347|)\r\n' 05:46:10.477491 < 8 bytes data, client => server 05:46:10.477506 'TYPE I\r\n' 05:46:10.477732 Received DATA (on stdin) 05:46:10.477744 > 33 bytes data, server => client 05:46:10.477754 '200 I modify TYPE as you wanted\r\n' 05:46:10.477805 < 21 bytes data, client => server 05:46:10.477817 'SIZE verifiedserver\r\n' 05:46:10.477930 Received DATA (on stdin) 05:46:10.477941 > 8 bytes data, server => client 05:46:10.477951 '213 17\r\n' 05:46:10.478001 < 21 bytes data, client => server 05:46:10.478014 'RETR verifiedserver\r\n' 05:46:10.478240 Received DATA (on stdin) 05:46:10.478252 > 29 bytes data, server => client 05:46:10.478262 '150 Binary junk (17 bytes).\r\n' 05:46:10.478802 Received DATA (on stdin) 05:46:10.478815 > 28 bytes data, server => client 05:46:10.478825 '226 File transfer complete\r\n' 05:46:10.530534 < 6 bytes data, client => server 05:46:10.530580 'QUIT\r\n' 05:46:10.530857 Received DATA (on stdin) 05:46:10.530871 > 18 bytes data, server => client 05:46:10.530881 '221 bye bye baby\r\n' 05:46:10.532091 ====> Client disconnect 05:46:10.532310 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:11.474384 Running IPv4 version 05:46:11.474452 Listening on port 44347 05:46:11.474497 Wrote pid 96128 to log/6/server/ftp_sockdata.pid 05:46:11.474518 Received PING (on stdin) 05:46:11.477118 Received PORT (on stdin) 05:46:11.477525 ====> Client connect 05:46:11.478288 Received DATA (on stdin) 05:46:11.478300 > 17 bytes data, server => client 05:46:11.478310 'WE ROOLZ: 81206\r\n' 05:46:11.478332 Received DISC (on stdin) 05:46:11.478343 ====> Client forcibly disconnected 05:46:11.478502 Received QUIT (on stdin) 05:46:11.478513 quits 05:46:11.478594 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd STOR 552 disk full Testnum 348 === End of file server.cmd === Start of file test348.txt data to see that FTP works so does it? === End of file test348.txt === Start of file valgrind348 ==96206== ==96206== Process terminating with default action of signal 4 (SIGILL) ==96206== Illegal opcode at address 0x4014883 ==96206== at 0x4014883: getparameter (tool_getparam.c:2899) ==96206== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96206== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96206== by 0x4004208: main (tool_main.c:189) === End of file valgrind348 test 0352...[FTP root dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind352 ../src/curl -q --output log/12/curl352.out --include --trace-ascii log/12/trace352 --trace-time ftp://127.0.0.1:33915// --ftp-method singlecwd > log/12/stdout352 2> log/12/stderr352 352: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind352 ../src/curl -q --output log/12/curl352.out --include --trace-ascii log/12/trace352 --trace-time ftp://127.0.0.1:33915// --ftp-method singlecwd > log/12/stdout352 2> log/12/stderr352 === End of file commands.log === Start of file ftp_server.log 05:46:11.145568 ====> Client connect 05:46:11.145769 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:11.162515 < "USER anonymous" 05:46:11.162581 > "331 We are happy you popped in![CR][LF]" 05:46:11.169119 < "PASS ftp@example.com" 05:46:11.169183 > "230 Welcome you silly person[CR][LF]" 05:46:11.175877 < "PWD" 05:46:11.175935 > "257 "/" is current directory[CR][LF]" 05:46:11.176101 < "EPSV" 05:46:11.176128 ====> Passive DATA channel requested by client 05:46:11.176142 DATA sockfilt for passive data channel starting... 05:46:11.180363 DATA sockfilt for passive data channel started (pid 96276) 05:46:11.180488 DATA sockfilt for passive data channel listens on port 46041 05:46:11.180536 > "229 Entering Passive Mode (|||46041|)[CR][LF]" 05:46:11.180556 Client has been notified that DATA conn will be accepted on port 46041 05:46:11.180822 Client connects to port 46041 05:46:11.180854 ====> Client established passive DATA connection on port 46041 05:46:11.180939 < "TYPE I" 05:46:11.180972 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:11.181137 < "SIZE verifiedserver" 05:46:11.181179 > "213 17[CR][LF]" 05:46:11.181339 < "RETR verifiedserver" 05:46:11.181374 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:11.181464 =====> Closing passive DATA connection... 05:46:11.181483 Server disconnects passive DATA connection 05:46:11.181730 Server disconnected passive DATA connection 05:46:11.181758 DATA sockfilt for passive data channel quits (pid 96276) 05:46:11.182049 DATA sockfilt for passive data channel quit (pid 96276) 05:46:11.182075 =====> Closed passive DATA connection 05:46:11.182102 > "226 File transfer complete[CR][LF]" 05:46:11.225930 < "QUIT" 05:46:11.225992 > "221 bye bye baby[CR][LF]" 05:46:11.227879 MAIN sockfilt said DISC 05:46:11.227933 ====> Client disconnected 05:46:11.228035 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:11.603682 ====> Client connect 05:46:11.607251 Received DATA (on stdin) 05:46:11.607271 > 146 bytes data, server => client 05:46:11.607282 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:11.607293 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:11.607302 '220 \___|\___/|_| \_\_____|\r\n' 05:46:11.623694 < 16 bytes data, client => server 05:46:11.623741 'USER anonymous\r\n' 05:46:11.624054 Received DATA (on stdin) 05:46:11.624068 > 33 bytes data, server => client 05:46:11.624079 '331 We are happy you popped in!\r\n' 05:46:11.627014 < 22 bytes data, client => server 05:46:11.627036 'PASS ftp@example.com\r\n' 05:46:11.637006 Received DATA (on stdin) 05:46:11.637047 > 30 bytes data, server => client 05:46:11.637058 '230 Welcome you silly person\r\n' 05:46:11.637180 < 5 bytes data, client => server 05:46:11.637193 'PWD\r\n' 05:46:11.637400 Received DATA (on stdin) 05:46:11.637410 > 30 bytes data, server => client 05:46:11.637421 '257 "/" is current directory\r\n' 05:46:11.637482 < 6 bytes data, client => server 05:46:11.637493 'EPSV\r\n' 05:46:11.642027 Received DATA (on stdin) 05:46:11.642042 > 39 bytes data, server => client 05:46:11.642053 '229 Entering Passive Mode (|||46041|)\r\n' 05:46:11.642203 < 8 bytes data, client => server 05:46:11.642218 'TYPE I\r\n' 05:46:11.642437 Received DATA (on stdin) 05:46:11.642449 > 33 bytes data, server => client 05:46:11.642460 '200 I modify TYPE as you wanted\r\n' 05:46:11.642511 < 21 bytes data, client => server 05:46:11.642524 'SIZE verifiedserver\r\n' 05:46:11.642644 Received DATA (on stdin) 05:46:11.642655 > 8 bytes data, server => client 05:46:11.642665 '213 17\r\n' 05:46:11.642714 < 21 bytes data, client => server 05:46:11.642727 'RETR verifiedserver\r\n' 05:46:11.642949 Received DATA (on stdin) 05:46:11.642961 > 29 bytes data, server => client 05:46:11.642971 '150 Binary junk (17 bytes).\r\n' 05:46:11.643567 Received DATA (on stdin) 05:46:11.643580 > 28 bytes data, server => client 05:46:11.643590 '226 File transfer complete\r\n' 05:46:11.687175 < 6 bytes data, client => server 05:46:11.687217 'QUIT\r\n' 05:46:11.687465 Received DATA (on stdin) 05:46:11.687481 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind350 ../src/curl -q --output log/22/curl350.out --include --trace-ascii log/22/trace350 --trace-time ftp://127.0.0.1:41347// --ftp-method multicwd > log/22/stdout350 2> log/22/stderr350 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind361 ../src/curl -q --output log/21/curl361.out --include --trace-ascii log/21/trace361 --trace-time http://127.0.0.1:42891/361 http://127.0.0.1:42891/361 --fail-with-body > log/21/stdout361 2> log/21/stderr361 18 bytes data, server => client 05:46:11.687492 '221 bye bye baby\r\n' 05:46:11.688723 ====> Client disconnect 05:46:11.689507 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:11.641482 Running IPv4 version 05:46:11.641578 Listening on port 46041 05:46:11.641611 Wrote pid 96276 to log/12/server/ftp_sockdata.pid 05:46:11.641765 Received PING (on stdin) 05:46:11.641858 Received PORT (on stdin) 05:46:11.642239 ====> Client connect 05:46:11.643029 Received DATA (on stdin) 05:46:11.643044 > 17 bytes data, server => client 05:46:11.643054 'WE ROOLZ: 81072\r\n' 05:46:11.643080 Received DISC (on stdin) 05:46:11.643091 ====> Client forcibly disconnected 05:46:11.643233 Received QUIT (on stdin) 05:46:11.643244 quits 05:46:11.643326 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==96384== ==96384== Process terminating with default action of signal 4 (SIGILL) ==96384== Illegal opcode at address 0x4014883 ==96384== at 0x4014883: getparameter (tool_getparam.c:2899) ==96384== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96384== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96384== by 0x4004208: main (tool_main.c:189) === End of file valgrind352 test 0350...[FTP root dir list multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind350 ../src/curl -q --output log/22/curl350.out --include --trace-ascii log/22/trace350 --trace-time ftp://127.0.0.1:41347// --ftp-method multicwd > log/22/stdout350 2> log/22/stderr350 350: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind350 ../src/curl -q --output log/22/curl350.out --include --trace-ascii log/22/trace350 --trace-time ftp://127.0.0.1:41347// --ftp-method multicwd > log/22/stdout350 2> log/22/stderr350 === End of file commands.log === Start of file ftp_server.log 05:46:11.044830 ====> Client connect 05:46:11.045034 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:11.045369 < "USER anonymous" 05:46:11.045417 > "331 We are happy you popped in![CR][LF]" 05:46:11.045632 < "PASS ftp@example.com" 05:46:11.045667 > "230 Welcome you silly person[CR][LF]" 05:46:11.045864 < "PWD" 05:46:11.045903 > "257 "/" is current directory[CR][LF]" 05:46:11.046107 < "EPSV" 05:46:11.046137 ====> Passive DATA channel requested by client 05:46:11.046156 DATA sockfilt for passive data channel starting... 05:46:11.053651 DATA sockfilt for passive data channel started (pid 96155) 05:46:11.053800 DATA sockfilt for passive data channel listens on port 41377 05:46:11.053850 > "229 Entering Passive Mode (|||41377|)[CR][LF]" 05:46:11.053869 Client has been notified that DATA conn will be accepted on port 41377 05:46:11.054173 Client connects to port 41377 05:46:11.054206 ====> Client established passive DATA connection on port 41377 05:46:11.054310 < "TYPE I" 05:46:11.054351 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:11.054542 < "SIZE verifiedserver" 05:46:11.054590 > "213 17[CR][LF]" 05:46:11.054784 < "RETR verifiedserver" 05:46:11.054826 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:11.054925 =====> Closing passive DATA connection... 05:46:11.054951 Server disconnects passive DATA connection 05:46:11.055219 Server disconnected passive DATA connection 05:46:11.055254 DATA sockfilt for passive data channel quits (pid 96155) 05:46:11.055519 DATA sockfilt for passive data channel quit (pid 96155) 05:46:11.055557 =====> Closed passive DATA connection 05:46:11.055590 > "226 File transfer complete[CR][LF]" 05:46:11.102443 < "QUIT" 05:46:11.102504 > "221 bye bye baby[CR][LF]" 05:46:11.103981 MAIN sockfilt said DISC 05:46:11.104138 ====> Client disconnected 05:46:11.104331 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:10.506152 ====> Client connect 05:46:10.506520 Received DATA (on stdin) 05:46:10.506539 > 146 bytes data, server => client 05:46:10.506552 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:10.506563 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:10.506574 '220 \___|\___/|_| \_\_____|\r\n' 05:46:10.506660 < 16 bytes data, client => server 05:46:10.506678 'USER anonymous\r\n' 05:46:10.506892 Received DATA (on stdin) 05:46:10.506906 > 33 bytes data, server => client 05:46:10.506918 '331 We are happy you popped in!\r\n' 05:46:10.506978 < 22 bytes data, client => server 05:46:10.507004 'PASS ftp@example.com\r\n' 05:46:10.507138 Received DATA (on stdin) 05:46:10.507152 > 30 bytes data, server => client 05:46:10.507163 '230 Welcome you silly person\r\n' 05:46:10.507224 < 5 bytes data, client => server 05:46:10.507240 'PWD\r\n' 05:46:10.507373 Received DATA (on stdin) 05:46:10.507387 > 30 bytes data, server => client 05:46:10.507398 '257 "/" is current directory\r\n' 05:46:10.507466 < 6 bytes data, client => server 05:46:10.507482 'EPSV\r\n' 05:46:10.515340 Received DATA (on stdin) 05:46:10.515357 > 39 bytes data, server => client 05:46:10.515367 '229 Entering Passive Mode (|||41377|)\r\n' 05:46:10.515584 < 8 bytes data, client => server 05:46:10.515594 'TYPE I\r\n' 05:46:10.515823 Received DATA (on stdin) 05:46:10.515837 > 33 bytes data, server => client 05:46:10.515848 '200 I modify TYPE as you wanted\r\n' 05:46:10.515906 < 21 bytes data, client => server 05:46:10.515920 'SIZE verifiedserver\r\n' 05:46:10.516063 Received DATA (on stdin) 05:46:10.516077 > 8 bytes data, server => client 05:46:10.516088 '213 17\r\n' 05:46:10.516146 < 21 bytes data, client => server 05:46:10.516163 'RETR verifiedserver\r\n' 05:46:10.516520 Received DATA (on stdin) 05:46:10.516535 > 29 bytes data, server => client 05:46:10.516547 '150 Binary junk (17 bytes).\r\n' 05:46:10.517064 Received DATA (on stdin) 05:46:10.517079 > 28 bytes data, server => client 05:46:10.517090 '226 File transfer complete\r\n' 05:46:10.563711 < 6 bytes data, client => server 05:46:10.563740 'QUIT\r\n' 05:46:10.563973 Received DATA (on stdin) 05:46:10.563993 > 18 bytes data, server => client 05:46:10.564003 '221 bye bye baby\r\n' 05:46:10.565346 ====> Client disconnect 05:46:10.565512 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:11.514774 Running IPv4 version 05:46:11.514836 Listening on port 41377 05:46:11.514877 Wrote pid 96155 to log/22/server/ftp_sockdata.pid 05:46:11.515051 Received PING (on stdin) 05:46:11.515157 Received PORT (on stdin) 05:46:11.515555 ====> Client connect 05:46:11.516421 Received DATA (on stdin) 05:46:11.516435 > 17 bytes data, server => client 05:46:11.516446 'WE ROOLZ: 81140\r\n' 05:46:11.516478 Received DISC (on stdin) 05:46:11.516492 ====> Client forcibly disconnected 05:46:11.516729 Received QUIT (on stdin) 05:46:11.516743 quits 05:46:11.516839 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==96226== ==96226== Process terminating with default action of signal 4 (SIGILL) ==96226== Illegal opcode at address 0x4014883 ==96226== at 0x4014883: getparameter (tool_getparam.c:2899) ==96226== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96226== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96226== by 0x4004208: main (tool_main.c:189) === End of file valgrind350 test 0361...[HTTP GET --fail-with-body on HTTP error return - twice] .CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind354 ../src/curl -q --output log/8/curl354.out --include --trace-ascii log/8/trace354 --trace-time ftp://127.0.0.1:41333/354 > log/8/stdout354 2> log/8/stderr354 ./libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind361 ../src/curl -q --output log/21/curl361.out --include --trace-ascii log/21/trace361 --trace-time http://127.0.0.1:42891/361 http://127.0.0.1:42891/361 --fail-with-body > log/21/stdout361 2> log/21/stderr361 361: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind361 ../src/curl -q --output log/21/curl361.out --include --trace-ascii log/21/trace361 --trace-time http://127.0.0.1:42891/361 http://127.0.0.1:42891/361 --fail-with-body > log/21/stdout361 2> log/21/stderr361 === End of file commands.log === Start of file http_server.log 05:46:11.502938 ====> Client connect 05:46:11.502970 accept_connection 3 returned 4 05:46:11.502985 accept_connection 3 returned 0 05:46:11.502997 Read 93 bytes 05:46:11.503006 Process 93 bytes request 05:46:11.503018 Got request: GET /verifiedserver HTTP/1.1 05:46:11.503025 Are-we-friendly question received 05:46:11.503045 Wrote request (93 bytes) input to log/21/server.input 05:46:11.503060 Identifying ourselves as friends 05:46:11.503114 Response sent (56 bytes) and written to log/21/server.response 05:46:11.503122 special request received, no persistency 05:46:11.503130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 35332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 361 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind361 ==96761== ==96761== Process terminating with default action of signal 4 (SIGILL) ==96761== Illegal opcode at address 0x4014883 ==96761== at 0x4014883: getparameter (tool_getparam.c:2899) ==96761== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96761== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96761== by 0x4004208: main (tool_main.c:189) === End of file valgrind361 test 0354...[FTP without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind354 ../src/curl -q --output log/8/curl354.out --include --trace-ascii log/8/trace354 --trace-time ftp://127.0.0.1:41333/354 > log/8/stdout354 2> log/8/stderr354 354: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind354 ../src/curl -q --output log/8/curl354.out --include --trace-ascii log/8/trace354 --trace-time ftp://127.0.0.1:41333/354 > log/8/stdout354 2> log/8/stderr354 === End of file commands.log === Start of file ftp_server.log 05:46:11.618919 ====> Client connect 05:46:11.619145 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:11.632593 < "USER anonymous" 05:46:11.632660 > "331 We are happy you popped in![CR][LF]" 05:46:11.632855 < "PASS ftp@example.com" 05:46:11.632887 > "230 Welcome you silly person[CR][LF]" 05:46:11.633066 < "PWD" 05:46:11.633107 > "257 "/" is current directory[CR][LF]" 05:46:11.633299 < "EPSV" 05:46:11.633330 ====> Passive DATA channel requested by client 05:46:11.633348 DATA sockfilt for passive data channel starting... 05:46:11.642294 DATA sockfilt for passive data channel started (pid 96558) 05:46:11.642449 DATA sockfilt for passive data channel listens on port 42831 05:46:11.642501 > "229 Entering Passive Mode (|||42831|)[CR][LF]" 05:46:11.642525 Client has been notified that DATA conn will be accepted on port 42831 05:46:11.642839 Client connects to port 42831 05:46:11.642872 ====> Client established passive DATA connection on port 42831 05:46:11.642976 < "TYPE I" 05:46:11.643014 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:11.643195 < "SIZE verifiedserver" 05:46:11.643246 > "213 17[CR][LF]" 05:46:11.643417 < "RETR verifiedserver" 05:46:11.643457 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:11.643562 =====> Closing passive DATA connection... 05:46:11.643585 Server disconnects passive DATA connection 05:46:11.643757 Server disconnected passive DATA connection 05:46:11.643783 DATA sockfilt for passive data channel quits (pid 96558) 05:46:11.644127 DATA sockfilt for passive data channel quit (pid 96558) 05:46:11.644157 =====> Closed passive DATA connection 05:46:11.644192 > "226 File transfer complete[CR][LF]" 05:46:11.702393 < "QUIT" 05:46:11.702460 > "221 bye bye baby[CR][LF]" 05:46:11.706528 MAIN sockfilt said DISC 05:46:11.706585 ====> Client disconnected 05:46:11.706673 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:12.079687 ====> Client connect 05:46:12.083671 Received DATA (on stdin) 05:46:12.083705 > 146 bytes data, server => client 05:46:12.083718 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:12.083730 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:12.083739 '220 \___|\___/|_| \_\_____|\r\n' 05:46:12.093789 < 16 bytes data, client => server 05:46:12.093829 'USER anonymous\r\n' 05:46:12.094134 Received DATA (on stdin) 05:46:12.094147 > 33 bytes data, server => client 05:46:12.094157 '331 We are happy you popped in!\r\n' 05:46:12.094215 < 22 bytes data, client => server 05:46:12.094231 'PASS ftp@example.com\r\n' 05:46:12.094355 Received DATA (on stdin) 05:46:12.094368 > 30 bytes data, server => client 05:46:12.094378 '230 Welcome you silly person\r\n' 05:46:12.094432 < 5 bytes data, client => server 05:46:12.094446 'PWD\r\n' 05:46:12.094576 Received DATA (on stdin) 05:46:12.094589 > 30 bytes data, server => client 05:46:12.094600 '257 "/" is current directory\r\n' 05:46:12.094666 < 6 bytes data, client => server 05:46:12.094680 'EPSV\r\n' 05:46:12.104004 Received DATA (on stdin) 05:46:12.104024 > 39 bytes data, server => client 05:46:12.104035 '229 Entering Passive Mode (|||42831|)\r\n' 05:46:12.104215 < 8 bytes data, client => server 05:46:12.104233 'TYPE I\r\n' 05:46:12.104482 Received DATA (on stdin) 05:46:12.104495 > 33 bytes data, server => client 05:46:12.104506 '200 I modify TYPE as you wanted\r\n' 05:46:12.104563 < 21 bytes data, client => server 05:46:12.104576 'SIZE verifiedserver\r\n' 05:46:12.104714 Received DATA (on stdin) 05:46:12.104726 > 8 bytes data, server => client 05:46:12.104736 '213 17\r\n' 05:46:12.104789 < 21 bytes data, client => server 05:46:12.104803 'RETR verifiedserver\r\n' 05:46:12.105146 Received DATA (on stdin) 05:46:12.105159 > 29 bytes data, server => client 05:46:12.105170 '150 Binary junk (17 bytes).\r\n' 05:46:12.105660 Received DATA (on stdin) 05:46:12.105674 > 28 bytes data, server => client 05:46:12.105684 '226 File transfer complete\r\n' 05:46:12.160350 < 6 bytes data, client => server 05:46:12.160388 'QUIT\r\n' 05:46:12.163935 Received DATA (on stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind360 ../src/curl -q --output log/24/curl360.out --include --trace-ascii log/24/trace360 --trace-time http://127.0.0.1:33593/360 --fail-with-body --fail --no-progress-meter > log/24/stdout360 2> log/24/stderr360 din) 05:46:12.163954 > 18 bytes data, server => client 05:46:12.163966 '221 bye bye baby\r\n' 05:46:12.167912 ====> Client disconnect 05:46:12.168144 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:11.096431 Running IPv4 version 05:46:11.096506 Listening on port 42831 05:46:11.096547 Wrote pid 96558 to log/8/server/ftp_sockdata.pid 05:46:11.103671 Received PING (on stdin) 05:46:11.103803 Received PORT (on stdin) 05:46:11.104254 ====> Client connect 05:46:11.105054 Received DATA (on stdin) 05:46:11.105067 > 17 bytes data, server => client 05:46:11.105078 'WE ROOLZ: 81360\r\n' 05:46:11.105107 Received DISC (on stdin) 05:46:11.105120 ====> Client forcibly disconnected 05:46:11.105257 Received QUIT (on stdin) 05:46:11.105268 quits 05:46:11.105343 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 200 fine, proceed without password Testnum 354 === End of file server.cmd === Start of file valgrind354 ==96585== ==96585== Process terminating with default action of signal 4 (SIGILL) ==96585== Illegal opcode at address 0x4014883 ==96585== at 0x4014883: getparameter (tool_getparam.c:2899) ==96585== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96585== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96585== by 0x4004208: main (tool_main.c:189) === End of file valgrind354 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind365 ../src/curl -q --output log/4/curl365.out --include --trace-ascii log/4/trace365 --trace-time http://127.0.0.1:40253/365 > log/4/stdout365 2> log/4/stderr365 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind357 ../src/curl -q --output log/23/curl357.out --include --trace-ascii log/23/trace357 --trace-time http://127.0.0.1:33217/we/want/357 -T log/23/test357.txt --expect100-timeout 99 > log/23/stdout357 2> log/23/stderr357 test 0360...[Error on both --fail-with-body and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind360 ../src/curl -q --output log/24/curl360.out --include --trace-ascii log/24/trace360 --trace-time http://127.0.0.1:33593/360 --fail-with-body --fail --no-progress-meter > log/24/stdout360 2> log/24/stderr360 360: stderr FAILED: --- log/24/check-expected 2026-03-14 05:46:14.247949377 +0000 +++ log/24/check-generated 2026-03-14 05:46:14.247949377 +0000 @@ -1 +0,0 @@ -Warning: --fail deselects --fail-with-body here[CR][LF] == Contents of files in the log/24/ directory after test 360 === Start of file check-expected Warning: --fail deselects --fail-with-body here[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind360 ../src/curl -q --output log/24/curl360.out --include --trace-ascii log/24/trace360 --trace-time http://127.0.0.1:33593/360 --fail-with-body --fail --no-progress-meter > log/24/stdout360 2> log/24/stderr360 === End of file commands.log === Start of file http_server.log 05:46:12.433769 ====> Client connect 05:46:12.433815 accept_connection 3 returned 4 05:46:12.433832 accept_connection 3 returned 0 05:46:12.433847 Read 93 bytes 05:46:12.433857 Process 93 bytes request 05:46:12.433871 Got request: GET /verifiedserver HTTP/1.1 05:46:12.433880 Are-we-friendly question received 05:46:12.433904 Wrote request (93 bytes) input to log/24/server.input 05:46:12.433921 Identifying ourselves as friends 05:46:12.433986 Response sent (56 bytes) and written to log/24/server.response 05:46:12.433996 special request received, no persistency 05:46:12.434004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 57016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 360 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind360 ==96721== ==96721== Process terminating with default action of signal 4 (SIGILL) ==96721== Illegal opcode at address 0x4014883 ==96721== at 0x4014883: getparameter (tool_getparam.c:2899) ==96721== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96721== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96721== by 0x4004208: main (tool_main.c:189) === End of file valgrind360 test 0365...[HTTP/1.1 with chunked AND Content-Length headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind365 ../src/curl -q --output log/4/curl365.out --include --trace-ascii log/4/trace365 --trace-time http://127.0.0.1:40253/365 > log/4/stdout365 2> log/4/stderr365 365: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind365 ../src/curl -q --output log/4/curl365.out --include --trace-ascii log/4/trace365 --trace-time http://127.0.0.1:40253/365 > log/4/stdout365 2> log/4/stderr365 === End of file commands.log === Start of file http_server.log 05:46:11.540390 ====> Client connect 05:46:11.540425 accept_connection 3 returned 4 05:46:11.540442 accept_connection 3 returned 0 05:46:11.540461 Read 93 bytes 05:46:11.540470 Process 93 bytes request 05:46:11.540484 Got request: GET /verifiedserver HTTP/1.1 05:46:11.540493 Are-we-friendly question received 05:46:11.540516 Wrote request (93 bytes) input to log/4/server.input 05:46:11.540532 Identifying ourselves as friends 05:46:11.540595 Response sent (56 bytes) and written to log/4/server.response 05:46:11.540605 special request received, no persistency 05:46:11.540613 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 60926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind365 ==96784== ==96784== Process terminating with default action of signal 4 (SIGILL) ==96784== Illegal opcode at address 0x4014883 ==96784== at 0x4014883: getparameter (tool_getparam.c:2899) ==96784== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96784== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96784== by 0x4004208: main (tool_main.c:189) === End of file valgrind365 test 0357...[HTTP PUT with Expect: 100-continue and 417 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind357 ../src/curl -q --output log/23/curl357.out --include --trace-ascii log/23/trace357 --trace-time http://127.0.0.1:33217/we/want/357 -T log/23/test357.txt --expect100-timeout 99 > log/23/stdout357 2> log/23/stderr357 357: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind357 ../src/curl -q --output log/23/curl357.out --include --trace-ascii log/23/trace357 --trace-time http://127.0.0.1:33217/we/want/357 -T log/23/test357.txt --expect100-timeout 99 > log/23/stdout357 2> log/23/stderr357 === End of file commands.log === Start of file http_server.log 05:46:12.100779 ====> Client connect 05:46:12.100817 accept_connection 3 returned 4 05:46:12.100835 accept_connection 3 returned 0 05:46:12.100850 Read 93 bytes 05:46:12.100860 Process 93 bytes request 05:46:12.100874 Got request: GET /verifiedserver HTTP/1.1 05:46:12.100883 Are-we-friendly question received 05:46:12.100912 Wrote request (93 bytes) input to log/23/server.input 05:46:12.100929 Identifying ourselves as friends 05:46:12.100990 Response sent (56 bytes) and written to log/23/server.response 05:46:12.101000 special request received, no persistency 05:46:12.101009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 47486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd no-expect Testnum 357 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind362 ../src/curl -q --output log/20/curl362.out --include --trace-ascii log/20/trace362 --trace-time ftp://127.0.0.1:46185/362 -T log/20/test362.txt --continue-at - > log/20/stdout362 2> log/20/stderr362 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind366 ../src/curl -q --output log/15/curl366.out --include --trace-ascii log/15/trace366 --trace-time http://127.0.0.1:43413/366 --retry 2 --retry-max-time 10 > log/15/stdout366 2> log/15/stderr366 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==96565== ==96565== Process terminating with default action of signal 4 (SIGILL) ==96565== Illegal opcode at address 0x4014883 ==96565== at 0x4014883: getparameter (tool_getparam.c:2899) ==96565== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96565== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96565== by 0x4004208: main (tool_main.c:189) === End of file valgrind357 test 0366...[HTTP --retry-max-time with too long Retry-After] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind366 ../src/curl -q --output log/15/curl366.out --include --trace-ascii log/15/trace366 --trace-time http://127.0.0.1:43413/366 --retry 2 --retry-max-time 10 > log/15/stdout366 2> log/15/stderr366 366: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind366 ../src/curl -q --output log/15/curl366.out --include --trace-ascii log/15/trace366 --trace-time http://127.0.0.1:43413/366 --retry 2 --retry-max-time 10 > log/15/stdout366 2> log/15/stderr366 === End of file commands.log === Start of file http_server.log 05:46:12.733772 ====> Client connect 05:46:12.733828 accept_connection 3 returned 4 05:46:12.733850 accept_connection 3 returned 0 05:46:12.733867 Read 93 bytes 05:46:12.733878 Process 93 bytes request 05:46:12.733892 Got request: GET /verifiedserver HTTP/1.1 05:46:12.733901 Are-we-friendly question received 05:46:12.733928 Wrote request (93 bytes) input to log/15/server.input 05:46:12.733946 Identifying ourselves as friends 05:46:12.734027 Response sent (56 bytes) and written to log/15/server.response 05:46:12.734038 special request received, no persistency 05:46:12.734047 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 47546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind368 ../src/curl -q --output log/9/curl368.out --include --trace-ascii log/9/trace368 --trace-time http://127.0.0.1:33885/368 -r 4 > log/9/stdout368 2> log/9/stderr368 nd of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind366 ==96947== ==96947== Process terminating with default action of signal 4 (SIGILL) ==96947== Illegal opcode at address 0x4014883 ==96947== at 0x4014883: getparameter (tool_getparam.c:2899) ==96947== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96947== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96947== by 0x4004208: main (tool_main.c:189) === End of file valgrind366 test 0362...[FTP resume upload file with nothing to start from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind362 ../src/curl -q --output log/20/curl362.out --include --trace-ascii log/20/trace362 --trace-time ftp://127.0.0.1:46185/362 -T log/20/test362.txt --continue-at - > log/20/stdout362 2> log/20/stderr362 362: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind362 ../src/curl -q --output log/20/curl362.out --include --trace-ascii log/20/trace362 --trace-time ftp://127.0.0.1:46185/362 -T log/20/test362.txt --continue-at - > log/20/stdout362 2> log/20/stderr362 === End of file commands.log === Start of file ftp_server.log 05:46:12.028797 ====> Client connect 05:46:12.029006 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:12.029344 < "USER anonymous" 05:46:12.029382 > "331 We are happy you popped in![CR][LF]" 05:46:12.029823 < "PASS ftp@example.com" 05:46:12.029853 > "230 Welcome you silly person[CR][LF]" 05:46:12.030018 < "PWD" 05:46:12.030053 > "257 "/" is current directory[CR][LF]" 05:46:12.030222 < "EPSV" 05:46:12.030252 ====> Passive DATA channel requested by client 05:46:12.030267 DATA sockfilt for passive data channel starting... 05:46:12.036710 DATA sockfilt for passive data channel started (pid 96743) 05:46:12.036853 DATA sockfilt for passive data channel listens on port 41771 05:46:12.036898 > "229 Entering Passive Mode (|||41771|)[CR][LF]" 05:46:12.036917 Client has been notified that DATA conn will be accepted on port 41771 05:46:12.037231 Client connects to port 41771 05:46:12.037258 ====> Client established passive DATA connection on port 41771 05:46:12.037349 < "TYPE I" 05:46:12.037380 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:12.037527 < "SIZE verifiedserver" 05:46:12.037564 > "213 17[CR][LF]" 05:46:12.037701 < "RETR verifiedserver" 05:46:12.037731 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:12.037825 =====> Closing passive DATA connection... 05:46:12.037841 Server disconnects passive DATA connection 05:46:12.038063 Server disconnected passive DATA connection 05:46:12.038089 DATA sockfilt for passive data channel quits (pid 96743) 05:46:12.038335 DATA sockfilt for passive data channel quit (pid 96743) 05:46:12.038359 =====> Closed passive DATA connection 05:46:12.038385 > "226 File transfer complete[CR][LF]" 05:46:12.089198 < "QUIT" 05:46:12.089256 > "221 bye bye baby[CR][LF]" 05:46:12.090598 MAIN sockfilt said DISC 05:46:12.090629 ====> Client disconnected 05:46:12.090716 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:12.490124 ====> Client connect 05:46:12.490515 Received DATA (on stdin) 05:46:12.490530 > 146 bytes data, server => client 05:46:12.490543 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:12.490553 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:12.490562 '220 \___|\___/|_| \_\_____|\r\n' 05:46:12.490643 < 16 bytes data, client => server 05:46:12.490655 'USER anonymous\r\n' 05:46:12.491101 Received DATA (on stdin) 05:46:12.491120 > 33 bytes data, server => client 05:46:12.491131 '331 We are happy you popped in!\r\n' 05:46:12.491187 < 22 bytes data, client => server 05:46:12.491201 'PASS ftp@example.com\r\n' 05:46:12.491316 Received DATA (on stdin) 05:46:12.491328 > 30 bytes data, server => client 05:46:12.491338 '230 Welcome you silly person\r\n' 05:46:12.491394 < 5 bytes data, client => server 05:46:12.491405 'PWD\r\n' 05:46:12.491516 Received DATA (on stdin) 05:46:12.491528 > 30 bytes data, server => client 05:46:12.491538 '257 "/" is current directory\r\n' 05:46:12.491598 < 6 bytes data, client => server 05:46:12.491609 'EPSV\r\n' 05:46:12.498393 Received DATA (on stdin) 05:46:12.498411 > 39 bytes data, server => client 05:46:12.498422 '229 Entering Passive Mode (|||41771|)\r\n' 05:46:12.498613 < 8 bytes data, client => server 05:46:12.498626 'TYPE I\r\n' 05:46:12.498843 Received DATA (on stdin) 05:46:12.498854 > 33 bytes data, server => client 05:46:12.498864 '200 I modify TYPE as you wanted\r\n' 05:46:12.498913 < 21 bytes data, client => server 05:46:12.498923 'SIZE verifiedserver\r\n' 05:46:12.499025 Received DATA (on stdin) 05:46:12.499035 > 8 bytes data, server => client 05:46:12.499045 '213 17\r\n' 05:46:12.499088 < 21 bytes data, client => server 05:46:12.499098 'RETR verifiedserver\r\n' 05:46:12.499305 Received DATA (on stdin) 05:46:12.499315 > 29 bytes data, server => client 05:46:12.499325 '150 Binary junk (17 bytes).\r\n' 05:46:12.499849 Received DATA (on stdin) 05:46:12.499861 > 28 bytes data, server => client 05:46:12.499871 '226 File transfer complete\r\n' 05:46:12.550456 < 6 bytes data, client => server 05:46:12.550498 'QUIT\r\n' 05:46:12.550721 Received DATA (on stdin) 05:46:12.550732 > 18 bytes data, server => client 05:46:12.550743 '221 bye bye baby\r\n' 05:46:12.551988 ====> Client disconnect 05:46:12.552177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:12.495761 Running IPv4 version 05:46:12.495844 Listening on port 41771 05:46:12.495881 Wrote pid 96743 to log/20/server/ftp_sockdata.pid 05:46:12.498098 Received PING (on stdin) 05:46:12.498215 Received PORT (on stdin) 05:46:12.498648 ====> Client connect 05:46:12.499348 Received DATA (on stdin) 05:46:12.499359 > 17 bytes data, server => client 05:46:12.499369 'WE ROOLZ: 89997\r\n' 05:46:12.499393 Received DISC (on stdin) 05:46:12.499403 ====> Client forcibly disconnected 05:46:12.499561 Received QUIT (on stdin) 05:46:12.499573 quits 05:46:12.499641 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 362 === End of file server.cmd === Start of file test362.txt data to see that FTP works so does it? === End of file test362.txt === Start of file valgrind362 ==96799== ==96799== Process terminating with default action of signal 4 (SIGILL) ==96799== Illegal opcode at address 0x4014883 ==96799== at 0x4014883: getparameter (tool_getparam.c:2899) ==96799== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==96799== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==96799== by 0x4004208: main (tool_main.c:189) === End of file valgrind362 test 0368...[Append dash if -r range specified without one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind368 ../src/curl -q --output log/9/curl368.out --include --trace-ascii log/9/trace368 --trace-time http://127.0.0.1:33885/368 -r 4 > log/9/stdout368 2> log/9/stderr368 368: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failureCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind374 ../src/curl -q --output log/1/curl374.out --include --trace-ascii log/1/trace374 --trace-time http://127.0.0.1:38765/gif/374 > log/1/stdout374 2> log/1/stderr374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind379 ../src/curl -q --include --trace-ascii log/5/trace379 --trace-time http://127.0.0.1:35621/379 -o log/5/save --remove-on-error --no-clobber > log/5/stdout379 2> log/5/stderr379 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind367 ../src/curl -q --output log/18/curl367.out --include --trace-ascii log/18/trace367 --trace-time http://:example@127.0.0.1:39913/367 > log/18/stdout367 2> log/18/stderr367 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind369 ../src/curl -q --output log/14/curl369.out --include --trace-ascii log/14/trace369 --trace-time http://127.0.0.1:35549/369 --etag-save log/14/nowhere/etag369 --next http://127.0.0.1:35549/369 --include --output log/14/curl369.out > log/14/stdout369 2> log/14/stderr369 ? Returned: 132 == Contents of files in the log/9/ directory after test 368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind368 ../src/curl -q --output log/9/curl368.out --include --trace-ascii log/9/trace368 --trace-time http://127.0.0.1:33885/368 -r 4 > log/9/stdout368 2> log/9/stderr368 === End of file commands.log === Start of file http_server.log 05:46:11.930417 ====> Client connect 05:46:11.930472 accept_connection 3 returned 4 05:46:11.930494 accept_connection 3 returned 0 05:46:11.930512 Read 93 bytes 05:46:11.930523 Process 93 bytes request 05:46:11.930537 Got request: GET /verifiedserver HTTP/1.1 05:46:11.930546 Are-we-friendly question received 05:46:11.930575 Wrote request (93 bytes) input to log/9/server.input 05:46:11.930595 Identifying ourselves as friends 05:46:11.930677 Response sent (56 bytes) and written to log/9/server.response 05:46:11.930690 special request received, no persistency 05:46:11.930700 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 58958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind368 ==97042== ==97042== Process terminating with default action of signal 4 (SIGILL) ==97042== Illegal opcode at address 0x4014883 ==97042== at 0x4014883: getparameter (tool_getparam.c:2899) ==97042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97042== by 0x4004208: main (tool_main.c:189) === End of file valgrind368 test 0374...[Valid gif with two frames. No new line in data section.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind374 ../src/curl -q --output log/1/curl374.out --include --trace-ascii log/1/trace374 --trace-time http://127.0.0.1:38765/gif/374 > log/1/stdout374 2> log/1/stderr374 374: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind374 ../src/curl -q --output log/1/curl374.out --include --trace-ascii log/1/trace374 --trace-time http://127.0.0.1:38765/gif/374 > log/1/stdout374 2> log/1/stderr374 === End of file commands.log === Start of file http_server.log 05:46:13.292480 ====> Client connect 05:46:13.292509 accept_connection 3 returned 4 05:46:13.292525 accept_connection 3 returned 0 05:46:13.292538 Read 93 bytes 05:46:13.292548 Process 93 bytes request 05:46:13.292560 Got request: GET /verifiedserver HTTP/1.1 05:46:13.292569 Are-we-friendly question received 05:46:13.292591 Wrote request (93 bytes) input to log/1/server.input 05:46:13.292607 Identifying ourselves as friends 05:46:13.292658 Response sent (56 bytes) and written to log/1/server.response 05:46:13.292667 special request received, no persistency 05:46:13.292676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 38872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind374 ==97307== ==97307== Process terminating with default action of signal 4 (SIGILL) ==97307== Illegal opcode at address 0x4014883 ==97307== at 0x4014883: getparameter (tool_getparam.c:2899) ==97307== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97307== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97307== by 0x4004208: main (tool_main.c:189) === End of file valgrind374 test 0379...[--remove-on-error with --no-clobber and an added number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind379 ../src/curl -q --include --trace-ascii log/5/trace379 --trace-time http://127.0.0.1:35621/379 -o log/5/save --remove-on-error --no-clobber > log/5/stdout379 2> log/5/stderr379 379: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind379 ../src/curl -q --include --trace-ascii log/5/trace379 --trace-time http://127.0.0.1:35621/379 -o log/5/save --remove-on-error --no-clobber > log/5/stdout379 2> log/5/stderr379 === End of file commands.log === Start of file http_server.log 05:46:13.460289 ====> Client connect 05:46:13.460383 accept_connection 3 returned 4 05:46:13.460404 accept_connection 3 returned 0 05:46:13.460421 Read 93 bytes 05:46:13.460431 Process 93 bytes request 05:46:13.460444 Got request: GET /verifiedserver HTTP/1.1 05:46:13.460453 Are-we-friendly question received 05:46:13.460479 Wrote request (93 bytes) input to log/5/server.input 05:46:13.460496 Identifying ourselves as friends 05:46:13.460570 Response sent (56 bytes) and written to log/5/server.response 05:46:13.460580 special request received, no persistency 05:46:13.460589 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 34444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file save exists before command runs === End of file save === Start of file server.cmd Testnum 379 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind379 ==97606== ==97606== Process terminating with default action of signal 4 (SIGILL) ==97606== Illegal opcode at address 0x4014883 ==97606== at 0x4014883: getparameter (tool_getparam.c:2899) ==97606== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97606== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97606== by 0x4004208: main (tool_main.c:189) === End of file valgrind379 test 036CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind373 ../src/curl -q --output log/11/curl373.out --include --trace-ascii log/11/trace373 --trace-time http://127.0.0.1:34551/chunked-transfer-encoding/373 > log/11/stdout373 2> log/11/stderr373 9...[--etag-save with bad path then working transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind369 ../src/curl -q --output log/14/curl369.out --include --trace-ascii log/14/trace369 --trace-time http://127.0.0.1:35549/369 --etag-save log/14/nowhere/etag369 --next http://127.0.0.1:35549/369 --include --output log/14/curl369.out > log/14/stdout369 2> log/14/stderr369 369: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind369 ../src/curl -q --output log/14/curl369.out --include --trace-ascii log/14/trace369 --trace-time http://127.0.0.1:35549/369 --etag-save log/14/nowhere/etag369 --next http://127.0.0.1:35549/369 --include --output log/14/curl369.out > log/14/stdout369 2> log/14/stderr369 === End of file commands.log === Start of file http_server.log 05:46:13.125654 ====> Client connect 05:46:13.125691 accept_connection 3 returned 4 05:46:13.125709 accept_connection 3 returned 0 05:46:13.125724 Read 93 bytes 05:46:13.125733 Process 93 bytes request 05:46:13.125748 Got request: GET /verifiedserver HTTP/1.1 05:46:13.125757 Are-we-friendly question received 05:46:13.125784 Wrote request (93 bytes) input to log/14/server.input 05:46:13.125801 Identifying ourselves as friends 05:46:13.125860 Response sent (56 bytes) and written to log/14/server.response 05:46:13.125870 special request received, no persistency 05:46:13.125879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 38146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind369 ==97171== ==97171== Process terminating with default action of signal 4 (SIGILL) ==97171== Illegal opcode at address 0x4014883 ==97171== at 0x4014883: getparameter (tool_getparam.c:2899) ==97171== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97171== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97171== by 0x4004208: main (tool_main.c:189) === End of file valgrind369 test 0367...[Empty username provided in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind367 ../src/curl -q --output log/18/curl367.out --include --trace-ascii log/18/trace367 --trace-time http://:example@127.0.0.1:39913/367 > log/18/stdout367 2> log/18/stderr367 367: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind367 ../src/curl -q --output log/18/curl367.out --include --trace-ascii log/18/trace367 --trace-time http://:example@127.0.0.1:39913/367 > log/18/stdout367 2> log/18/stderr367 === End of file commands.log === Start of file http_server.log 05:46:11.933734 ====> Client connect 05:46:11.933768 accept_connection 3 returned 4 05:46:11.933785 accept_connection 3 returned 0 05:46:11.933800 Read 93 bytes 05:46:11.933810 Process 93 bytes request 05:46:11.933823 Got request: GET /verifiedserver HTTP/1.1 05:46:11.933832 Are-we-friendly question received 05:46:11.933854 Wrote request (93 bytes) input to log/18/server.input 05:46:11.933871 Identifying ourselves as friends 05:46:11.933933 Response sent (56 bytes) and written to log/18/server.response 05:46:11.933942 special request received, no persistency 05:46:11.933951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 37972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind367 ==97043== ==97043== Process terminating with default action of signal 4 (SIGILL) ==97043== Illegal opcode at address 0x4014883 ==97043== at 0x4014883: getparameter (tool_getparam.c:2899) ==97043== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97043== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97043== by 0x4004208: main (tool_main.c:189) === End of file valgrind367 test 0373...[Chunked transfer encoding - Multiple valid chunks with binary zeros.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind373 ../src/curl -q --output log/11/curl373.out --include --trace-ascii log/11/trace373 --trace-time http://127.0.0.1:34551/chunked-transfer-encoding/373 > log/11/stdout373 2> log/11/stderr373 373: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind373 ../src/curl -q --output log/11/curl373.out --include --trace-ascii log/11/trace373 --trace-time http://127.0.0.1:34551/chunked-transfer-encoding/373 > log/11/stdout373 2> log/11/stderr373 === End of file commands.log === Start of file http_server.log 05:46:13.309636 ====> Client connect 05:46:13.309664 accept_connection 3 returned 4 05:46:13.309680 accept_connection 3 returned 0 05:46:13.309694 Read 93 bytes 05:46:13.309703 Process 93 bytes request 05:46:13.309716 Got request: GET /verifiedserver HTTP/1.1 05:46:13.309724 Are-we-friendly question received 05:46:13.309748 Wrote request (93 bytes) input to log/11/server.input 05:46:13.309763 Identifying ourselves as friends 05:46:13.309813 Response sent (56 bytes) and written to log/11/server.response 05:46:13.309824 special request received, no persistency 05:46:13.309832 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 58428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind370 ../src/curl -q --output log/19/curl370.out --include --trace-ascii log/19/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/19/nowhere/etag370 > log/19/stdout370 2> log/19/stderr370 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind372 ../src/curl -q --output log/3/curl372.out --include --trace-ascii log/3/trace372 --trace-time --raw http://127.0.0.1:39591/binary-zero-in-data-section/372 > log/3/stdout372 2> log/3/stderr372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind371 ../src/curl -q --output log/16/curl371.out --include --trace-ascii log/16/trace371 --trace-time http://127.0.0.1:44673/371 -o log/16/dump -o log/16/dump2 --no-progress-meter > log/16/stdout371 2> log/16/stderr371 of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind373 ==97350== ==97350== Process terminating with default action of signal 4 (SIGILL) ==97350== Illegal opcode at address 0x4014883 ==97350== at 0x4014883: getparameter (tool_getparam.c:2899) ==97350== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97350== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97350== by 0x4004208: main (tool_main.c:189) === End of file valgrind373 test 0370...[--etag-save with bad path - no transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind370 ../src/curl -q --output log/19/curl370.out --include --trace-ascii log/19/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/19/nowhere/etag370 > log/19/stdout370 2> log/19/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/19/ directory after test 370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind370 ../src/curl -q --output log/19/curl370.out --include --trace-ascii log/19/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/19/nowhere/etag370 > log/19/stdout370 2> log/19/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==97175== ==97175== Process terminating with default action of signal 4 (SIGILL) ==97175== Illegal opcode at address 0x4014883 ==97175== at 0x4014883: getparameter (tool_getparam.c:2899) ==97175== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97175== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97175== by 0x4004208: main (tool_main.c:189) === End of file valgrind370 test 0372...[Binary zero in data element.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind372 ../src/curl -q --output log/3/curl372.out --include --trace-ascii log/3/trace372 --trace-time --raw http://127.0.0.1:39591/binary-zero-in-data-section/372 > log/3/stdout372 2> log/3/stderr372 372: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind372 ../src/curl -q --output log/3/curl372.out --include --trace-ascii log/3/trace372 --trace-time --raw http://127.0.0.1:39591/binary-zero-in-data-section/372 > log/3/stdout372 2> log/3/stderr372 === End of file commands.log === Start of file http_server.log 05:46:13.289876 ====> Client connect 05:46:13.289922 accept_connection 3 returned 4 05:46:13.289938 accept_connection 3 returned 0 05:46:13.289952 Read 93 bytes 05:46:13.289962 Process 93 bytes request 05:46:13.289976 Got request: GET /verifiedserver HTTP/1.1 05:46:13.289985 Are-we-friendly question received 05:46:13.290009 Wrote request (93 bytes) input to log/3/server.input 05:46:13.290025 Identifying ourselves as friends 05:46:13.290079 Response sent (56 bytes) and written to log/3/server.response 05:46:13.290088 special request received, no persistency 05:46:13.290097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 43734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind372 ==97297== ==97297== Process terminating with default action of signal 4 (SIGILL) ==97297== Illegal opcode at address 0x4014883 ==97297== at 0x4014883: getparameter (tool_getparam.c:2899) ==97297== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97297== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97297== by 0x4004208: main (tool_main.c:189) === End of file valgrind372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind380 ../src/curl -q --output log/13/curl380.out --include --trace-ascii log/13/trace380 --trace-time --netrc --netrc-file log/13/netrc380 ftp://mary@127.0.0.1:46845/ > log/13/stdout380 2> log/13/stderr380 test 0371...[using more -o than URLs in the command line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind371 ../src/curl -q --output log/16/curl371.out --include --trace-ascii log/16/trace371 --trace-time http://127.0.0.1:44673/371 -o log/16/dump -o log/16/dump2 --no-progress-meter > log/16/stdout371 2> log/16/stderr371 371: stderr FAILED: --- log/16/check-expected 2026-03-14 05:46:15.377949377 +0000 +++ log/16/check-generated 2026-03-14 05:46:15.377949377 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/16/ directory after test 371 === Start of file check-expected Warning: Got more output options than URLs[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind371 ../src/curl -q --output log/16/curl371.out --include --trace-ascii log/16/trace371 --trace-time http://127.0.0.1:44673/371 -o log/16/dump -o log/16/dump2 --no-progress-meter > log/16/stdout371 2> log/16/stderr371 === End of file commands.log === Start of file http_server.log 05:46:13.250131 ====> Client connect 05:46:13.250169 accept_connection 3 returned 4 05:46:13.250336 accept_connection 3 returned 0 05:46:13.250353 Read 93 bytes 05:46:13.250378 Process 93 bytes request 05:46:13.250392 Got request: GET /verifiedserver HTTP/1.1 05:46:13.250400 Are-we-friendly question received 05:46:13.250426 Wrote request (93 bytes) input to log/16/server.input 05:46:13.250442 Identifying ourselves as friends 05:46:13.250500 Response sent (56 bytes) and written to log/16/server.response 05:46:13.250511 special request received, no persistency 05:46:13.250520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 53990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind371 ==97292== ==97292== Process terminating with default action of signal 4 (SIGILL) ==97292== Illegal opcode at address 0x4014883 ==97292== at 0x4014883: getparameter (tool_getparam.c:2899) ==97292== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97292== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97292== by 0x4004208: main (tool_main.c:189) === End of file valgrind371 test 0380...[pick netrc password based on username in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind380 ../src/curl -q --output log/13/curl380.out --include --trace-ascii log/13/trace380 --trace-time --netrc --netrc-file log/13/netrc380 ftp://mary@127.0.0.1:46845/ > log/13/stdout380 2> log/13/stderr380 380: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind380 ../src/curl -q --output log/13/curl380.out --include --trace-ascii log/13/trace380 --trace-time --netrc --netrc-file log/13/netrc380 ftp://mary@127.0.0.1:46845/ > log/13/stdout380 2> log/13/stderr380 === End of file commands.log === Start of file ftp_server.log 05:46:13.279027 ====> Client connect 05:46:13.279230 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:13.279511 < "USER anonymous" 05:46:13.279543 > "331 We are happy you popped in![CR][LF]" 05:46:13.279698 < "PASS ftp@example.com" 05:46:13.279723 > "230 Welcome you silly person[CR][LF]" 05:46:13.279863 < "PWD" 05:46:13.279893 > "257 "/" is current directory[CR][LF]" 05:46:13.280044 < "EPSV" 05:46:13.280067 ====> Passive DATA channel requested by client 05:46:13.280080 DATA sockfilt for passive data channel starting... 05:46:13.292320 DATA sockfilt for passive data channel started (pid 97736) 05:46:13.292500 DATA sockfilt for passive data channel listens on port 41223 05:46:13.292558 > "229 Entering Passive Mode (|||41223|)[CR][LF]" 05:46:13.292583 Client has been notified that DATA conn will be accepted on port 41223 05:46:13.295610 Client connects to port 41223 05:46:13.295650 ====> Client established passive DATA connection on port 41223 05:46:13.295769 < "TYPE I" 05:46:13.295813 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:13.296027 < "SIZE verifiedserver" 05:46:13.296072 > "213 17[CR][LF]" 05:46:13.296261 < "RETR verifiedserver" 05:46:13.296301 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:13.296402 =====> Closing passive DATA connection... 05:46:13.296420 Server disconnects passive DATA connection 05:46:13.296658 Server disconnected passive DATA connection 05:46:13.296690 DATA sockfilt for passive data channel quits (pid 97736) 05:46:13.296942 DATA sockfilt for passive data channel quit (pid 97736) 05:46:13.296968 =====> Closed passive DATA connection 05:46:13.296996 > "226 File transfer complete[CR][LF]" 05:46:13.342552 < "QUIT" 05:46:13.342609 > "221 bye bye baby[CR][LF]" 05:46:13.343868 MAIN sockfilt said DISC 05:46:13.343904 ====> Client disconnected 05:46:13.343994 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:13.740348 ====> Client connect 05:46:13.740627 Received DATA (on stdin) 05:46:13.740643 > 146 bytes data, server => client 05:46:13.740701 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:13.740712 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:13.740722 '220 \___|\___/|_| \_\_____|\r\n' 05:46:13.740835 < 16 bytes data, client => server 05:46:13.740847 'USER anonymous\r\n' 05:46:13.741007 Received DATA (on stdin) 05:46:13.741017 > 33 bytes data, server => client 05:46:13.741027 '331 We are happy you popped in!\r\n' 05:46:13.741078 < 22 bytes data, client => server 05:46:13.741088 'PASS ftp@example.com\r\n' 05:46:13.741184 Received DATA (on stdin) 05:46:13.741194 > 30 bytes data, server => client 05:46:13.741204 '230 Welcome you silly person\r\n' 05:46:13.741248 < 5 bytes data, client => server 05:46:13.741257 'PWD\r\n' 05:46:13.741354 Received DATA (on stdin) 05:46:13.741364 > 30 bytes data, server => client 05:46:13.741375 '257 "/" is current directory\r\n' 05:46:13.741431 < 6 bytes data, client => server 05:46:13.741441 'EPSV\r\n' 05:46:13.753999 Received DATA (on stdin) 05:46:13.754025 > 39 bytes data, server => client 05:46:13.754038 '229 Entering Passive Mode (|||41223|)\r\n' 05:46:13.754232 < 8 bytes data, client => server 05:46:13.754244 'TYPE I\r\n' 05:46:13.757286 Received DATA (on stdin) 05:46:13.757302 > 33 bytes data, server => client 05:46:13.757313 '200 I modify TYPE as you wanted\r\n' 05:46:13.757388 < 21 bytes data, client => server 05:46:13.757405 'SIZE verifiedserver\r\n' 05:46:13.757543 Received DATA (on stdin) 05:46:13.757557 > 8 bytes data, server => client 05:46:13.757568 '213 17\r\n' 05:46:13.757624 < 21 bytes data, client => server 05:46:13.757639 'RETR verifiedserver\r\n' 05:46:13.757886 ReceiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind376 ../src/curl -q --include --trace-ascii log/10/trace376 --trace-time http://127.0.0.1:46741/376 -o log/10/save-376 --remove-on-error > log/10/stdout376 2> log/10/stderr376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind381 ../src/curl -q --output log/17/curl381.out --include --trace-ascii log/17/trace381 --trace-time --netrc-optional --netrc-file log/17/netrc381 ftp://mary:drfrank@127.0.0.1:35305/ > log/17/stdout381 2> log/17/stderr381 ved DATA (on stdin) 05:46:13.757899 > 29 bytes data, server => client 05:46:13.757909 '150 Binary junk (17 bytes).\r\n' 05:46:13.758461 Received DATA (on stdin) 05:46:13.758473 > 28 bytes data, server => client 05:46:13.758483 '226 File transfer complete\r\n' 05:46:13.803807 < 6 bytes data, client => server 05:46:13.803848 'QUIT\r\n' 05:46:13.804075 Received DATA (on stdin) 05:46:13.804087 > 18 bytes data, server => client 05:46:13.804097 '221 bye bye baby\r\n' 05:46:13.805280 ====> Client disconnect 05:46:13.805457 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:13.747807 Running IPv4 version 05:46:13.747919 Listening on port 41223 05:46:13.747966 Wrote pid 97736 to log/13/server/ftp_sockdata.pid 05:46:13.753679 Received PING (on stdin) 05:46:13.753843 Received PORT (on stdin) 05:46:13.757014 ====> Client connect 05:46:13.757935 Received DATA (on stdin) 05:46:13.757948 > 17 bytes data, server => client 05:46:13.757958 'WE ROOLZ: 81411\r\n' 05:46:13.757983 Received DISC (on stdin) 05:46:13.757995 ====> Client forcibly disconnected 05:46:13.758164 Received QUIT (on stdin) 05:46:13.758176 quits 05:46:13.758254 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc380 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc380 === Start of file server.cmd Testnum 380 === End of file server.cmd === Start of file valgrind380 ==97744== ==97744== Process terminating with default action of signal 4 (SIGILL) ==97744== Illegal opcode at address 0x4014883 ==97744== at 0x4014883: getparameter (tool_getparam.c:2899) ==97744== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97744== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97744== by 0x4004208: main (tool_main.c:189) === End of file valgrind380 test 0376...[--remove-on-error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind376 ../src/curl -q --include --trace-ascii log/10/trace376 --trace-time http://127.0.0.1:46741/376 -o log/10/save-376 --remove-on-error > log/10/stdout376 2> log/10/stderr376 376: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind376 ../src/curl -q --include --trace-ascii log/10/trace376 --trace-time http://127.0.0.1:46741/376 -o log/10/save-376 --remove-on-error > log/10/stdout376 2> log/10/stderr376 === End of file commands.log === Start of file http_server.log 05:46:12.337051 ====> Client connect 05:46:12.337083 accept_connection 3 returned 4 05:46:12.337100 accept_connection 3 returned 0 05:46:12.337115 Read 93 bytes 05:46:12.337124 Process 93 bytes request 05:46:12.337140 Got request: GET /verifiedserver HTTP/1.1 05:46:12.337149 Are-we-friendly question received 05:46:12.337172 Wrote request (93 bytes) input to log/10/server.input 05:46:12.337188 Identifying ourselves as friends 05:46:12.337245 Response sent (56 bytes) and written to log/10/server.response 05:46:12.337254 special request received, no persistency 05:46:12.337262 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 58208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind376 ==97448== ==97448== Process terminating with default action of signal 4 (SIGILL) ==97448== Illegal opcode at address 0x4014883 ==97448== at 0x4014883: getparameter (tool_getparam.c:2899) ==97448== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97448== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97448== by 0x4004208: main (tool_main.c:189) === End of file valgrind376 test 0381...[netrc-optional lets URL creds override netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind381 ../src/curl -q --output log/17/curl381.out --include --trace-ascii log/17/trace381 --trace-time --netrc-optional --netrc-file log/17/netrc381 ftp://mary:drfrank@127.0.0.1:35305/ > log/17/stdout381 2> log/17/stderr381 381: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind381 ../src/curl -q --output log/17/curl381.out --include --trace-ascii log/17/trace381 --trace-time --netrc-optional --netrc-file log/17/netrc381 ftp://mary:drfrank@127.0.0.1:35305/ > log/17/stdout381 2> log/17/stderr381 === End of file commands.log === Start of file ftp_server.log 05:46:13.444846 ====> Client connect 05:46:13.448992 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:13.449389 < "USER anonymous" 05:46:13.449436 > "331 We are happy you popped in![CR][LF]" 05:46:13.449651 < "PASS ftp@example.com" 05:46:13.449685 > "230 Welcome you silly person[CR][LF]" 05:46:13.449878 < "PWD" 05:46:13.449921 > "257 "/" is current directory[CR][LF]" 05:46:13.450130 < "EPSV" 05:46:13.450161 ====> Passive DATA channel requested by client 05:46:13.450178 DATA sockfilt for passive data channel starting... 05:46:13.465615 DATA sockfilt for passive data channel started (pid 97780) 05:46:13.469097 DATA sockfilt for passive data channel listens on port 46879 05:46:13.469188 > "229 Entering Passive Mode (|||46879|)[CR][LF]" 05:46:13.469219 Client has been notified that DATA conn will be accepted on port 46879 05:46:13.478988 Client connects to port 46879 05:46:13.479072 ====> Client established passive DATA connection on port 46879 05:46:13.479208 < "TYPE I" 05:46:13.479252 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:13.485953 < "SIZE verifiedserver" 05:46:13.486033 > "213 17[CR][LF]" 05:46:13.486240 < "RETR verifiedserver" 05:46:13.486285 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:13.486407 =====> Closing passive DATA connection... 05:46:13.486433 Server disconnects passive DATA connection 05:46:13.489053 Server disconnected passive DATA connection 05:46:13.489087 DATA sockfilt for passive data channel quits (pid 97780) 05:46:13.489411 DATA sockfilt for passive data channel quit (pid 97780) 05:46:13.489440 =====> Closed passive DATA connection 05:46:13.489470 > "226 File transfer complete[CR][LF]" 05:46:13.532498 < "QUIT" 05:46:13.532573 > "221 bye bye baby[CR][LF]" 05:46:13.533900 MAIN sockfilt said DISC 05:46:13.533940 ====> Client disconnected 05:46:13.534050 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:12.906162 ====> Client connect 05:46:12.910495 Received DATA (on stdin) 05:46:12.910517 > 146 bytes data, server =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind383 ../src/curl -q --output log/2/curl383.out --include --trace-ascii log/2/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41799/383 > log/2/stdout383 2> log/2/stderr383 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind378 ../src/curl -q --output log/7/curl378.out --include --trace-ascii log/7/trace378 --trace-time -T log/7/378 -d input http://never-accessed > log/7/stdout378 2> log/7/stderr378 > client 05:46:12.910531 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:12.910542 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:12.910552 '220 \___|\___/|_| \_\_____|\r\n' 05:46:12.910673 < 16 bytes data, client => server 05:46:12.910689 'USER anonymous\r\n' 05:46:12.910912 Received DATA (on stdin) 05:46:12.910928 > 33 bytes data, server => client 05:46:12.910940 '331 We are happy you popped in!\r\n' 05:46:12.911001 < 22 bytes data, client => server 05:46:12.911019 'PASS ftp@example.com\r\n' 05:46:12.911155 Received DATA (on stdin) 05:46:12.911168 > 30 bytes data, server => client 05:46:12.911179 '230 Welcome you silly person\r\n' 05:46:12.911237 < 5 bytes data, client => server 05:46:12.911253 'PWD\r\n' 05:46:12.911394 Received DATA (on stdin) 05:46:12.911409 > 30 bytes data, server => client 05:46:12.911421 '257 "/" is current directory\r\n' 05:46:12.911491 < 6 bytes data, client => server 05:46:12.911507 'EPSV\r\n' 05:46:12.937018 Received DATA (on stdin) 05:46:12.937084 > 39 bytes data, server => client 05:46:12.937098 '229 Entering Passive Mode (|||46879|)\r\n' 05:46:12.937339 < 8 bytes data, client => server 05:46:12.937357 'TYPE I\r\n' 05:46:12.947011 Received DATA (on stdin) 05:46:12.947067 > 33 bytes data, server => client 05:46:12.947081 '200 I modify TYPE as you wanted\r\n' 05:46:12.947213 < 21 bytes data, client => server 05:46:12.947232 'SIZE verifiedserver\r\n' 05:46:12.947513 Received DATA (on stdin) 05:46:12.947528 > 8 bytes data, server => client 05:46:12.947539 '213 17\r\n' 05:46:12.947598 < 21 bytes data, client => server 05:46:12.947615 'RETR verifiedserver\r\n' 05:46:12.947907 Received DATA (on stdin) 05:46:12.947922 > 29 bytes data, server => client 05:46:12.947934 '150 Binary junk (17 bytes).\r\n' 05:46:12.950937 Received DATA (on stdin) 05:46:12.950949 > 28 bytes data, server => client 05:46:12.950961 '226 File transfer complete\r\n' 05:46:12.993717 < 6 bytes data, client => server 05:46:12.993772 'QUIT\r\n' 05:46:12.994053 Received DATA (on stdin) 05:46:12.994069 > 18 bytes data, server => client 05:46:12.994080 '221 bye bye baby\r\n' 05:46:12.995306 ====> Client disconnect 05:46:12.995528 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:13.914863 Running IPv4 version 05:46:13.914955 Listening on port 46879 05:46:13.914997 Wrote pid 97780 to log/17/server/ftp_sockdata.pid 05:46:13.920734 Received PING (on stdin) 05:46:13.930348 Received PORT (on stdin) 05:46:13.940351 ====> Client connect 05:46:13.950364 Received DATA (on stdin) 05:46:13.950398 > 17 bytes data, server => client 05:46:13.950411 'WE ROOLZ: 81141\r\n' 05:46:13.950462 Received DISC (on stdin) 05:46:13.950481 ====> Client forcibly disconnected 05:46:13.950570 Received QUIT (on stdin) 05:46:13.950587 quits 05:46:13.950696 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc381 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc381 === Start of file server.cmd Testnum 381 === End of file server.cmd === Start of file valgrind381 ==97807== ==97807== Process terminating with default action of signal 4 (SIGILL) ==97807== Illegal opcode at address 0x4014883 ==97807== at 0x4014883: getparameter (tool_getparam.c:2899) ==97807== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97807== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97807== by 0x4004208: main (tool_main.c:189) === End of file valgrind381 test 0383...[HTTP with --json] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind383 ../src/curl -q --output log/2/curl383.out --include --trace-ascii log/2/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41799/383 > log/2/stdout383 2> log/2/stderr383 383: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind383 ../src/curl -q --output log/2/curl383.out --include --trace-ascii log/2/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41799/383 > log/2/stdout383 2> log/2/stderr383 === End of file commands.log === Start of file http_server.log 05:46:14.127135 ====> Client connect 05:46:14.127169 accept_connection 3 returned 4 05:46:14.127186 accept_connection 3 returned 0 05:46:14.134238 Read 93 bytes 05:46:14.134263 Process 93 bytes request 05:46:14.134277 Got request: GET /verifiedserver HTTP/1.1 05:46:14.134287 Are-we-friendly question received 05:46:14.134341 Wrote request (93 bytes) input to log/2/server.input 05:46:14.134360 Identifying ourselves as friends 05:46:14.134417 Response sent (56 bytes) and written to log/2/server.response 05:46:14.134427 special request received, no persistency 05:46:14.134436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 46452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 383 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind383 ==97952== ==97952== Process terminating with default action of signal 4 (SIGILL) ==97952== Illegal opcode at address 0x4014883 ==97952== at 0x4014883: getparameter (tool_getparam.c:2899) ==97952== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97952== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97952== by 0x4004208: main (tool_main.c:189) === End of file valgrind383 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind384 ../src/curl -q --output log/6/curl384.out --include --trace-ascii log/6/trace384 --trace-time --json @- http://127.0.0.1:33035/384 -H "Accept: foobar/*" log/6/stdout384 2> log/6/stderr384 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind386 ../src/curl -q --output log/22/curl386.out --include --trace-ascii log/22/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41477/386 --next http://127.0.0.1:41477/3860002 > log/22/stdout386 2> log/22/stderr386 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind385 ../src/curl -q --output log/12/curl385.out --include --trace-ascii log/12/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:36353/385 -H "Content-Type: drinks/hot" > log/12/stdout385 2> log/12/stderr385 test 0378...[Reject using -T and -d at once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind378 ../src/curl -q --output log/7/curl378.out --include --trace-ascii log/7/trace378 --trace-time -T log/7/378 -d input http://never-accessed > log/7/stdout378 2> log/7/stderr378 378: stderr FAILED: --- log/7/check-expected 2026-03-14 05:46:15.927949376 +0000 +++ log/7/check-generated 2026-03-14 05:46:15.927949376 +0000 @@ -1,2 +0,0 @@ -Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] -Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] == Contents of files in the log/7/ directory after test 378 === Start of file check-expected Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind378 ../src/curl -q --output log/7/curl378.out --include --trace-ascii log/7/trace378 --trace-time -T log/7/378 -d input http://never-accessed > log/7/stdout378 2> log/7/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==97445== ==97445== Process terminating with default action of signal 4 (SIGILL) ==97445== Illegal opcode at address 0x4014883 ==97445== at 0x4014883: getparameter (tool_getparam.c:2899) ==97445== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97445== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97445== by 0x4004208: main (tool_main.c:189) === End of file valgrind378 test 0384...[HTTP with --json from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind384 ../src/curl -q --output log/6/curl384.out --include --trace-ascii log/6/trace384 --trace-time --json @- http://127.0.0.1:33035/384 -H "Accept: foobar/*" log/6/stdout384 2> log/6/stderr384 384: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind384 ../src/curl -q --output log/6/curl384.out --include --trace-ascii log/6/trace384 --trace-time --json @- http://127.0.0.1:33035/384 -H "Accept: foobar/*" log/6/stdout384 2> log/6/stderr384 === End of file commands.log === Start of file http_server.log 05:46:13.135313 ====> Client connect 05:46:13.135342 accept_connection 3 returned 4 05:46:13.135357 accept_connection 3 returned 0 05:46:13.135369 Read 93 bytes 05:46:13.135378 Process 93 bytes request 05:46:13.135388 Got request: GET /verifiedserver HTTP/1.1 05:46:13.135397 Are-we-friendly question received 05:46:13.135421 Wrote request (93 bytes) input to log/6/server.input 05:46:13.135436 Identifying ourselves as friends 05:46:13.135485 Response sent (56 bytes) and written to log/6/server.response 05:46:13.135493 special request received, no persistency 05:46:13.135501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 36594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 384 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stdin-for-384 { "drink": "coffee" } === End of file stdin-for-384 === Start of file valgrind384 ==97885== ==97885== Process terminating with default action of signal 4 (SIGILL) ==97885== Illegal opcode at address 0x4014883 ==97885== at 0x4014883: getparameter (tool_getparam.c:2899) ==97885== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==97885== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==97885== by 0x4004208: main (tool_main.c:189) === End of file valgrind384 test 0386...[HTTP with --json + --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind386 ../src/curl -q --output log/22/curl386.out --include --trace-ascii log/22/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41477/386 --next http://127.0.0.1:41477/3860002 > log/22/stdout386 2> log/22/stderr386 386: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind386 ../src/curl -q --output log/22/curl386.out --include --trace-ascii log/22/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41477/386 --next http://127.0.0.1:41477/3860002 > log/22/stdout386 2> log/22/stderr386 === End of file commands.log === Start of file http_server.log 05:46:14.453771 ====> Client connect 05:46:14.453827 accept_connection 3 returned 4 05:46:14.453852 accept_connection 3 returned 0 05:46:14.453871 Read 93 bytes 05:46:14.453881 Process 93 bytes request 05:46:14.453896 Got request: GET /verifiedserver HTTP/1.1 05:46:14.453906 Are-we-friendly question received 05:46:14.453934 Wrote request (93 bytes) input to log/22/server.input 05:46:14.453953 Identifying ourselves as friends 05:46:14.454047 Response sent (56 bytes) and written to log/22/server.response 05:46:14.454060 special request received, no persistency 05:46:14.454070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 50396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 386 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind386 ==98112== ==98112== Process terminating with default action of signal 4 (SIGILL) ==98112== Illegal opcode at address 0x4014883 ==98112== at 0x4014883: getparameter (tool_getparam.c:2899) ==98112== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98112== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98112== by 0x4004208: main (tool_main.c:189) === End of file valgrind386 test 0385...[HTTP with --json x 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind385 ../src/curl -q --output log/12/curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind388 ../src/curl -q --include --trace-ascii log/8/trace388 --trace-time http://127.0.0.1:45623/3880001 -u testuser:testpass --digest http://127.0.0.1:45623/3880002 > log/8/stdout388 2> log/8/stderr388 l385.out --include --trace-ascii log/12/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:36353/385 -H "Content-Type: drinks/hot" > log/12/stdout385 2> log/12/stderr385 385: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind385 ../src/curl -q --output log/12/curl385.out --include --trace-ascii log/12/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:36353/385 -H "Content-Type: drinks/hot" > log/12/stdout385 2> log/12/stderr385 === End of file commands.log === Start of file http_server.log 05:46:14.367077 ====> Client connect 05:46:14.367122 accept_connection 3 returned 4 05:46:14.367138 accept_connection 3 returned 0 05:46:14.367154 Read 93 bytes 05:46:14.367165 Process 93 bytes request 05:46:14.367179 Got request: GET /verifiedserver HTTP/1.1 05:46:14.367188 Are-we-friendly question received 05:46:14.367213 Wrote request (93 bytes) input to log/12/server.input 05:46:14.367231 Identifying ourselves as friends 05:46:14.367319 Response sent (56 bytes) and written to log/12/server.response 05:46:14.367333 special request received, no persistency 05:46:14.367342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 55658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 385 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind385 ==98030== ==98030== Process terminating with default action of signal 4 (SIGILL) ==98030== Illegal opcode at address 0x4014883 ==98030== at 0x4014883: getparameter (tool_getparam.c:2899) ==98030== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98030== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98030== by 0x4004208: main (tool_main.c:189) === End of file valgrind385 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind387 ../src/curl -q --output log/21/curl387.out --include --trace-ascii log/21/trace387 --trace-time http://127.0.0.1:42891/387 -sS --tr-encoding > log/21/stdout387 2> log/21/stderr387 test 0388...[HTTP with Digest and multiple qop values with leading space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind388 ../src/curl -q --include --trace-ascii log/8/trace388 --trace-time http://127.0.0.1:45623/3880001 -u testuser:testpass --digest http://127.0.0.1:45623/3880002 > log/8/stdout388 2> log/8/stderr388 388: stdout FAILED: --- log/8/check-expected 2026-03-14 05:46:16.821282709 +0000 +++ log/8/check-generated 2026-03-14 05:46:16.821282709 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/8/ directory after test 388 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind388 ../src/curl -q --include --trace-ascii log/8/trace388 --trace-time http://127.0.0.1:45623/3880001 -u testuser:testpass --digest http://127.0.0.1:45623/3880002 > log/8/stdout388 2> log/8/stderr388 === End of file commands.log === Start of file http_server.log 05:46:13.533715 ====> Client connect 05:46:13.533756 accept_connection 3 returned 4 05:46:13.533775 accept_connection 3 returned 0 05:46:13.533793 Read 93 bytes 05:46:13.533803 Process 93 bytes request 05:46:13.533818 Got request: GET /verifiedserver HTTP/1.1 05:46:13.533827 Are-we-friendly question received 05:46:13.533862 Wrote request (93 bytes) input to log/8/server.input 05:46:13.533882 Identifying ourselves as friends 05:46:13.533964 Response sent (56 bytes) and written to log/8/server.response 05:46:13.533976 special request received, no persistency 05:46:13.533985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 46616 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 388 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind388 ==98159== ==98159== Process terminating with default action of signal 4 (SIGILL) ==98159== Illegal opcode at address 0x4014883 ==98159== at 0x4014883: getparameter (tool_getparam.c:2899) ==98159== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98159== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98159== by 0x4004208: main (tool_main.c:189) === End of file valgrind388 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind391 ../src/curl -q --output log/23/curl391.out --include --trace-ascii log/23/trace391 --trace-time http://127.0.0.1:33217/../../391 --path-as-is -L > log/23/stdout391 2> log/23/stderr391 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind392 ../src/curl -q --output log/20/curl392.out --include --trace-ascii log/20/trace392 --trace-time -4 http://localhost:38929/392 -b none http://localhost:38929/392 > log/20/stdout392 2> log/20/stderr392 test 0387...[Response with overly long compression chain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind387 ../src/curl -q --output log/21/curl387.out --include --trace-ascii log/21/trace387 --trace-time http://127.0.0.1:42891/387 -sS --tr-encoding > log/21/stdout387 2> log/21/stderr387 387: stderr FAILED: --- log/21/check-expected 2026-03-14 05:46:16.837949375 +0000 +++ log/21/check-generated 2026-03-14 05:46:16.837949375 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/21/ directory after test 387 === Start of file check-expected curl: (61) Reject response due to more than 5 content encodings[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind387 ../src/curl -q --output log/21/curl387.out --include --trace-ascii log/21/trace387 --trace-time http://127.0.0.1:42891/387 -sS --tr-encoding > log/21/stdout387 2> log/21/stderr387 === End of file commands.log === Start of file http_server.log 05:46:13.509845 ====> Client connect 05:46:13.509879 accept_connection 3 returned 4 05:46:13.509898 accept_connection 3 returned 0 05:46:13.509914 Read 93 bytes 05:46:13.509925 Process 93 bytes request 05:46:13.509939 Got request: GET /verifiedserver HTTP/1.1 05:46:13.509949 Are-we-friendly question received 05:46:13.509975 Wrote request (93 bytes) input to log/21/server.input 05:46:13.509994 Identifying ourselves as friends 05:46:13.510060 Response sent (56 bytes) and written to log/21/server.response 05:46:13.510072 special request received, no persistency 05:46:13.510081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 35338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 387 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind387 ==98121== ==98121== Process terminating with default action of signal 4 (SIGILL) ==98121== Illegal opcode at address 0x4014883 ==98121== at 0x4014883: getparameter (tool_getparam.c:2899) ==98121== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98121== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98121== by 0x4004208: main (tool_main.c:189) === End of file valgrind387 test 0391...[--path-as-is with redirect, keeping dotdots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind391 ../src/curl -q --output log/23/curl391.out --include --trace-ascii log/23/trace391 --trace-time http://127.0.0.1:33217/../../391 --path-as-is -L > log/23/stdout391 2> log/23/stderr391 391: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind391 ../src/curl -q --output log/23/curl391.out --include --trace-ascii log/23/trace391 --trace-time http://127.0.0.1:33217/../../391 --path-as-is -L > log/23/stdout391 2> log/23/stderr391 === End of file commands.log === Start of file http_server.log 05:46:14.919366 ====> Client connect 05:46:14.919399 accept_connection 3 returned 4 05:46:14.919415 accept_connection 3 returned 0 05:46:14.919430 Read 93 bytes 05:46:14.919439 Process 93 bytes request 05:46:14.919454 Got request: GET /verifiedserver HTTP/1.1 05:46:14.919463 Are-we-friendly question received 05:46:14.919490 Wrote request (93 bytes) input to log/23/server.input 05:46:14.919508 Identifying ourselves as friends 05:46:14.919603 Response sent (56 bytes) and written to log/23/server.response 05:46:14.919615 special request received, no persistency 05:46:14.919625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 47502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 391 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind391 ==98372== ==98372== Process terminating with default action of signal 4 (SIGILL) ==98372== Illegal opcode at address 0x4014883 ==98372== at 0x4014883: getparameter (tool_getparam.c:2899) ==98372== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98372== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98372== by 0x4004208: main (tool_main.c:189) === End of file valgrind391 setenv TZ = GMT test 0392...[HTTP secure cookies over localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind392 ../src/curl -q --output log/20/curl392.out --include --trace-ascii log/20/trace392 --trace-time -4 http://localhost:38929/392 -b none http://localhost:38929/392 > log/20/stdout392 2> log/20/stderr392 392: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind392 ../src/curl -q --output log/20/curl392.out --include --trace-ascii log/20/trace392 --trace-time -4 http://localhost:38929/392 -b none http://localhost:38929/392 > log/20/stdout392 2> log/20/stderr392 === End of file commands.log === Start of file http_server.log 05:46:14.167067 ====> Client connect 05:46:14.167110 accept_connection 3 returned 4 05:46:14.167128 accept_connection 3 returned 0 05:46:14.167144 Read 93 bytes 05:46:14.167153 Process 93 bytes request 05:46:14.167167 Got request: GET /verifiedserver HTTP/1.1 05:46:14.167176 Are-we-friendly question received 05:46:14.167200 Wrote request (93 bytes) input to log/20/server.input 05:46:14.167216 Identifying ourselves as friends 05:46:14.167291 Response sent (56 bytes) and written to log/20/server.response 05:46:14.167300 special request received, no persistency 05:46:14.167309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 59398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind395 ../src/curl -q --output log/1/curl395.out --include --trace-ascii log/1/trace395 --trace-time http://127.0.0.1:38765/395 > log/1/stdout395 2> log/1/stderr395 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind393 ../src/curl -q --output log/15/curl393.out --include --trace-ascii log/15/trace393 --trace-time http://127.0.0.1:43413/393 --max-filesize 2000000 > log/15/stdout393 2> log/15/stderr393 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind390 ../src/curl -q --include --trace-ascii log/4/trace390 --trace-time http://127.0.0.1:40253/390 file://localhost/startdir/src/build-curl/tests/log/4/test390.txt ftp://127.0.0.1:43777/3900002 --parallel -o log/4/390.a -o log/4/390.b -o log/4/390.c > log/4/stdout390 2> log/4/stderr390 ytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 392 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind392 ==98520== ==98520== Process terminating with default action of signal 4 (SIGILL) ==98520== Illegal opcode at address 0x4014883 ==98520== at 0x4014883: getparameter (tool_getparam.c:2899) ==98520== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98520== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98520== by 0x4004208: main (tool_main.c:189) === End of file valgrind392 test 0395...[HTTP and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind395 ../src/curl -q --output log/1/curl395.out --include --trace-ascii log/1/trace395 --trace-time http://127.0.0.1:38765/395 > log/1/stdout395 2> log/1/stderr395 395: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 395 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind395 ../src/curl -q --output log/1/curl395.out --include --trace-ascii log/1/trace395 --trace-time http://127.0.0.1:38765/395 > log/1/stdout395 2> log/1/stderr395 === End of file commands.log === Start of file http_server.log 05:46:15.500405 ====> Client connect 05:46:15.500459 accept_connection 3 returned 4 05:46:15.500477 accept_connection 3 returned 0 05:46:15.500491 Read 93 bytes 05:46:15.500500 Process 93 bytes request 05:46:15.500514 Got request: GET /verifiedserver HTTP/1.1 05:46:15.500523 Are-we-friendly question received 05:46:15.500548 Wrote request (93 bytes) input to log/1/server.input 05:46:15.500564 Identifying ourselves as friends 05:46:15.500622 Response sent (56 bytes) and written to log/1/server.response 05:46:15.500632 special request received, no persistency 05:46:15.500641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 38886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 395 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind395 ==98738== ==98738== Process terminating with default action of signal 4 (SIGILL) ==98738== Illegal opcode at address 0x4014883 ==98738== at 0x4014883: getparameter (tool_getparam.c:2899) ==98738== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98738== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98738== by 0x4004208: main (tool_main.c:189) === End of file valgrind395 test 0393...[HTTP max-filesize and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind393 ../src/curl -q --output log/15/curl393.out --include --trace-ascii log/15/trace393 --trace-time http://127.0.0.1:43413/393 --max-filesize 2000000 > log/15/stdout393 2> log/15/stderr393 393: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind393 ../src/curl -q --output log/15/curl393.out --include --trace-ascii log/15/trace393 --trace-time http://127.0.0.1:43413/393 --max-filesize 2000000 > log/15/stdout393 2> log/15/stderr393 === End of file commands.log === Start of file http_server.log 05:46:15.177086 ====> Client connect 05:46:15.177127 accept_connection 3 returned 4 05:46:15.177144 accept_connection 3 returned 0 05:46:15.177161 Read 93 bytes 05:46:15.177169 Process 93 bytes request 05:46:15.177183 Got request: GET /verifiedserver HTTP/1.1 05:46:15.177191 Are-we-friendly question received 05:46:15.177215 Wrote request (93 bytes) input to log/15/server.input 05:46:15.177230 Identifying ourselves as friends 05:46:15.177307 Response sent (56 bytes) and written to log/15/server.response 05:46:15.177316 special request received, no persistency 05:46:15.177324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 47558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 393 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind393 ==98529== ==98529== Process terminating with default action of signal 4 (SIGILL) ==98529== Illegal opcode at address 0x4014883 ==98529== at 0x4014883: getparameter (tool_getparam.c:2899) ==98529== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98529== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98529== by 0x4004208: main (tool_main.c:189) === End of file valgrind393 test 0390...[curl HTTP, FILE and FTP in parallel] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind390 ../src/curl -q --include --trace-ascii log/4/trace390 --trace-time http://127.0.0.1:40253/390 file://localhost/startdir/src/build-curl/tests/log/4/test390.txt ftp://127.0.0.1:43777/3900002 --parallel -o log/4/390.a -o log/4/390.b -o log/4/390.c > log/4/stdout390 2> log/4/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/4/ directory after test 390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind390 ../src/curl -q --include --trace-ascii log/4/trace390 --trace-time http://127.0.0.1:40253/390 file://localhost/startdir/src/build-curl/tests/log/4/test390.txt ftp://127.0.0.1:43777/3900002 --parallel -o log/4/390.a -o log/4/390.b -o log/4/390.c > log/4/stdout390 2> log/4/stderr390 === End of file commands.log === Start of file ftp_server.log 05:46:14.522248 ====> Client connect 05:46:14.522449 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:14.522752 < "USER anonymous" 05:46:14.522790 > "331 We are happy you popped in![CR][LF]" 05:46:14.522963 < "PASS ftp@example.com" 05:46:14.522991 > "230 Welcome you silly person[CR][LF]" 05:46:14.523156 < "PWD" 05:46:14.523190 > "257 "/" is current directory[CR][LF]" 05:46:14.523364 < "EPSV" 05:46:14.523391 ====> Passive DATA channel requested by client 05:46:14.523408 DATA sockfilt for passive data channel starting... 05:46:14.532529 DATA sockfilt for passive data channel started (pid 98400) 05:46:14.532718 DATA sockfilt for passive data channel listens on port 46309 05:46:14.532786 > "229 Entering Passive Mode (|||46309|)[CR][LF]" 05:46:14.532815 Client has been notified that DATA conn will be accepted on port 46309 05:46:14.533183 Client connects to port 46309 05:46:14.533219 ====> Client established passive DATA connection on port 46309 05:46:14.533336 < "TYPE I" 05:46:14.533382 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:14.533578 < "SIZE verifiedserver" 05:46:14.533626 > "213 17[CR][LF]" 05:46:14.533821 < "RETR verifiedserver" 05:46:14.533863 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:14.533973 =====> Closing passive DATA connection... 05:46:14.533997 Server disconnects passive DATA connection 05:46:14.534252 Server disconnected passive DATA connection 05:46:14.534286 DATA sockfilt for passive data channel quits (pid 98400) 05:46:14.534635 DATA sockfilt for passive data channel quit (pid 98400) 05:46:14.534665 =====> Closed passive DATA connection 05:46:14.534694 > "226 File transfer complete[CR][LF]" 05:46:14.589274 < "QUIT" 05:46:14.589338 > "221 bye bye baby[CR][LF]" 05:46:14.590816 MAIN sockfilt said DISC 05:46:14.590862 ====> Client disconnected 05:46:14.590962 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:14.980356 ====> Client connect 05:46:14.983896 Received DATA (on stdin) 05:46:14.983926 > 146 bytes data, server => client 05:46:14.983939 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:14.983949 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:14.983958 '220 \___|\___/|_| \_\_____|\r\n' 05:46:14.984076 < 16 bytes data, client => server 05:46:14.984088 'USER anonymous\r\n' 05:46:14.984258 Received DATA (on stdin) 05:46:14.984271 > 33 bytes data, server => client 05:46:14.984281 '331 We are happy you popped in!\r\n' 05:46:14.984334 < 22 bytes data, client => server 05:46:14.984349 'PASS ftp@example.com\r\n' 05:46:14.984456 Received DATA (on stdin) 05:46:14.984467 > 30 bytes data, server => client 05:46:14.984478 '230 Welcome you silly person\r\n' 05:46:14.984529 < 5 bytes data, client => server 05:46:14.984542 'PWD\r\n' 05:46:14.984654 Received DATA (on stdin) 05:46:14.984666 > 30 bytes data, server => client 05:46:14.984676 '257 "/" is current directory\r\n' 05:46:14.984737 < 6 bytes data, client => server 05:46:14.984749 'EPSV\r\n' 05:46:14.994296 Received DATA (on stdin) 05:46:14.994317 > 39 bytes data, server => client 05:46:14.994330 '229 Entering Passive Mode (|||46309|)\r\n' 05:46:14.994587 < 8 bytes data, client => server 05:46:14.994601 'TYPE I\r\n' 05:46:14.994856 Received DATA (on stdin) 05:46:14.994870 > 33 bytes data, server => client 05:46:14.994881 '200 I modify TYPE as you wanted\r\n' 05:46:14.994940 < 21 bytes data, client => server 05:46:14.994956 'SIZE verifiedserver\r\n' 05:46:14.995098 Received DATA (on stdin) 05:46:14.995111 > 8 bytes data, server => client 05:46:14.995122 '213 17\r\n' 05:46:14.995182 < 21 bytes data, client => server 05:46:14.995199 'RETR verifiedserver\r\n' 05:46:14.995467 Received DATA (on stdin) 05:46:14.995481 > 29 bytes data, server => client 05:46:14.995492 '150 Binary junk (17 bytes).\r\n' 05:46:14.996165 Received DATA (on stdin) 05:46:14.996177 > 28 bytes data, server => client 05:46:14.996187 '226 File transfer complete\r\n' 05:46:15.050488 < 6 bytes data, client => server 05:46:15.050530 'QUIT\r\n' 05:46:15.050811 Received DATA (on stdin) 05:46:15.050826 > 18 bytes data, server => client 05:46:15.050836 '221 bye bye baby\r\n' 05:46:15.052211 ====> Client disconnect 05:46:15.052433 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:14.991648 Running IPv4 version 05:46:14.991758 Listening on port 46309 05:46:14.991804 Wrote pid 98400 to log/4/server/ftp_sockdata.pid 05:46:14.993888 Received PING (on stdin) 05:46:14.994057 Received PORT (on stdin) 05:46:14.994553 ====> Client connect 05:46:14.995521 Received DATA (on stdin) 05:46:14.995536 > 17 bytes data, server => client 05:46:14.995546 'WE ROOLZ: 81463\r\n' 05:46:14.995573 Received DISC (on stdin) 05:46:14.995586 ====> Client forcibly disconnected 05:46:14.995762 Received QUIT (on stdin) 05:46:14.995775 quits 05:46:14.995877 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:46:13.907085 ====> Client connect 05:46:13.907136 accept_connection 3 returned 4 05:46:13.907156 accept_connection 3 returned 0 05:46:13.907174 Read 93 bytes 05:46:13.907184 Process 93 bytes request 05:46:13.907198 Got request: GET /verifiedserver HTTP/1.1 05:46:13.907208 Are-we-friendly question received 05:46:13.907236 Wrote request (93 bytes) input to log/4/server.input 05:46:13.907253 Identifying ourselves as friends 05:46:13.907335 Response sent (56 bytes) and written to log/4/server.response 05:46:13.907346 special request received, no persistency 05:46:13.907355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 60938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 390 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file test390.txt hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile === End of file test390.txt === Start of file valgrind390 ==98453== ==98453== Process terminating with default action of signal 4 (SIGILL) ==98453== Illegal opcode at address 0x4014883 ==984CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind397 ../src/curl -q --output log/18/curl397.out --include --trace-ascii log/18/trace397 --trace-time http://127.0.0.1:39913/397 --compressed > log/18/stdout397 2> log/18/stderr397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind389 ../src/curl -q --output log/24/curl389.out --include --trace-ascii log/24/trace389 --trace-time -4 http://curlmachine.localhost:33593/389 > log/24/stdout389 2> log/24/stderr389 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind394 ../src/curl -q --output log/9/curl394.out --include --trace-ascii log/9/trace394 --trace-time http://127.0.0.1:33885/394 > log/9/stdout394 2> log/9/stderr394 53== at 0x4014883: getparameter (tool_getparam.c:2899) ==98453== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98453== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98453== by 0x4004208: main (tool_main.c:189) === End of file valgrind390 test 0397...[HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind397 ../src/curl -q --output log/18/curl397.out --include --trace-ascii log/18/trace397 --trace-time http://127.0.0.1:39913/397 --compressed > log/18/stdout397 2> log/18/stderr397 397: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 397 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind397 ../src/curl -q --output log/18/curl397.out --include --trace-ascii log/18/trace397 --trace-time http://127.0.0.1:39913/397 --compressed > log/18/stdout397 2> log/18/stderr397 === End of file commands.log === Start of file http_server.log 05:46:14.650403 ====> Client connect 05:46:14.650447 accept_connection 3 returned 4 05:46:14.650469 accept_connection 3 returned 0 05:46:14.650486 Read 93 bytes 05:46:14.650496 Process 93 bytes request 05:46:14.650511 Got request: GET /verifiedserver HTTP/1.1 05:46:14.650520 Are-we-friendly question received 05:46:14.650546 Wrote request (93 bytes) input to log/18/server.input 05:46:14.650564 Identifying ourselves as friends 05:46:14.650645 Response sent (56 bytes) and written to log/18/server.response 05:46:14.650659 special request received, no persistency 05:46:14.650668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 37984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 397 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind397 ==98863== ==98863== Process terminating with default action of signal 4 (SIGILL) ==98863== Illegal opcode at address 0x4014883 ==98863== at 0x4014883: getparameter (tool_getparam.c:2899) ==98863== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98863== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98863== by 0x4004208: main (tool_main.c:189) === End of file valgrind397 test 0389...[*.localhost is a local host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind389 ../src/curl -q --output log/24/curl389.out --include --trace-ascii log/24/trace389 --trace-time -4 http://curlmachine.localhost:33593/389 > log/24/stdout389 2> log/24/stderr389 389: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind389 ../src/curl -q --output log/24/curl389.out --include --trace-ascii log/24/trace389 --trace-time -4 http://curlmachine.localhost:33593/389 > log/24/stdout389 2> log/24/stderr389 === End of file commands.log === Start of file http_server.log 05:46:14.816158 ====> Client connect 05:46:14.816198 accept_connection 3 returned 4 05:46:14.816215 accept_connection 3 returned 0 05:46:14.816228 Read 93 bytes 05:46:14.816238 Process 93 bytes request 05:46:14.816251 Got request: GET /verifiedserver HTTP/1.1 05:46:14.816260 Are-we-friendly question received 05:46:14.816283 Wrote request (93 bytes) input to log/24/server.input 05:46:14.816298 Identifying ourselves as friends 05:46:14.816371 Response sent (56 bytes) and written to log/24/server.response 05:46:14.816380 special request received, no persistency 05:46:14.816387 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 57028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 389 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind389 ==98314== ==98314== Process terminating with default action of signal 4 (SIGILL) ==98314== Illegal opcode at address 0x4014883 ==98314== at 0x4014883: getparameter (tool_getparam.c:2899) ==98314== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98314== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98314== by 0x4004208: main (tool_main.c:189) === End of file valgrind389 test 0394...[HTTP with rubbish in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind394 ../src/curl -q --output log/9/curl394.out --include --trace-ascii log/9/trace394 --trace-time http://127.0.0.1:33885/394 > log/9/stdout394 2> log/9/stderr394 394: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 394 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind394 ../src/curl -q --output log/9/curl394.out --include --trace-ascii log/9/trace394 --trace-time http://127.0.0.1:33885/394 > log/9/stdout394 2> log/9/stderr394 === End of file commands.log === Start of file http_server.log 05:46:14.324919 ====> Client connect 05:46:14.324944 accept_connection 3 returned 4 05:46:14.324957 accept_connection 3 returned 0 05:46:14.324968 Read 93 bytes 05:46:14.324976 Process 93 bytes request 05:46:14.324988 Got request: GET /verifiedserver HTTP/1.1 05:46:14.324995 Are-we-friendly question received 05:46:14.325013 Wrote request (93 bytes) input to log/9/server.input 05:46:14.325025 Identifying ourselves as friends 05:46:14.325068 Response sent (56 bytes) and written to log/9/server.response 05:46:14.325076 special request received, no persistency 05:46:14.325082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 58966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind396 ../src/curl -q --output log/5/curl396.out --include --trace-ascii log/5/trace396 --trace-time http://127.0.0.1:35621/396 --compressed > log/5/stdout396 2> log/5/stderr396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind398 ../src/curl -q --output log/11/curl398.out --include --trace-ascii log/11/trace398 --trace-time http://127.0.0.1:34551/398 > log/11/stdout398 2> log/11/stderr398 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind405 ../src/curl -q --output log/3/curl405.out --include --trace-ascii log/3/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:43409/path/to/file/405 > log/3/stdout405 2> log/3/stderr405 http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 394 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind394 ==98656== ==98656== Process terminating with default action of signal 4 (SIGILL) ==98656== Illegal opcode at address 0x4014883 ==98656== at 0x4014883: getparameter (tool_getparam.c:2899) ==98656== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98656== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98656== by 0x4004208: main (tool_main.c:189) === End of file valgrind394 test 0396...[HTTP GET zstd compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind396 ../src/curl -q --output log/5/curl396.out --include --trace-ascii log/5/trace396 --trace-time http://127.0.0.1:35621/396 --compressed > log/5/stdout396 2> log/5/stderr396 396: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind396 ../src/curl -q --output log/5/curl396.out --include --trace-ascii log/5/trace396 --trace-time http://127.0.0.1:35621/396 --compressed > log/5/stdout396 2> log/5/stderr396 === End of file commands.log === Start of file http_server.log 05:46:15.586027 ====> Client connect 05:46:15.586058 accept_connection 3 returned 4 05:46:15.586073 accept_connection 3 returned 0 05:46:15.586087 Read 93 bytes 05:46:15.586097 Process 93 bytes request 05:46:15.586111 Got request: GET /verifiedserver HTTP/1.1 05:46:15.586120 Are-we-friendly question received 05:46:15.586143 Wrote request (93 bytes) input to log/5/server.input 05:46:15.586159 Identifying ourselves as friends 05:46:15.586210 Response sent (56 bytes) and written to log/5/server.response 05:46:15.586219 special request received, no persistency 05:46:15.586227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 34458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 396 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind396 ==98800== ==98800== Process terminating with default action of signal 4 (SIGILL) ==98800== Illegal opcode at address 0x4014883 ==98800== at 0x4014883: getparameter (tool_getparam.c:2899) ==98800== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98800== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98800== by 0x4004208: main (tool_main.c:189) === End of file valgrind396 test 0398...[Reject HTTP/1.1 response with colon-less header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind398 ../src/curl -q --output log/11/curl398.out --include --trace-ascii log/11/trace398 --trace-time http://127.0.0.1:34551/398 > log/11/stdout398 2> log/11/stderr398 398: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind398 ../src/curl -q --output log/11/curl398.out --include --trace-ascii log/11/trace398 --trace-time http://127.0.0.1:34551/398 > log/11/stdout398 2> log/11/stderr398 === End of file commands.log === Start of file http_server.log 05:46:15.667385 ====> Client connect 05:46:15.667544 accept_connection 3 returned 4 05:46:15.667563 accept_connection 3 returned 0 05:46:15.667578 Read 93 bytes 05:46:15.667589 Process 93 bytes request 05:46:15.667603 Got request: GET /verifiedserver HTTP/1.1 05:46:15.667612 Are-we-friendly question received 05:46:15.667640 Wrote request (93 bytes) input to log/11/server.input 05:46:15.667657 Identifying ourselves as friends 05:46:15.667719 Response sent (56 bytes) and written to log/11/server.response 05:46:15.667731 special request received, no persistency 05:46:15.667740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 58430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 398 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind398 ==98867== ==98867== Process terminating with default action of signal 4 (SIGILL) ==98867== Illegal opcode at address 0x4014883 ==98867== at 0x4014883: getparameter (tool_getparam.c:2899) ==98867== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98867== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98867== by 0x4004208: main (tool_main.c:189) === End of file valgrind398 test 0405...[FTPS operation to FTP port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind405 ../src/curl -q --output log/3/curl405.out --include --trace-ascii log/3/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:43409/path/to/file/405 > log/3/stdout405 2> log/3/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/3/ directory after test 405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind405 ../src/curl -q --output log/3/curl405.out --include --trace-ascii log/3/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:43409/path/to/file/405 > log/3/stdout405 2> log/3/stderr405 === End of file commands.log === Start of file ftp_server.log 05:46:15.407448 ====> Client connect 05:46:15.407619 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:15.407929 < "USER anonymous" 05:46:15.407972 > "331 We are happy you popped in![CR][LF]" 05:46:15.408168 < "PASS ftp@example.com" 05:46:15.408203 > "230 Welcome you silly person[CR][LF]" 05:46:15.408368 < "PWD" 05:46:15.408405 > "257 "/" is current directory[CR][LF]" 05:46:15.408569 < "EPSV" 05:46:15.408595 ====> Passive DATA channel requested by client 05:46:15.408608 DATA sockfilt for passive data channel starting... 05:46:15.410549 DATA sockfilt for passive datCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind402 ../src/curl -q --output log/19/curl402.out --include --trace-ascii log/19/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:45453/402 > log/19/stdout402 2> log/19/stderr402 a channel started (pid 99073) 05:46:15.410654 DATA sockfilt for passive data channel listens on port 36695 05:46:15.410693 > "229 Entering Passive Mode (|||36695|)[CR][LF]" 05:46:15.410711 Client has been notified that DATA conn will be accepted on port 36695 05:46:15.410936 Client connects to port 36695 05:46:15.410966 ====> Client established passive DATA connection on port 36695 05:46:15.411037 < "TYPE I" 05:46:15.411065 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:15.411217 < "SIZE verifiedserver" 05:46:15.411254 > "213 17[CR][LF]" 05:46:15.411399 < "RETR verifiedserver" 05:46:15.411432 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:15.411520 =====> Closing passive DATA connection... 05:46:15.411536 Server disconnects passive DATA connection 05:46:15.411759 Server disconnected passive DATA connection 05:46:15.411783 DATA sockfilt for passive data channel quits (pid 99073) 05:46:15.412018 DATA sockfilt for passive data channel quit (pid 99073) 05:46:15.412040 =====> Closed passive DATA connection 05:46:15.412066 > "226 File transfer complete[CR][LF]" 05:46:15.455907 < "QUIT" 05:46:15.455965 > "221 bye bye baby[CR][LF]" 05:46:15.457190 MAIN sockfilt said DISC 05:46:15.457234 ====> Client disconnected 05:46:15.457321 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:15.868778 ====> Client connect 05:46:15.869104 Received DATA (on stdin) 05:46:15.869119 > 146 bytes data, server => client 05:46:15.869129 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:15.869138 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:15.869146 '220 \___|\___/|_| \_\_____|\r\n' 05:46:15.869235 < 16 bytes data, client => server 05:46:15.869246 'USER anonymous\r\n' 05:46:15.869441 Received DATA (on stdin) 05:46:15.869454 > 33 bytes data, server => client 05:46:15.869465 '331 We are happy you popped in!\r\n' 05:46:15.869523 < 22 bytes data, client => server 05:46:15.869535 'PASS ftp@example.com\r\n' 05:46:15.869667 Received DATA (on stdin) 05:46:15.869678 > 30 bytes data, server => client 05:46:15.869688 '230 Welcome you silly person\r\n' 05:46:15.869739 < 5 bytes data, client => server 05:46:15.869750 'PWD\r\n' 05:46:15.869868 Received DATA (on stdin) 05:46:15.869879 > 30 bytes data, server => client 05:46:15.869889 '257 "/" is current directory\r\n' 05:46:15.869946 < 6 bytes data, client => server 05:46:15.869957 'EPSV\r\n' 05:46:15.872178 Received DATA (on stdin) 05:46:15.872190 > 39 bytes data, server => client 05:46:15.872200 '229 Entering Passive Mode (|||36695|)\r\n' 05:46:15.872321 < 8 bytes data, client => server 05:46:15.872334 'TYPE I\r\n' 05:46:15.872527 Received DATA (on stdin) 05:46:15.872538 > 33 bytes data, server => client 05:46:15.872549 '200 I modify TYPE as you wanted\r\n' 05:46:15.872597 < 21 bytes data, client => server 05:46:15.872607 'SIZE verifiedserver\r\n' 05:46:15.872715 Received DATA (on stdin) 05:46:15.872725 > 8 bytes data, server => client 05:46:15.872734 '213 17\r\n' 05:46:15.872780 < 21 bytes data, client => server 05:46:15.872790 'RETR verifiedserver\r\n' 05:46:15.872998 Received DATA (on stdin) 05:46:15.873009 > 29 bytes data, server => client 05:46:15.873018 '150 Binary junk (17 bytes).\r\n' 05:46:15.873528 Received DATA (on stdin) 05:46:15.873540 > 28 bytes data, server => client 05:46:15.873549 '226 File transfer complete\r\n' 05:46:15.917142 < 6 bytes data, client => server 05:46:15.917173 'QUIT\r\n' 05:46:15.917434 Received DATA (on stdin) 05:46:15.917447 > 18 bytes data, server => client 05:46:15.917457 '221 bye bye baby\r\n' 05:46:15.918593 ====> Client disconnect 05:46:15.918785 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:15.871710 Running IPv4 version 05:46:15.871767 Listening on port 36695 05:46:15.871801 Wrote pid 99073 to log/3/server/ftp_sockdata.pid 05:46:15.871952 Received PING (on stdin) 05:46:15.872033 Received PORT (on stdin) 05:46:15.872353 ====> Client connect 05:46:15.873069 Received DATA (on stdin) 05:46:15.873081 > 17 bytes data, server => client 05:46:15.873091 'WE ROOLZ: 81310\r\n' 05:46:15.873115 Received DISC (on stdin) 05:46:15.873125 ====> Client forcibly disconnected 05:46:15.873255 Received QUIT (on stdin) 05:46:15.873265 quits 05:46:15.873337 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 ==99128== ==99128== Process terminating with default action of signal 4 (SIGILL) ==99128== Illegal opcode at address 0x4014883 ==99128== at 0x4014883: getparameter (tool_getparam.c:2899) ==99128== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99128== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99128== by 0x4004208: main (tool_main.c:189) === End of file valgrind405 test 0402...[FTP SSL required on non-SSL server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind402 ../src/curl -q --output log/19/curl402.out --include --trace-ascii log/19/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:45453/402 > log/19/stdout402 2> log/19/stderr402 402: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind402 ../src/curl -q --output log/19/curl402.out --include --trace-ascii log/19/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:45453/402 > log/19/stdout402 2> log/19/stderr402 === End of file commands.log === Start of file ftp_server.log 05:46:15.308914 ====> Client connect 05:46:15.309155 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:15.309531 < "USER anonymous" 05:46:15.309570 > "331 We are happy you popped in![CR][LF]" 05:46:15.309753 < "PASS ftp@example.com" 05:46:15.309821 > "230 Welcome you silly person[CR][LF]" 05:46:15.309981 < "PWD" 05:46:15.310019 > "257 "/" is current directory[CR][LF]" 05:46:15.310204 < "EPSV" 05:46:15.310234 ====> Passive DATA channel requested by client 05:46:15.310253 DATA sockfilt for passive data channel starting... 05:46:15.313395 DATA sockfilt for passive data channel started (pid 98974) 05:46:15.313504 DATA sockfilt for passive data channel listens on port 41275 05:46:15.313553 > "229 Entering Passive Mode (|||41275|)[CR][LF]" 05:46:15.313576 Client has been notified that DATA conn will be accepted on port 41275 05:46:15.313863 Client connects to port 41275 05:46:15.313892 ====> Client established passive DATA connection on port 41275 05:46:15.313974 < "TYPE I" 05:46:15.314004 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:15.314424 < "SIZE verifiedserver" 05:46:15.314465 > "213 17[CR][LF]" 05:46:15.314622 < "RETR verifiedserver" 05:46:15.314660 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:15.314744 =====> Closing passive DATA connection... 05:46:15.314762 Server disconnects passive DATA connection 05:46:15.314990 Server disconnected passive DATA connection 05:46:15.315017 DATA sockfilt for passive data channel quits (pid 98974) 05:46:15.315209 DATA sockfilt for passive data channel quit (pid 98974) 05:46:15.315236 =====> Closed passive DATA connection 05:46:15.315262 > "226 File transfer complete[CR][LF]" 05:46:15.362540 < "QUIT" 05:46:15.362605 > "221 bye bye baby[CR][LF]" 05:46:15.363903 MAIN sockfilt said DISC 05:46:15.363946 ====> Client disconnected 05:46:15.364032 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:14.763739 ====> Client connect 05:46:14.770645 Received DATA (on stdinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind411 ../src/curl -q --output log/16/curl411.out --include --trace-ascii log/16/trace411 --trace-time -K log/16/missing http://localhost > log/16/stdout411 2> log/16/stderr411 ) 05:46:14.770669 > 146 bytes data, server => client 05:46:14.770682 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:14.770694 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:14.770704 '220 \___|\___/|_| \_\_____|\r\n' 05:46:14.770831 < 16 bytes data, client => server 05:46:14.770848 'USER anonymous\r\n' 05:46:14.771036 Received DATA (on stdin) 05:46:14.771048 > 33 bytes data, server => client 05:46:14.771059 '331 We are happy you popped in!\r\n' 05:46:14.771115 < 22 bytes data, client => server 05:46:14.771129 'PASS ftp@example.com\r\n' 05:46:14.771227 Received DATA (on stdin) 05:46:14.771241 > 30 bytes data, server => client 05:46:14.771291 '230 Welcome you silly person\r\n' 05:46:14.771347 < 5 bytes data, client => server 05:46:14.771360 'PWD\r\n' 05:46:14.771485 Received DATA (on stdin) 05:46:14.771496 > 30 bytes data, server => client 05:46:14.771505 '257 "/" is current directory\r\n' 05:46:14.771570 < 6 bytes data, client => server 05:46:14.771584 'EPSV\r\n' 05:46:14.775046 Received DATA (on stdin) 05:46:14.775060 > 39 bytes data, server => client 05:46:14.775072 '229 Entering Passive Mode (|||41275|)\r\n' 05:46:14.775224 < 8 bytes data, client => server 05:46:14.775240 'TYPE I\r\n' 05:46:14.775468 Received DATA (on stdin) 05:46:14.775481 > 33 bytes data, server => client 05:46:14.775491 '200 I modify TYPE as you wanted\r\n' 05:46:14.775789 < 21 bytes data, client => server 05:46:14.775805 'SIZE verifiedserver\r\n' 05:46:14.775927 Received DATA (on stdin) 05:46:14.775938 > 8 bytes data, server => client 05:46:14.775948 '213 17\r\n' 05:46:14.775998 < 21 bytes data, client => server 05:46:14.776009 'RETR verifiedserver\r\n' 05:46:14.776227 Received DATA (on stdin) 05:46:14.776239 > 29 bytes data, server => client 05:46:14.776249 '150 Binary junk (17 bytes).\r\n' 05:46:14.776725 Received DATA (on stdin) 05:46:14.776738 > 28 bytes data, server => client 05:46:14.776748 '226 File transfer complete\r\n' 05:46:14.823784 < 6 bytes data, client => server 05:46:14.823825 'QUIT\r\n' 05:46:14.824082 Received DATA (on stdin) 05:46:14.824098 > 18 bytes data, server => client 05:46:14.824109 '221 bye bye baby\r\n' 05:46:14.825302 ====> Client disconnect 05:46:14.825501 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:15.774582 Running IPv4 version 05:46:15.774638 Listening on port 41275 05:46:15.774671 Wrote pid 98974 to log/19/server/ftp_sockdata.pid 05:46:15.774804 Received PING (on stdin) 05:46:15.774879 Received PORT (on stdin) 05:46:15.775277 ====> Client connect 05:46:15.776275 Received DATA (on stdin) 05:46:15.776287 > 17 bytes data, server => client 05:46:15.776298 'WE ROOLZ: 81129\r\n' 05:46:15.776321 Received DISC (on stdin) 05:46:15.776332 ====> Client forcibly disconnected 05:46:15.776488 Received QUIT (on stdin) 05:46:15.776500 quits 05:46:15.776547 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==99040== ==99040== Process terminating with default action of signal 4 (SIGILL) ==99040== Illegal opcode at address 0x4014883 ==99040== at 0x4014883: getparameter (tool_getparam.c:2899) ==99040== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99040== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99040== by 0x4004208: main (tool_main.c:189) === End of file valgrind402 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind399 ../src/curl -q --output log/14/curl399.out --include --trace-ascii log/14/trace399 --trace-time -K log/14/input%TESTNUM > log/14/stdout399 2> log/14/stderr399 test 0411...[-K with missing file causes error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind411 ../src/curl -q --output log/16/curl411.out --include --trace-ascii log/16/trace411 --trace-time -K log/16/missing http://localhost > log/16/stdout411 2> log/16/stderr411 411: stderr FAILED: --- log/16/check-expected 2026-03-14 05:46:18.057949374 +0000 +++ log/16/check-generated 2026-03-14 05:46:18.057949374 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/16/missing'[CR][LF] -curl: option -K: error encountered when reading a file[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/16/ directory after test 411 === Start of file check-expected curl: cannot read config from 'log/16/missing'[CR][LF] curl: option -K: error encountered when reading a file[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind411 ../src/curl -q --output log/16/curl411.out --include --trace-ascii log/16/trace411 --trace-time -K log/16/missing http://localhost > log/16/stdout411 2> log/16/stderr411 === End of file commands.log === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==99079== ==99079== Process terminating with default action of signal 4 (SIGILL) ==99079== Illegal opcode at address 0x4014883 ==99079== at 0x4014883: getparameter (tool_getparam.c:2899) ==99079== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99079== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99079== by 0x4004208: main (tool_main.c:189) === End of file valgrind411 test 0399...[65536 bytes long hostname in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind399 ../src/curl -q --output log/14/curl399.out --include --trace-ascii log/14/trace399 --trace-time -K log/14/input%TESTNUM > log/14/stdout399 2> log/14/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/14/ directory after test 399 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind399 ../src/curl -q --output log/14/curl399.out --include --trace-ascii log/14/trace399 --trace-time -K log/14/input%TESTNUM > log/14/stdout399 2> log/14/stderr399 === End of file commands.log === Start of file http_server.log 05:46:15.699379 ====> Client connect 05:46:15.699406 accept_connection 3 returned 4 05:46:15.699421 accept_connection 3 returned 0 05:46:15.699435 Read 93 bytes 05:46:15.699445 Process 93 bytes request 05:46:15.699459 Got request: GET /verifiedserver HTTP/1.1 05:46:15.699468 Are-we-friendly question received 05:46:15.699495 Wrote request (93 bytes) input to log/14/server.input 05:46:15.699510 Identifying ourselves as friends 05:46:15.699568 Response sent (56 bytes) and written to log/14/server.response 05:46:15.699578 special request received, no persistency 05:46:15.699587 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 38158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind416 ../src/curl -q --output log/13/curl416.out --include --trace-ascii log/13/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:46845/416 > log/13/stdout416 2> log/13/stderr416 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/399 === End of file input%TESTNUM === Start of file server.cmd Testnum 399 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind399 ==98901== ==98901== Process terminating with default action of signal 4 (SIGILL) ==98901== Illegal opcode at address 0x4014883 ==98901== at 0x4014883: getparameter (tool_getparam.c:2899) ==98901== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==98901== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==98901== by 0x4004208: main (tool_main.c:189) === End of file valgrind399 test 0416...[FTP growing file support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind416 ../src/curl -q --output log/13/curl416.out --include --trace-ascii log/13/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:46845/416 > log/13/stdout416 2> log/13/stderr416 416: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind416 ../src/curl -q --output log/13/curl416.out --include --trace-ascii log/13/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:46845/416 > log/13/stdout416 2> log/13/stderr416 === End of file commands.log === Start of file ftp_server.log 05:46:15.732331 ====> Client connect 05:46:15.732491 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:15.732769 < "USER anonymous" 05:46:15.732799 > "331 We are happy you popped in![CR][LF]" 05:46:15.732947 < "PASS ftp@example.com" 05:46:15.732970 > "230 Welcome you silly person[CR][LF]" 05:46:15.733107 < "PWD" 05:46:15.733137 > "257 "/" is current directory[CR][LF]" 05:46:15.733282 < "EPSV" 05:46:15.733303 ====> Passive DATA channel requested by client 05:46:15.733316 DATA sockfilt for passive data channel starting... 05:46:15.742429 DATA sockfilt for passive data channel started (pid 99289) 05:46:15.742568 DATA sockfilt for passive data channel listens on port 39051 05:46:15.742619 > "229 Entering Passive Mode (|||39051|)[CR][LF]" 05:46:15.742640 Client has been notified that DATA conn will be accepted on port 39051 05:46:15.742919 Client connects to port 39051 05:46:15.742951 ====> Client established passive DATA connection on port 39051 05:46:15.743093 < "TYPE I" 05:46:15.743130 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:15.743314 < "SIZE verifiedserver" 05:46:15.743362 > "213 17[CR][LF]" 05:46:15.743554 < "RETR verifiedserver" 05:46:15.743596 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:15.743704 =====> Closing passive DATA connection... 05:46:15.743728 Server disconnects passive DATA connection 05:46:15.743983 Server disconnected passive DATA connection 05:46:15.744017 DATA sockfilt for passive data channel quits (pid 99289) 05:46:15.744277 DATA sockfilt for passive data channel quit (pid 99289) 05:46:15.744305 =====> Closed passive DATA connection 05:46:15.744331 > "226 File transfer complete[CR][LF]" 05:46:15.792589 < "QUIT" 05:46:15.792660 > "221 bye bye baby[CR][LF]" 05:46:15.793957 MAIN sockfilt said DISC 05:46:15.793995 ====> Client disconnected 05:46:15.794103 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:16.193677 ====> Client connect 05:46:16.193963 Received DATA (on stdin) 05:46:16.193976 > 146 bytes data, server => client 05:46:16.193988 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:16.193998 'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind420 ../src/curl -q --output log/7/curl420.out --include --trace-ascii log/7/trace420 --trace-time http://127.0.0.1:39013/func_test/del_cookie -b log/7/cookie420 -c log/7/save420 > log/7/stdout420 2> log/7/stderr420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind415 ../src/curl -q --output log/10/curl415.out --include --trace-ascii log/10/trace415 --trace-time http://127.0.0.1:46741/415 > log/10/stdout415 2> log/10/stderr415 0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:16.194007 '220 \___|\___/|_| \_\_____|\r\n' 05:46:16.194095 < 16 bytes data, client => server 05:46:16.194106 'USER anonymous\r\n' 05:46:16.194262 Received DATA (on stdin) 05:46:16.194272 > 33 bytes data, server => client 05:46:16.194283 '331 We are happy you popped in!\r\n' 05:46:16.194329 < 22 bytes data, client => server 05:46:16.194339 'PASS ftp@example.com\r\n' 05:46:16.194430 Received DATA (on stdin) 05:46:16.194440 > 30 bytes data, server => client 05:46:16.194450 '230 Welcome you silly person\r\n' 05:46:16.194491 < 5 bytes data, client => server 05:46:16.194501 'PWD\r\n' 05:46:16.194597 Received DATA (on stdin) 05:46:16.194607 > 30 bytes data, server => client 05:46:16.194617 '257 "/" is current directory\r\n' 05:46:16.194670 < 6 bytes data, client => server 05:46:16.194680 'EPSV\r\n' 05:46:16.204112 Received DATA (on stdin) 05:46:16.204129 > 39 bytes data, server => client 05:46:16.204141 '229 Entering Passive Mode (|||39051|)\r\n' 05:46:16.204436 < 8 bytes data, client => server 05:46:16.204449 'TYPE I\r\n' 05:46:16.204599 Received DATA (on stdin) 05:46:16.204613 > 33 bytes data, server => client 05:46:16.204624 '200 I modify TYPE as you wanted\r\n' 05:46:16.204679 < 21 bytes data, client => server 05:46:16.204693 'SIZE verifiedserver\r\n' 05:46:16.204833 Received DATA (on stdin) 05:46:16.204847 > 8 bytes data, server => client 05:46:16.204858 '213 17\r\n' 05:46:16.204916 < 21 bytes data, client => server 05:46:16.204932 'RETR verifiedserver\r\n' 05:46:16.205291 Received DATA (on stdin) 05:46:16.205305 > 29 bytes data, server => client 05:46:16.205317 '150 Binary junk (17 bytes).\r\n' 05:46:16.205795 Received DATA (on stdin) 05:46:16.205808 > 28 bytes data, server => client 05:46:16.205818 '226 File transfer complete\r\n' 05:46:16.253822 < 6 bytes data, client => server 05:46:16.253865 'QUIT\r\n' 05:46:16.254135 Received DATA (on stdin) 05:46:16.254148 > 18 bytes data, server => client 05:46:16.254158 '221 bye bye baby\r\n' 05:46:16.255365 ====> Client disconnect 05:46:16.255583 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:15.201059 Running IPv4 version 05:46:15.201140 Listening on port 39051 05:46:15.201179 Wrote pid 99289 to log/13/server/ftp_sockdata.pid 05:46:15.203818 Received PING (on stdin) 05:46:15.203927 Received PORT (on stdin) 05:46:15.204329 ====> Client connect 05:46:15.205195 Received DATA (on stdin) 05:46:15.205210 > 17 bytes data, server => client 05:46:15.205220 'WE ROOLZ: 81411\r\n' 05:46:15.205248 Received DISC (on stdin) 05:46:15.205263 ====> Client forcibly disconnected 05:46:15.205493 Received QUIT (on stdin) 05:46:15.205507 quits 05:46:15.205581 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 ==99323== ==99323== Process terminating with default action of signal 4 (SIGILL) ==99323== Illegal opcode at address 0x4014883 ==99323== at 0x4014883: getparameter (tool_getparam.c:2899) ==99323== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99323== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99323== by 0x4004208: main (tool_main.c:189) === End of file valgrind416 test 0420...[Setting cookies set with expired dates that were loaded from jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind420 ../src/curl -q --output log/7/curl420.out --include --trace-ascii log/7/trace420 --trace-time http://127.0.0.1:39013/func_test/del_cookie -b log/7/cookie420 -c log/7/save420 > log/7/stdout420 2> log/7/stderr420 420: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind420 ../src/curl -q --output log/7/curl420.out --include --trace-ascii log/7/trace420 --trace-time http://127.0.0.1:39013/func_test/del_cookie -b log/7/cookie420 -c log/7/save420 > log/7/stdout420 2> log/7/stderr420 === End of file commands.log === Start of file cookie420 127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie6 991 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie5 990 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie4 950 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie3 900 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie2 5900 #HttpOnly_127.0.0.1 FALSE / FALSE 21709598616 mycookie1 4900 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 0 mycookie 1200 === End of file cookie420 === Start of file http_server.log 05:46:15.473499 ====> Client connect 05:46:15.473533 accept_connection 3 returned 4 05:46:15.473549 accept_connection 3 returned 0 05:46:15.473564 Read 93 bytes 05:46:15.473573 Process 93 bytes request 05:46:15.473586 Got request: GET /verifiedserver HTTP/1.1 05:46:15.473595 Are-we-friendly question received 05:46:15.473620 Wrote request (93 bytes) input to log/7/server.input 05:46:15.473637 Identifying ourselves as friends 05:46:15.473701 Response sent (56 bytes) and written to log/7/server.response 05:46:15.473710 special request received, no persistency 05:46:15.473718 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 32936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 420 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind420 ==99480== ==99480== Process terminating with default action of signal 4 (SIGILL) ==99480== Illegal opcode at address 0x4014883 ==99480== at 0x4014883: getparameter (tool_getparam.c:2899) ==99480== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99480== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99480== by 0x4004208: main (tool_main.c:189) === End of file valgrind420 test 0415...[HTTP response with control code then negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind415 ../src/curl -q --output log/10/curl415.out --include --trace-ascii log/10/trace415 --trace-time http://127.0.0.1:46741/415 > log/10/stdout415 2> log/10/stderr415 415: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind415 ../src/curl -q --output log/10/curl415.out --include --trace-ascii log/10/trace415 --trace-time http://127.0.0.1:46741/415 > log/10/stdout415 2> log/10/stderr415 === End of file commands.log === Start of file http_server.log 05:46:15.153378 ====> Client connect 05:46:15.153410 accept_connection 3 returned 4 05:46:15.153426 accept_connection 3 returned 0 05:46:15.153564 Read 93 bytes 05:46:15.153575 Process 93 bytes request 05:46:15.153589 Got requeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind419 ../src/curl -q --output log/2/curl419.out --include --trace-ascii log/2/trace419 --trace-time http://127.0.0.1:41799/419 -D loggg/save-here/fails > log/2/stdout419 2> log/2/stderr419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind422 ../src/curl -q --output log/22/curl422.out --include --trace-ascii log/22/trace422 --trace-time -O -I --next http://127.0.0.1:41477/422 > log/22/stdout422 2> log/22/stderr422 st: GET /verifiedserver HTTP/1.1 05:46:15.153599 Are-we-friendly question received 05:46:15.153624 Wrote request (93 bytes) input to log/10/server.input 05:46:15.153641 Identifying ourselves as friends 05:46:15.153705 Response sent (56 bytes) and written to log/10/server.response 05:46:15.153715 special request received, no persistency 05:46:15.153723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 58222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind415 ==99285== ==99285== Process terminating with default action of signal 4 (SIGILL) ==99285== Illegal opcode at address 0x4014883 ==99285== at 0x4014883: getparameter (tool_getparam.c:2899) ==99285== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99285== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99285== by 0x4004208: main (tool_main.c:189) === End of file valgrind415 test 0419...[--dump-header to file that cannot be created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind419 ../src/curl -q --output log/2/curl419.out --include --trace-ascii log/2/trace419 --trace-time http://127.0.0.1:41799/419 -D loggg/save-here/fails > log/2/stdout419 2> log/2/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/2/ directory after test 419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind419 ../src/curl -q --output log/2/curl419.out --include --trace-ascii log/2/trace419 --trace-time http://127.0.0.1:41799/419 -D loggg/save-here/fails > log/2/stdout419 2> log/2/stderr419 === End of file commands.log === Start of file http_server.log 05:46:16.478585 ====> Client connect 05:46:16.478637 accept_connection 3 returned 4 05:46:16.478657 accept_connection 3 returned 0 05:46:16.478673 Read 93 bytes 05:46:16.478684 Process 93 bytes request 05:46:16.478697 Got request: GET /verifiedserver HTTP/1.1 05:46:16.478707 Are-we-friendly question received 05:46:16.478738 Wrote request (93 bytes) input to log/2/server.input 05:46:16.478758 Identifying ourselves as friends 05:46:16.478827 Response sent (56 bytes) and written to log/2/server.response 05:46:16.478838 special request received, no persistency 05:46:16.478847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 46454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind419 ==99476== ==99476== Process terminating with default action of signal 4 (SIGILL) ==99476== Illegal opcode at address 0x4014883 ==99476== at 0x4014883: getparameter (tool_getparam.c:2899) ==99476== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99476== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99476== by 0x4004208: main (tool_main.c:189) === End of file valgrind419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind418 ../src/curl -q --output log/17/curl418.out --include --trace-ascii log/17/trace418 --trace-time http://127.0.0.1:41505/418 -sS --tr-encoding > log/17/stdout418 2> log/17/stderr418 test 0422...[use --next with missing URL before it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind422 ../src/curl -q --output log/22/curl422.out --include --trace-ascii log/22/trace422 --trace-time -O -I --next http://127.0.0.1:41477/422 > log/22/stdout422 2> log/22/stderr422 422: stderr FAILED: --- log/22/check-expected 2026-03-14 05:46:18.634616041 +0000 +++ log/22/check-generated 2026-03-14 05:46:18.634616041 +0000 @@ -1,3 +0,0 @@ -curl: missing URL before --next[CR][LF] -curl: option --next: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/22/ directory after test 422 === Start of file check-expected curl: missing URL before --next[CR][LF] curl: option --next: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind422 ../src/curl -q --output log/22/curl422.out --include --trace-ascii log/22/trace422 --trace-time -O -I --next http://127.0.0.1:41477/422 > log/22/stdout422 2> log/22/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==99522== ==99522== Process terminating with default action of signal 4 (SIGILL) ==99522== Illegal opcode at address 0x4014883 ==99522== at 0x4014883: getparameter (tool_getparam.c:2899) ==99522== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99522== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99522== by 0x4004208: main (tool_main.c:189) === End of file valgrind422 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind428 ../src/curl -q --output log/1/curl428.out --include --trace-ascii log/1/trace428 --trace-time http://127.0.0.1:38765/428 -K log/1/cmd > log/1/stdout428 2> log/1/stderr428 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind426 ../src/curl -q --output log/23/curl426.out --include --trace-ascii log/23/trace426 --trace-time http://127.0.0.1:33217/426 -d foobar -C 3 > log/23/stdout426 2> log/23/stderr426 test 0418...[Response with multiple Transfer-Encoding headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind418 ../src/curl -q --output log/17/curl418.out --include --trace-ascii log/17/trace418 --trace-time http://127.0.0.1:41505/418 -sS --tr-encoding > log/17/stdout418 2> log/17/stderr418 418: stderr FAILED: --- log/17/check-expected 2026-03-14 05:46:18.701282707 +0000 +++ log/17/check-generated 2026-03-14 05:46:18.701282707 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/17/ directory after test 418 === Start of file check-expected curl: (61) Reject response due to more than 5 content encodings[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind418 ../src/curl -q --output log/17/curl418.out --include --trace-ascii log/17/trace418 --trace-time http://127.0.0.1:41505/418 -sS --tr-encoding > log/17/stdout418 2> log/17/stderr418 === End of file commands.log === Start of file http_server.log 05:46:16.419571 ====> Client connect 05:46:16.419609 accept_connection 3 returned 4 05:46:16.419628 accept_connection 3 returned 0 05:46:16.419644 Read 93 bytes 05:46:16.419655 Process 93 bytes request 05:46:16.419669 Got request: GET /verifiedserver HTTP/1.1 05:46:16.419679 Are-we-friendly question received 05:46:16.419714 Wrote request (93 bytes) input to log/17/server.input 05:46:16.419733 Identifying ourselves as friends 05:46:16.419800 Response sent (56 bytes) and written to log/17/server.response 05:46:16.419812 special request received, no persistency 05:46:16.419822 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 53234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind418 ==99453== ==99453== Process terminating with default action of signal 4 (SIGILL) ==99453== Illegal opcode at address 0x4014883 ==99453== at 0x4014883: getparameter (tool_getparam.c:2899) ==99453== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99453== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99453== by 0x4004208: main (tool_main.c:189) === End of file valgrind418 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0428...[Expand environment variables within config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind428 ../src/curl -q --output log/1/curl428.out --include --trace-ascii log/1/trace428 --trace-time http://127.0.0.1:38765/428 -K log/1/cmd > log/1/stdout428 2> log/1/stderr428 428: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 428 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --variable %BLANK --variable %curl_NOT_SET=default --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind428 ../src/curl -q --output log/1/curl428.out --include --trace-ascii log/1/trace428 --trace-time http://127.0.0.1:38765/428 -K log/1/cmd > log/1/stdout428 2> log/1/stderr428 === End of file commands.log === Start of file http_server.log 05:46:17.570070 ====> Client connect 05:46:17.570109 accept_connection 3 returned 4 05:46:17.570127 accept_connection 3 returned 0 05:46:17.570143 Read 93 bytes 05:46:17.570153 Process 93 bytes request 05:46:17.570167 Got request: GET /verifiedserver HTTP/1.1 05:46:17.570176 Are-we-friendly question received 05:46:17.570199 Wrote request (93 bytes) input to log/1/server.input 05:46:17.570215 Identifying ourselves as friends 05:46:17.570287 Response sent (56 bytes) and written to log/1/server.response 05:46:17.570296 special request received, no persistency 05:46:17.570305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 38888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind428 ==100088== ==100088== Process terminating with default action of signal 4 (SIGILL) ==100088== Illegal opcode at address 0x4014883 ==100088== at 0x4014883: getparameter (tool_getparam.c:2899) ==100088== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100088== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100088== by 0x4004208: main (tool_main.c:189) === End of file valgrind428 test 0426...[try --data with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind426 ../src/curl -q --output log/23/curl426.out --include --trace-ascii log/23/trace426 --trace-time http://127.0.0.1:33217/426 -d foobar -C 3 > log/23/stdout426 2> log/23/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/23/ directory after test 426 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind426 ../src/curl -q --output log/23/curl426.out --include --trace-ascii log/23/trace426 --trace-time http://127.0.0.1:33217/426 -d foobar -C 3 > log/23/stdout426 2> log/23/stderr426 === End of file commands.log === Start of file http_server.log 05:46:17.448506 ====> Client connect 05:46:17.448542 accept_connection 3 returned 4 05:46:17.448559 accept_connection 3 returned 0 05:46:17.448575 Read 93 bytes 05:46:17.448585 Process 93 bytes request 05:46:17.448598 Got request: GET /verifiedserver HTTP/1.1 05:46:17.448607 Are-we-friendly question received 05:46:17.448634 Wrote request (93 bytes) input to log/23/server.input 05:46:17.448652 Identifying ourselves as friends 05:46:17.448709 Response sent (56 bytes) and written to log/23/server.response 05:46:17.448719 special request received, no persistency 05:46:17.448727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 47504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind421 ../src/curl -q --output log/6/curl421.out --include --trace-ascii log/6/trace421 --trace-time http://127.0.0.1:33035/421 -w '%{stderr}%{header_json}\n' -s > log/6/stdout421 2> log/6/stderr421 33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 426 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind426 ==99942== ==99942== Process terminating with default action of signal 4 (SIGILL) ==99942== Illegal opcode at address 0x4014883 ==99942== at 0x4014883: getparameter (tool_getparam.c:2899) ==99942== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99942== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99942== by 0x4004208: main (tool_main.c:189) === End of file valgrind426 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind423 ../src/curl -q --trace-ascii log/12/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:36353/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36353/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/12/stdout423 2> log/12/stderr423 test 0421...[HTTP GET multiple headers and %{header_json}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind421 ../src/curl -q --output log/6/curl421.out --include --trace-ascii log/6/trace421 --trace-time http://127.0.0.1:33035/421 -w '%{stderr}%{header_json}\n' -s > log/6/stdout421 2> log/6/stderr421 421: stderr FAILED: --- log/6/check-expected 2026-03-14 05:46:19.031282708 +0000 +++ log/6/check-generated 2026-03-14 05:46:19.031282708 +0000 @@ -1,19 +0,0 @@ -{"server":["nginx"],[CR][LF] -"date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] -"content-type":["application/json"],[CR][LF] -"content-length":["6"],[CR][LF] -"vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] -"access-control-allow-origin":["*"],[CR][LF] -"referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] -"access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] -"access-control-max-age":["1728000"],[CR][LF] -"access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] -"access-control-expose-headers":[""],[CR][LF] -"etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] -"cache-control":["max-age=0, private, must-revalidate"],[CR][LF] -"x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] -"strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] -"x-content-type-options":["nosniff"],[CR][LF] -"x-xss-protection":["1; mode=block"],[CR][LF] -"feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] -}[CR][LF] == Contents of files in the log/6/ directory after test 421 === Start of file check-expected {"server":["nginx"],[CR][LF] "date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] "content-type":["application/json"],[CR][LF] "content-length":["6"],[CR][LF] "vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] "access-control-allow-origin":["*"],[CR][LF] "referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] "access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] "access-control-max-age":["1728000"],[CR][LF] "access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] "access-control-expose-headers":[""],[CR][LF] "etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] "cache-control":["max-age=0, private, must-revalidate"],[CR][LF] "x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] "strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] "x-content-type-options":["nosniff"],[CR][LF] "x-xss-protection":["1; mode=block"],[CR][LF] "feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] }[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind421 ../src/curl -q --output log/6/curl421.out --include --trace-ascii log/6/trace421 --trace-time http://127.0.0.1:33035/421 -w '%{stderr}%{header_json}\n' -s > log/6/stdout421 2> log/6/stderr421 === End of file commands.log === Start of file http_server.log 05:46:15.636240 ====> Client connect 05:46:15.636273 accept_connection 3 returned 4 05:46:15.636289 accept_connection 3 returned 0 05:46:15.636303 Read 93 bytes 05:46:15.636311 Process 93 bytes request 05:46:15.636323 Got request: GET /verifiedserver HTTP/1.1 05:46:15.636331 Are-we-friendly question received 05:46:15.636451 Wrote request (93 bytes) input to log/6/server.input 05:46:15.636468 Identifying ourselves as friends 05:46:15.636522 Response sent (56 bytes) and written to log/6/server.response 05:46:15.636531 special request received, no persistency 05:46:15.636539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 36598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind421 ==99630== ==99630== Process terminating with default action of signal 4 (SIGILL) ==99630== Illegal opcode at address 0x4014883 ==99630== at 0x4014883: getparameter (tool_getparam.c:2899) ==99630== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99630== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99630== by 0x4004208: main (tool_main.c:189) === End of file valgrind421 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind424 ../src/curl -q --trace-ascii log/8/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:45623/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:45623/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:45623/ -L > log/8/stdout424 2> log/8/stderr424 test 0423...[-w with url.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind423 ../src/curl -q --trace-ascii log/12/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:36353/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36353/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/12/stdout423 2> log/12/stderr423 423: stdout FAILED: --- log/12/check-expected 2026-03-14 05:46:19.051282708 +0000 +++ log/12/check-generated 2026-03-14 05:46:19.051282708 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+36353+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+36353+qqqq+ffff[LF] == Contents of files in the log/12/ directory after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+36353+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+36353+qqqq+ffff[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind423 ../src/curl -q --trace-ascii log/12/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:36353/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36353/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/12/stdout423 2> log/12/stderr423 === End of file commands.log === Start of file http_server.log 05:46:16.949467 ====> Client connect 05:46:16.949497 accept_connection 3 returned 4 05:46:16.949511 accept_connection 3 returned 0 05:46:16.949524 Read 93 bytes 05:46:16.949532 Process 93 bytes request 05:46:16.949545 Got request: GET /verifiedserver HTTP/1.1 05:46:16.949553 Are-we-friendly question received 05:46:16.949574 Wrote request (93 bytes) input to log/12/server.input 05:46:16.949588 Identifying ourselves as friends 05:46:16.949636 Response sent (56 bytes) and written to log/12/server.response 05:46:16.949645 special request received, no persistency 05:46:16.949652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 55666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind423 ==99754== ==99754== Process terminating with default action of signal 4 (SIGILL) ==99754== Illegal opcode at address 0x4014883 ==99754== at 0x4014883: getparameter (tool_getparam.c:2899) ==99754== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99754== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99754== by 0x4004208: main (tool_main.c:189) === End of file valgrind423 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind427 ../src/curl -q --output log/20/curl427.out --include --trace-ascii log/20/trace427 --trace-time http://127.0.0.1:38929/427 -c log/20/cookies427 -L > log/20/stdout427 2> log/20/stderr427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind425 ../src/curl -q --output log/21/curl425.out --include --trace-ascii log/21/trace425 --trace-time -T log/21/up425 http://127.0.0.1:42891/425/?fullpath > log/21/stdout425 2> log/21/stderr425 test 0424...[-w with urle.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind424 ../src/curl -q --trace-ascii log/8/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:45623/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:45623/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:45623/ -L > log/8/stdout424 2> log/8/stderr424 424: stdout FAILED: --- log/8/check-expected 2026-03-14 05:46:19.304616041 +0000 +++ log/8/check-generated 2026-03-14 05:46:19.304616041 +0000 @@ -1,4 +0,0 @@ -anotherhost.example+/4240002+http+++2023+moo.html+[LF] -hello2000+/424+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -anotherhost.example+/4240002+http+++2023+moo.html+[LF] == Contents of files in the log/8/ directory after test 424 === Start of file check-expected anotherhost.example+/4240002+http+++2023+moo.html+[LF] hello2000+/424+h55p+++1+qqqq+ffff[LF] +++++++[LF] anotherhost.example+/4240002+http+++2023+moo.html+[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind424 ../src/curl -q --trace-ascii log/8/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:45623/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:45623/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:45623/ -L > log/8/stdout424 2> log/8/stderr424 === End of file commands.log === Start of file http_server.log 05:46:16.370413 ====> Client connect 05:46:16.370460 accept_connection 3 returned 4 05:46:16.370479 accept_connection 3 returned 0 05:46:16.370496 Read 93 bytes 05:46:16.370506 Process 93 bytes request 05:46:16.370520 Got request: GET /verifiedserver HTTP/1.1 05:46:16.370529 Are-we-friendly question received 05:46:16.370555 Wrote request (93 bytes) input to log/8/server.input 05:46:16.370571 Identifying ourselves as friends 05:46:16.370648 Response sent (56 bytes) and written to log/8/server.response 05:46:16.370658 special request received, no persistency 05:46:16.370666 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 46626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind424 ==99863== ==99863== Process terminating with default action of signal 4 (SIGILL) ==99863== Illegal opcode at address 0x4014883 ==99863== at 0x4014883: getparameter (tool_getparam.c:2899) ==99863== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99863== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99863== by 0x4004208: main (tool_main.c:189) === End of file valgrind424 test 0427...[Keep Cookie: header within 8190 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind427 ../src/curl -q --output log/20/curl427.out --include --trace-ascii log/20/trace427 --trace-time http://127.0.0.1:38929/427 -c log/20/cookies427 -L > log/20/stdout427 2> log/20/stderr427 427: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind427 ../src/curl -q --output log/20/curl427.out --include --trace-ascii log/20/trace427 --trace-time http://127.0.0.1:38929/427 -c log/20/cookies427 -L > log/20/stdout427 2> log/20/stderr427 === End of file commands.log === Start of file http_server.log 05:46:16.460386 ====> Client connect 05:46:16.460422 accept_connection 3 returned 4 05:46:16.460439 accept_connection 3 returned 0 05:46:16.460454 Read 93 bytes 05:46:16.460464 Process 93 bytes request 05:46:16.460477 Got request: GET /verifiedserver HTTP/1.1 05:46:16.460486 Are-we-friendly question received 05:46:16.460512 Wrote request (93 bytes) input to log/20/server.input 05:46:16.460530 Identifying ourselves as friends 05:46:16.460590 Response sent (56 bytes) and written to log/20/server.response 05:46:16.460600 special request received, no persistency 05:46:16.460609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 59408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 427 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind427 ==99964== ==99964== Process terminating with default action of signal 4 (SIGILL) ==99964== Illegal opcode at address 0x4014883 ==99964== at 0x4014883: getparameter (tool_getparam.c:2899) ==99964== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99964== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99964== by 0x4004208: main (tool_main.c:189) === End of file valgrind427 test 0425...[HTTP PUT with path ending with slash + query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind425 ../src/curl -q --output log/21/curl425.out --include --trace-ascii log/21/trace425 --trace-time -T log/21/up425 http://127.0.0.1:42891/425/?fullpath > log/21/stdout425 2> log/21/stderr425 425: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 425 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind425 ../src/curl -q --output log/21/curl425.out --include --trace-ascii log/21/trace425 --trace-time -T log/21/up425 http://127.0.0.1:42891/425/?fullpath > log/21/stdout425 2> log/21/stderr425 === End of file commands.log === Start of file http_server.log 05:46:16.372565 ====> Client connect 05:46:16.372748 accept_connection 3 returned 4 05:46:16.372763 accept_connection 3 returned 0 05:46:16.372777 Read 93 bytes 05:46:16.372786 Process 93 bytes request 05:46:16.372799 Got request: GET /verifiedserver HTTP/1.1 05:46:16.372808 Are-we-friendly question received 05:46:16.372831 Wrote request (93 bytes) input to log/21/server.input 05:46:16.372852 Identifying ourselves as friends 05:46:16.372906 ResponsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind435 ../src/curl -q --include --trace-ascii log/5/trace435 --trace-time http://127.0.0.1:35621/435 http://127.0.0.1:35621/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/5/stdout435 2> log/5/stderr435 e sent (56 bytes) and written to log/21/server.response 05:46:16.372915 special request received, no persistency 05:46:16.372924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 35342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 425 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==99860== ==99860== Process terminating with default action of signal 4 (SIGILL) ==99860== Illegal opcode at address 0x4014883 ==99860== at 0x4014883: getparameter (tool_getparam.c:2899) ==99860== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==99860== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==99860== by 0x4004208: main (tool_main.c:189) === End of file valgrind425 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind430 ../src/curl -q --output log/4/curl430.out --include --trace-ascii log/4/trace430 --trace-time -K log/4/config430-a -K log/4/config430-b -K log/4/config430-c > log/4/stdout430 2> log/4/stderr430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind429 ../src/curl -q --output log/15/curl429.out --include --trace-ascii log/15/trace429 --trace-time http://127.0.0.1:43413/429 -K log/15/cmd > log/15/stdout429 2> log/15/stderr429 test 0435...[verify -w local/remote port+ip after connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind435 ../src/curl -q --include --trace-ascii log/5/trace435 --trace-time http://127.0.0.1:35621/435 http://127.0.0.1:35621/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/5/stdout435 2> log/5/stderr435 435: stdout FAILED: --- log/5/check-expected 2026-03-14 05:46:19.574616041 +0000 +++ log/5/check-generated 2026-03-14 05:46:19.574616041 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 35621[LF] -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 35621[LF] == Contents of files in the log/5/ directory after test 435 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 35621[LF] HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 35621[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind435 ../src/curl -q --include --trace-ascii log/5/trace435 --trace-time http://127.0.0.1:35621/435 http://127.0.0.1:35621/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/5/stdout435 2> log/5/stderr435 === End of file commands.log === Start of file http_server.log 05:46:17.913803 ====> Client connect 05:46:17.913851 accept_connection 3 returned 4 05:46:17.913870 accept_connection 3 returned 0 05:46:17.913887 Read 93 bytes 05:46:17.913896 Process 93 bytes request 05:46:17.913910 Got request: GET /verifiedserver HTTP/1.1 05:46:17.913918 Are-we-friendly question received 05:46:17.913939 Wrote request (93 bytes) input to log/5/server.input 05:46:17.913954 Identifying ourselves as friends 05:46:17.914040 Response sent (56 bytes) and written to log/5/server.response 05:46:17.914050 special request received, no persistency 05:46:17.914058 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 38166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 435 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind435 ==100376== ==100376== Process terminating with default action of signal 4 (SIGILL) ==100376== Illegal opcode at address 0x4014883 ==100376== at 0x4014883: getparameter (tool_getparam.c:2899) ==100376== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100376== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100376== by 0x4004208: main (tool_main.c:189) === End of file valgrind435 test 0430...[Three -K uses with --next and --data in each] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind430 ../src/curl -q --output log/4/curl430.out --include --trace-ascii log/4/trace430 --trace-time -K log/4/config430-a -K log/4/config430-b -K log/4/config430-c > log/4/stdout430 2> log/4/stderr430 430: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind430 ../src/curl -q --output log/4/curl430.out --include --trace-ascii log/4/trace430 --trace-time -K log/4/config430-a -K log/4/config430-b -K log/4/config430-c > log/4/stdout430 2> log/4/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:40253/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:40253/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:40253/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 05:46:16.863729 ====> Client connect 05:46:16.863769 accept_connection 3 returned 4 05:46:16.863786 accept_connection 3 returned 0 05:46:16.863949 Read 93 bytes 05:46:16.863961 Process 93 bytes request 05:46:16.863976 Got request: GET /verifiedserver HTTP/1.1 05:46:16.863985 Are-we-friendly question received 05:46:16.864012 Wrote request (93 bytes) input to log/4/server.input 05:46:16.864030 Identifying ourselves as friends 05:46:16.864082 Response sent (56 bytes) and written to log/4/server.response 05:46:16.864091 special request received, no persistency 05:46:16.864100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind430 ==100329== ==100329== Process terminating with default action of signal 4 (SIGILL) ==100329== Illegal opcode at address 0x4014883 ==100329== at 0x4014883: getparameter (tool_getparam.c:2899) ==100329== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100329== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100329== by 0x4004208: main (tool_main.c:189) === End of file valgrind430 setenv FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF = contents2023 test 0429...[Expand environment variable in config file - too long name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind429 ../src/curl -q --output log/15/curl429.out --include --trace-ascii log/15/trace429 --trace-time http://127.0.0.1:43413/429 -K log/15/cmd > log/15/stdout429 2> log/15/stderr429 429: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 429 === Start of file cmd --expand-data {{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}} === End of file cmd === Start of file commanCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind436 ../src/curl --output log/11/curl436.out --include --trace-ascii log/11/trace436 --trace-time 127.0.0.1:34551/436 > log/11/stdout436 2> log/11/stderr436 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind432 ../src/curl -q --output log/24/curl432.out --include --trace-ascii log/24/trace432 --trace-time -K log/24/config432 > log/24/stdout432 2> log/24/stderr432 ds.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind429 ../src/curl -q --output log/15/curl429.out --include --trace-ascii log/15/trace429 --trace-time http://127.0.0.1:43413/429 -K log/15/cmd > log/15/stdout429 2> log/15/stderr429 === End of file commands.log === Start of file http_server.log 05:46:17.768541 ====> Client connect 05:46:17.768572 accept_connection 3 returned 4 05:46:17.768587 accept_connection 3 returned 0 05:46:17.768601 Read 93 bytes 05:46:17.768610 Process 93 bytes request 05:46:17.768623 Got request: GET /verifiedserver HTTP/1.1 05:46:17.768632 Are-we-friendly question received 05:46:17.768656 Wrote request (93 bytes) input to log/15/server.input 05:46:17.768672 Identifying ourselves as friends 05:46:17.768724 Response sent (56 bytes) and written to log/15/server.response 05:46:17.768733 special request received, no persistency 05:46:17.768742 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 47566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind429 ==100203== ==100203== Process terminating with default action of signal 4 (SIGILL) ==100203== Illegal opcode at address 0x4014883 ==100203== at 0x4014883: getparameter (tool_getparam.c:2899) ==100203== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100203== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100203== by 0x4004208: main (tool_main.c:189) === End of file valgrind429 setenv CURL_HOME = /startdir/src/build-curl/tests/log/11 test 0436...[Find .curlrc in .config/curlrc via CURL_HOME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind436 ../src/curl --output log/11/curl436.out --include --trace-ascii log/11/trace436 --trace-time 127.0.0.1:34551/436 > log/11/stdout436 2> log/11/stderr436 436: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 436 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind436 ../src/curl --output log/11/curl436.out --include --trace-ascii log/11/trace436 --trace-time 127.0.0.1:34551/436 > log/11/stdout436 2> log/11/stderr436 === End of file commands.log === Start of file http_server.log 05:46:17.997083 ====> Client connect 05:46:17.997123 accept_connection 3 returned 4 05:46:17.997142 accept_connection 3 returned 0 05:46:17.997160 Read 93 bytes 05:46:17.997170 Process 93 bytes request 05:46:17.997185 Got request: GET /verifiedserver HTTP/1.1 05:46:17.997195 Are-we-friendly question received 05:46:17.997221 Wrote request (93 bytes) input to log/11/server.input 05:46:17.997240 Identifying ourselves as friends 05:46:17.997324 Response sent (56 bytes) and written to log/11/server.response 05:46:17.997334 special request received, no persistency 05:46:17.997342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 43222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 436 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind436 ==100483== ==100483== Process terminating with default action of signal 4 (SIGILL) ==100483== Illegal opcode at address 0x4014883 ==100483== at 0x4014883: getparameter (tool_getparam.c:2899) ==100483== by 0x401D933: parseconfig (tool_parsecfg.c:215) ==100483== by 0x4003F59: UnknownInlinedFun (tool_operate.c:2279) ==100483== by 0x4003F59: main (tool_main.c:189) === End of file valgrind436 test 0432...[Use -K with --next and --config from within] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind432 ../src/curl -q --output log/24/curl432.out --include --trace-ascii log/24/trace432 --trace-time -K log/24/config432 > log/24/stdout432 2> log/24/stderr432 432: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind432 ../src/curl -q --output log/24/curl432.out --include --trace-ascii log/24/trace432 --trace-time -K log/24/config432 > log/24/stdout432 2> log/24/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:33593/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:33593/4320002 header = "b: b" data = "b" config = "log/24/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:33593/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 05:46:17.845489 ====> Client connect 05:46:17.845518 accept_connection 3 returned 4 05:46:17.845532 accept_connection 3 returned 0 05:46:17.845668 Read 93 bytes 05:46:17.845678 Process 93 bytes request 05:46:17.845691 Got request: GET /verifiedserver HTTP/1.1 05:46:17.845699 Are-we-friendly question received 05:46:17.845723 Wrote request (93 bytes) input to log/24/server.input 05:46:17.845738 Identifying ourselves as friends 05:46:17.845787 Response sent (56 bytes) and written to log/24/server.response 05:46:17.845796 special request received, no persistency 05:46:17.845804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 55970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind432 ==100285== ==100285== Process terminating with default action of signal 4 (SIGILL) ==100285== Illegal opcode at address 0x4014883 ==100285== at 0x4014883: getparameter (tool_getparam.c:2899) ==100285== by 0x4004208: UnknownCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind434 ../src/curl -q --output log/9/curl434.out --include --trace-ascii log/9/trace434 --trace-time -K log/9/config434 > log/9/stdout434 2> log/9/stderr434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind431 ../src/curl -q --output log/18/curl431.out --include --trace-ascii log/18/trace431 --trace-time -K log/18/config431-a -K log/18/config431-b --next -d c 127.0.0.1:39913/4310003 -H "c: c" > log/18/stdout431 2> log/18/stderr431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind443 ../src/curl -q --output log/14/curl443.out --include --trace-ascii log/14/trace443 --trace-time http://attack.invalid:35549/a/b/443 -b log/14/cookie443 --resolve attack.invalid:35549:127.0.0.1 -L > log/14/stdout443 2> log/14/stderr443 InlinedFun (tool_getparam.c:3082) ==100285== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100285== by 0x4004208: main (tool_main.c:189) === End of file valgrind432 test 0434...[-K with a single line without newline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind434 ../src/curl -q --output log/9/curl434.out --include --trace-ascii log/9/trace434 --trace-time -K log/9/config434 > log/9/stdout434 2> log/9/stderr434 434: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind434 ../src/curl -q --output log/9/curl434.out --include --trace-ascii log/9/trace434 --trace-time -K log/9/config434 > log/9/stdout434 2> log/9/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:33885/434 === End of file config434 === Start of file http_server.log 05:46:16.873757 ====> Client connect 05:46:16.873794 accept_connection 3 returned 4 05:46:16.873812 accept_connection 3 returned 0 05:46:16.873829 Read 93 bytes 05:46:16.873839 Process 93 bytes request 05:46:16.873852 Got request: GET /verifiedserver HTTP/1.1 05:46:16.873862 Are-we-friendly question received 05:46:16.873890 Wrote request (93 bytes) input to log/9/server.input 05:46:16.873907 Identifying ourselves as friends 05:46:16.874009 Response sent (56 bytes) and written to log/9/server.response 05:46:16.874023 special request received, no persistency 05:46:16.874032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 43392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind434 ==100314== ==100314== Process terminating with default action of signal 4 (SIGILL) ==100314== Illegal opcode at address 0x4014883 ==100314== at 0x4014883: getparameter (tool_getparam.c:2899) ==100314== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100314== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100314== by 0x4004208: main (tool_main.c:189) === End of file valgrind434 test 0431...[Two -K uses with --next and then one on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind431 ../src/curl -q --output log/18/curl431.out --include --trace-ascii log/18/trace431 --trace-time -K log/18/config431-a -K log/18/config431-b --next -d c 127.0.0.1:39913/4310003 -H "c: c" > log/18/stdout431 2> log/18/stderr431 431: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind431 ../src/curl -q --output log/18/curl431.out --include --trace-ascii log/18/trace431 --trace-time -K log/18/config431-a -K log/18/config431-b --next -d c 127.0.0.1:39913/4310003 -H "c: c" > log/18/stdout431 2> log/18/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:39913/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:39913/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 05:46:16.837154 ====> Client connect 05:46:16.837187 accept_connection 3 returned 4 05:46:16.837205 accept_connection 3 returned 0 05:46:16.837221 Read 93 bytes 05:46:16.837252 Process 93 bytes request 05:46:16.837265 Got request: GET /verifiedserver HTTP/1.1 05:46:16.837274 Are-we-friendly question received 05:46:16.837298 Wrote request (93 bytes) input to log/18/server.input 05:46:16.837315 Identifying ourselves as friends 05:46:16.837395 Response sent (56 bytes) and written to log/18/server.response 05:46:16.837406 special request received, no persistency 05:46:16.837414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 36122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind431 ==100291== ==100291== Process terminating with default action of signal 4 (SIGILL) ==100291== Illegal opcode at address 0x4014883 ==100291== at 0x4014883: getparameter (tool_getparam.c:2899) ==100291== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100291== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100291== by 0x4004208: main (tool_main.c:189) === End of file valgrind431 test 0443...[Cookie header in request no longer than 8K] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind443 ../src/curl -q --output log/14/curl443.out --include --trace-ascii log/14/trace443 --trace-time http://attack.invalid:35549/a/b/443 -b log/14/cookie443 --resolve attack.invalid:35549:127.0.0.1 -L > log/14/stdout443 2> log/14/stderr443 443: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind443 ../src/curl -q --output log/14/curl443.out --include --trace-ascii log/14/trace443 --trace-time http://attack.invalid:35549/a/b/443 -b log/14/cookie443 --resolve attack.invalid:35549:127.0.0.1 -L > log/14/stdout443 2> log/14/stderr443 === End of file commands.log === Start of file cookie443 attack.invalid TRUE / FALSE 0 huge-1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-1 attack.invalid TRUE / FALSE 0 huge-2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-2 attack.invalid TRUE / FALSE 0 huge-3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-3 attack.invalid TRUE / FALSE 0 huge-4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-4 attack.invalid TRUE / FALSE 0 huge-5 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-5 attack.invalid TRUE / FALSE 0 huge-6 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-6 attack.invalid TRUE / FALSE 0 huge-7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-7 attack.invalid TRUE / FALSE 0 huge-8 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-8 attack.invalid TRUE / FALSE 0 huge-9 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-9 attack.invalid TRUE / FALSE 0 huge-10 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10 attack.invalid TRUE / FALSE 0 huge-11 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-11 attack.invalid TRUE / FALSE 0 huge-12 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-12 attack.invalid TRUE / FALSE 0 huge-13 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-13 attack.invalid TRUE / FALSE 0 huge-14 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-14 attack.invalid TRUE / FALSE 0 huge-15 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-15 attack.invalid TRUE / FALSE 0 huge-16 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-16 attack.invalid TRUE / FALSE 0 huge-17 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind440 ../src/curl -q --include --trace-ascii log/3/trace440 --trace-time -x http://127.0.0.1:39591 http://this.hsts.example./440 --hsts log/3/input440 -w '%{url_effective}\n' > log/3/stdout440 2> log/3/stderr440 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-17 attack.invalid TRUE / FALSE 0 huge-18 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-18 attack.invalid TRUE / FALSE 0 huge-19 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-19 attack.invalid TRUE / FALSE 0 huge-20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20 === End of file cookie443 === Start of file http_server.log 05:46:18.693069 ====> Client connect 05:46:18.693106 accept_connection 3 returned 4 05:46:18.693123 accept_connection 3 returned 0 05:46:18.693138 Read 93 bytes 05:46:18.693147 Process 93 bytes request 05:46:18.693161 Got request: GET /verifiedserver HTTP/1.1 05:46:18.693171 Are-we-friendly question received 05:46:18.693198 Wrote request (93 bytes) input to log/14/server.input 05:46:18.693215 Identifying ourselves as friends 05:46:18.693276 Response sent (56 bytes) and written to log/14/server.response 05:46:18.693285 special request received, no persistency 05:46:18.693293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 49414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind443 ==100897== ==100897== Process terminating with default action of signal 4 (SIGILL) ==100897== Illegal opcode at address 0x4014883 ==100897== at 0x4014883: getparameter (tool_getparam.c:2899) ==100897== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100897== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100897== by 0x4004208: main (tool_main.c:189) === End of file valgrind443 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind441 ../src/curl -q --include --trace-ascii log/19/trace441 --trace-time -x http://127.0.0.1:35701 http://this.hsts.example/441 --hsts log/19/input441 -w '%{url_effective}\n' > log/19/stdout441 2> log/19/stderr441 test 0440...[HSTS with trailing-dot hostname in URL but none in hsts file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind440 ../src/curl -q --include --trace-ascii log/3/trace440 --trace-time -x http://127.0.0.1:39591 http://this.hsts.example./440 --hsts log/3/input440 -w '%{url_effective}\n' > log/3/stdout440 2> log/3/stderr440 440: stdout FAILED: --- log/3/check-expected 2026-03-14 05:46:20.291282707 +0000 +++ log/3/check-generated 2026-03-14 05:46:20.291282707 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example./440[LF] == Contents of files in the log/3/ directory after test 440 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example./440[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind440 ../src/curl -q --include --trace-ascii log/3/trace440 --trace-time -x http://127.0.0.1:39591 http://this.hsts.example./440 --hsts log/3/input440 -w '%{url_effective}\n' > log/3/stdout440 2> log/3/stderr440 === End of file commands.log === Start of file http_server.log 05:46:18.285854 ====> Client connect 05:46:18.285886 accept_connection 3 returned 4 05:46:18.285900 accept_connection 3 returned 0 05:46:18.285914 Read 93 bytes 05:46:18.285924 Process 93 bytes request 05:46:18.285937 Got request: GET /verifiedserver HTTP/1.1 05:46:18.285945 Are-we-friendly question received 05:46:18.285970 Wrote request (93 bytes) input to log/3/server.input 05:46:18.285986 Identifying ourselves as friends 05:46:18.286039 Response sent (56 bytes) and written to log/3/server.response 05:46:18.286047 special request received, no persistency 05:46:18.286055 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 54724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file input440 this.hsts.example "99991001 04:47:41" === End of file input440 === Start of file server.cmd Testnum 440 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind440 ==100676== ==100676== Process terminating with default action of signal 4 (SIGILL) ==100676== Illegal opcode at address 0x4014883 ==100676== at 0x4014883: getparameter (tool_getparam.c:2899) ==100676== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100676== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100676== by 0x4004208: main (tool_main.c:189) === End of file valgrind440 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind442 ../src/curl -q --output log/16/curl442.out --include --trace-ascii log/16/trace442 --trace-time http://attack.invalid:44673/a/b/442 -b log/16/cookie442 --resolve attack.invalid:44673:127.0.0.1 -L > log/16/stdout442 2> log/16/stderr442 test 0441...[HSTS with no t-dot hostname in URL but t-dot in file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind441 ../src/curl -q --include --trace-ascii log/19/trace441 --trace-time -x http://127.0.0.1:35701 http://this.hsts.example/441 --hsts log/19/input441 -w '%{url_effective}\n' > log/19/stdout441 2> log/19/stderr441 441: stdout FAILED: --- log/19/check-expected 2026-03-14 05:46:20.451282707 +0000 +++ log/19/check-generated 2026-03-14 05:46:20.451282707 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/441[LF] == Contents of files in the log/19/ directory after test 441 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/441[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind441 ../src/curl -q --include --trace-ascii log/19/trace441 --trace-time -x http://127.0.0.1:35701 http://this.hsts.example/441 --hsts log/19/input441 -w '%{url_effective}\n' > log/19/stdout441 2> log/19/stderr441 === End of file commands.log === Start of file http_server.log 05:46:17.417074 ====> Client connect 05:46:17.417119 accept_connection 3 returned 4 05:46:17.417139 accept_connection 3 returned 0 05:46:17.417155 Read 93 bytes 05:46:17.417164 Process 93 bytes request 05:46:17.417178 Got request: GET /verifiedserver HTTP/1.1 05:46:17.417187 Are-we-friendly question received 05:46:17.417212 Wrote request (93 bytes) input to log/19/server.input 05:46:17.417228 Identifying ourselves as friends 05:46:17.417311 Response sent (56 bytes) and written to log/19/server.response 05:46:17.417321 special request received, no persistency 05:46:17.417329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file input441 this.hsts.example. "99991001 04:47:41" === End of file input441 === Start of file server.cmd Testnum 441 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind441 ==100734== ==100734== Process terminating with default action of signal 4 (SIGILL) ==100734== Illegal opcode at address 0x4014883 ==100734== at 0x4014883: getparameter (tool_getparam.c:2899) ==100734== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100734== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100734== by 0x4004208: main (tool_main.c:189) === End of file valgrind441 test 0442...[Send capped huge number of matching cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind442 ../src/curl -q --output log/16/curl442.out --include --trace-ascii log/16/trace442 --trace-time http://attack.invalid:44673/a/b/442 -b log/16/cookie442 --resolve attack.invalid:44673:127.0.0.1 -L > log/16/stdout442 2> log/16/stderr442 442: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 442 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind442 ../src/curl -q --output log/16/curl442.out --include --trace-ascii log/16/trace442 --trace-time http://attack.invalid:44673/a/b/442 -b log/16/cookie442 --resolve attack.invalid:44673:127.0.0.1 -L > log/16/stdout442 2> log/16/stderr442 === End of file commands.log === Start of file cookie442 attack.invalid TRUE / FALSE 0 name1 could-be-large-1 attack.invalid TRUE / FALSE 0 name2 could-be-large-2 attack.invalid TRUE / FALSE 0 name3 could-be-large-3 attack.invalid TRUE / FALSE 0 name4 could-be-large-4 attack.invalid TRUE / FALSE 0 name5 could-be-large-5 attack.invalid TRUE / FALSE 0 name6 could-be-large-6 attack.invalid TRUE / FALSE 0 name7 could-be-large-7 attack.invalid TRUE / FALSE 0 name8 could-be-large-8 attack.invalid TRUE / FALSE 0 name9 could-be-large-9 attack.invalid TRUE / FALSE 0 name10 could-be-large-10 attack.invalid TRUE / FALSE 0 name11 could-be-large-11 attack.invalid TRUE / FALSE 0 name12 could-be-large-12 attack.invalid TRUE / FALSE 0 name13 could-be-large-13 attack.invalid TRUE / FALSE 0 name14 could-be-large-14 attack.invalid TRUE / FALSE 0 name15 could-be-large-15 attack.invalid TRUE / FALSE 0 name16 could-be-large-16 attack.invalid TRUE / FALSE 0 name17 could-be-large-17 attack.invalid TRUE / FALSE 0 name18 could-be-large-18 attack.invalid TRUE / FALSE 0 name19 could-be-large-19 attack.invalid TRUE / FALSE 0 name20 could-be-large-20 attack.invalid TRUE / FALSE 0 name21 could-be-large-21 attack.invalid TRUE / FALSE 0 name22 could-be-large-22 attack.invalid TRUE / FALSE 0 name23 could-be-large-23 attack.invalid TRUE / FALSE 0 name24 could-be-large-24 attack.invalid TRUE / FALSE 0 name25 could-be-large-25 attack.invalid TRUE / FALSE 0 name26 could-be-large-26 attack.invalid TRUE / FALSE 0 name27 could-be-large-27 attack.invalid TRUE / FALSE 0 name28 could-be-large-28 attack.invalid TRUE / FALSE 0 name29 could-be-large-29 attack.invalid TRUE / FALSE 0 name30 could-be-large-30 attack.invalid TRUE / FALSE 0 name31 could-be-large-31 attack.invalid TRUE / FALSE 0 name32 could-be-large-32 attack.invalid TRUE / FALSE 0 name33 could-be-large-33 attack.invalid TRUE / FALSE 0 name34 could-be-large-34 attack.invalid TRUE / FALSE 0 name35 could-be-large-35 attack.invalid TRUE / FALSE 0 name36 could-be-large-36 attack.invalid TRUE / FALSE 0 name37 could-be-large-37 attack.invalid TRUE / FALSE 0 name38 could-be-large-38 attack.invalid TRUE / FALSE 0 name39 could-be-large-39 attack.invalid TRUE / FALSE 0 name40 could-be-large-40 attack.invalid TRUE / FALSE 0 name41 could-be-large-41 attack.invalid TRUE / FALSE 0 name42 could-be-large-42 attack.invalid TRUE / FALSE 0 name43 could-be-large-43 attack.invalid TRUE / FALSE 0 name44 could-be-large-44 attack.invalid TRUE / FALSE 0 name45 could-be-large-45 attack.invalid TRUE / FALSE 0 name46 could-be-large-46 attack.invalid TRUE / FALSE 0 name47 could-be-large-47 attack.invalid TRUE / FALSE 0 name48 could-be-large-48 attack.invalid TRUE / FALSE 0 name49 could-be-large-49 attack.invalid TRUE / FALSE 0 name50 could-be-large-50 attack.invalid TRUE / FALSE 0 name51 could-be-large-51 attack.invalid TRUE / FALSE 0 name52 could-be-large-52 attack.invalid TRUE / FALSE 0 name53 could-be-large-53 attack.invalid TRUE / FALSE 0 name54 could-be-large-54 attack.invalid TRUE / FALSE 0 name55 could-be-large-55 attack.invalid TRUE / FALSE 0 name56 could-be-large-56 attack.invalid TRUE / FALSE 0 name57 could-be-large-57 attack.invalid TRUE / FALSE 0 name58 could-be-large-58 attack.invalid TRUE / FALSE 0 name59 could-be-large-59 attack.invalid TRUE / FALSE 0 name60 could-be-large-60 attack.invalid TRUCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind449 ../src/curl -q --output log/10/curl449.out --include --trace-ascii log/10/trace449 --trace-time http://127.0.0.1:46741/449 -K log/10/cmd > log/10/stdout449 2> log/10/stderr449 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind448 ../src/curl -q --output log/7/curl448.out --include --trace-ascii log/7/trace448 --trace-time http://127.0.0.1:39013/448 -K log/7/cmd > log/7/stdout448 2> log/7/stderr448 E / FALSE 0 name61 could-be-large-61 attack.invalid TRUE / FALSE 0 name62 could-be-large-62 attack.invalid TRUE / FALSE 0 name63 could-be-large-63 attack.invalid TRUE / FALSE 0 name64 could-be-large-64 attack.invalid TRUE / FALSE 0 name65 could-be-large-65 attack.invalid TRUE / FALSE 0 name66 could-be-large-66 attack.invalid TRUE / FALSE 0 name67 could-be-large-67 attack.invalid TRUE / FALSE 0 name68 could-be-large-68 attack.invalid TRUE / FALSE 0 name69 could-be-large-69 attack.invalid TRUE / FALSE 0 name70 could-be-large-70 attack.invalid TRUE / FALSE 0 name71 could-be-large-71 attack.invalid TRUE / FALSE 0 name72 could-be-large-72 attack.invalid TRUE / FALSE 0 name73 could-be-large-73 attack.invalid TRUE / FALSE 0 name74 could-be-large-74 attack.invalid TRUE / FALSE 0 name75 could-be-large-75 attack.invalid TRUE / FALSE 0 name76 could-be-large-76 attack.invalid TRUE / FALSE 0 name77 could-be-large-77 attack.invalid TRUE / FALSE 0 name78 could-be-large-78 attack.invalid TRUE / FALSE 0 name79 could-be-large-79 attack.invalid TRUE / FALSE 0 name80 could-be-large-80 attack.invalid TRUE / FALSE 0 name81 could-be-large-81 attack.invalid TRUE / FALSE 0 name82 could-be-large-82 attack.invalid TRUE / FALSE 0 name83 could-be-large-83 attack.invalid TRUE / FALSE 0 name84 could-be-large-84 attack.invalid TRUE / FALSE 0 name85 could-be-large-85 attack.invalid TRUE / FALSE 0 name86 could-be-large-86 attack.invalid TRUE / FALSE 0 name87 could-be-large-87 attack.invalid TRUE / FALSE 0 name88 could-be-large-88 attack.invalid TRUE / FALSE 0 name89 could-be-large-89 attack.invalid TRUE / FALSE 0 name90 could-be-large-90 attack.invalid TRUE / FALSE 0 name91 could-be-large-91 attack.invalid TRUE / FALSE 0 name92 could-be-large-92 attack.invalid TRUE / FALSE 0 name93 could-be-large-93 attack.invalid TRUE / FALSE 0 name94 could-be-large-94 attack.invalid TRUE / FALSE 0 name95 could-be-large-95 attack.invalid TRUE / FALSE 0 name96 could-be-large-96 attack.invalid TRUE / FALSE 0 name97 could-be-large-97 attack.invalid TRUE / FALSE 0 name98 could-be-large-98 attack.invalid TRUE / FALSE 0 name99 could-be-large-99 attack.invalid TRUE / FALSE 0 name100 could-be-large-100 attack.invalid TRUE / FALSE 0 name101 could-be-large-101 attack.invalid TRUE / FALSE 0 name102 could-be-large-102 attack.invalid TRUE / FALSE 0 name103 could-be-large-103 attack.invalid TRUE / FALSE 0 name104 could-be-large-104 attack.invalid TRUE / FALSE 0 name105 could-be-large-105 attack.invalid TRUE / FALSE 0 name106 could-be-large-106 attack.invalid TRUE / FALSE 0 name107 could-be-large-107 attack.invalid TRUE / FALSE 0 name108 could-be-large-108 attack.invalid TRUE / FALSE 0 name109 could-be-large-109 attack.invalid TRUE / FALSE 0 name110 could-be-large-110 attack.invalid TRUE / FALSE 0 name111 could-be-large-111 attack.invalid TRUE / FALSE 0 name112 could-be-large-112 attack.invalid TRUE / FALSE 0 name113 could-be-large-113 attack.invalid TRUE / FALSE 0 name114 could-be-large-114 attack.invalid TRUE / FALSE 0 name115 could-be-large-115 attack.invalid TRUE / FALSE 0 name116 could-be-large-116 attack.invalid TRUE / FALSE 0 name117 could-be-large-117 attack.invalid TRUE / FALSE 0 name118 could-be-large-118 attack.invalid TRUE / FALSE 0 name119 could-be-large-119 attack.invalid TRUE / FALSE 0 name120 could-be-large-120 attack.invalid TRUE / FALSE 0 name121 could-be-large-121 attack.invalid TRUE / FALSE 0 name122 could-be-large-122 attack.invalid TRUE / FALSE 0 name123 could-be-large-123 attack.invalid TRUE / FALSE 0 name124 could-be-large-124 attack.invalid TRUE / FALSE 0 name125 could-be-large-125 attack.invalid TRUE / FALSE 0 name126 could-be-large-126 attack.invalid TRUE / FALSE 0 name127 could-be-large-127 attack.invalid TRUE / FALSE 0 name128 could-be-large-128 attack.invalid TRUE / FALSE 0 name129 could-be-large-129 attack.invalid TRUE / FALSE 0 name130 could-be-large-130 attack.invalid TRUE / FALSE 0 name131 could-be-large-131 attack.invalid TRUE / FALSE 0 name132 could-be-large-132 attack.invalid TRUE / FALSE 0 name133 could-be-large-133 attack.invalid TRUE / FALSE 0 name134 could-be-large-134 attack.invalid TRUE / FALSE 0 name135 could-be-large-135 attack.invalid TRUE / FALSE 0 name136 could-be-large-136 attack.invalid TRUE / FALSE 0 name137 could-be-large-137 attack.invalid TRUE / FALSE 0 name138 could-be-large-138 attack.invalid TRUE / FALSE 0 name139 could-be-large-139 attack.invalid TRUE / FALSE 0 name140 could-be-large-140 attack.invalid TRUE / FALSE 0 name141 could-be-large-141 attack.invalid TRUE / FALSE 0 name142 could-be-large-142 attack.invalid TRUE / FALSE 0 name143 could-be-large-143 attack.invalid TRUE / FALSE 0 name144 could-be-large-144 attack.invalid TRUE / FALSE 0 name145 could-be-large-145 attack.invalid TRUE / FALSE 0 name146 could-be-large-146 attack.invalid TRUE / FALSE 0 name147 could-be-large-147 attack.invalid TRUE / FALSE 0 name148 could-be-large-148 attack.invalid TRUE / FALSE 0 name149 could-be-large-149 attack.invalid TRUE / FALSE 0 name150 could-be-large-150 attack.invalid TRUE / FALSE 0 name151 could-be-large-151 === End of file cookie442 === Start of file http_server.log 05:46:18.627102 ====> Client connect 05:46:18.627143 accept_connection 3 returned 4 05:46:18.627161 accept_connection 3 returned 0 05:46:18.627176 Read 93 bytes 05:46:18.627185 Process 93 bytes request 05:46:18.627197 Got request: GET /verifiedserver HTTP/1.1 05:46:18.627205 Are-we-friendly question received 05:46:18.627228 Wrote request (93 bytes) input to log/16/server.input 05:46:18.627245 Identifying ourselves as friends 05:46:18.627323 Response sent (56 bytes) and written to log/16/server.response 05:46:18.627332 special request received, no persistency 05:46:18.627340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 42692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 442 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind442 ==100838== ==100838== Process terminating with default action of signal 4 (SIGILL) ==100838== Illegal opcode at address 0x4014883 ==100838== at 0x4014883: getparameter (tool_getparam.c:2899) ==100838== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100838== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100838== by 0x4004208: main (tool_main.c:189) === End of file valgrind442 setenv FUNVALUE = contents setenv VALUE2 = curl test 0448...[Environment variables within config file, unbalanced braces] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind448 ../src/curl -q --output log/7/curl448.out --include --trace-ascii log/7/trace448 --trace-time http://127.0.0.1:39013/448 -K log/7/cmd > log/7/stdout448 2> log/7/stderr448 448: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 448 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}}5{{broken === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind444 ../src/curl -q --output log/13/curl444.out --include --trace-ascii log/13/trace444 --trace-time http://attack.invalid:45359/a/b/444 -c log/13/cookie444 --resolve attack.invalid:45359:127.0.0.1 > log/13/stdout444 2> log/13/stderr444 upp --num-callers=16 --log-file=log/7/valgrind448 ../src/curl -q --output log/7/curl448.out --include --trace-ascii log/7/trace448 --trace-time http://127.0.0.1:39013/448 -K log/7/cmd > log/7/stdout448 2> log/7/stderr448 === End of file commands.log === Start of file http_server.log 05:46:17.819145 ====> Client connect 05:46:17.819179 accept_connection 3 returned 4 05:46:17.819195 accept_connection 3 returned 0 05:46:17.819210 Read 93 bytes 05:46:17.819220 Process 93 bytes request 05:46:17.819234 Got request: GET /verifiedserver HTTP/1.1 05:46:17.819243 Are-we-friendly question received 05:46:17.819270 Wrote request (93 bytes) input to log/7/server.input 05:46:17.819287 Identifying ourselves as friends 05:46:17.819344 Response sent (56 bytes) and written to log/7/server.response 05:46:17.819355 special request received, no persistency 05:46:17.819364 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 49928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind448 ==101004== ==101004== Process terminating with default action of signal 4 (SIGILL) ==101004== Illegal opcode at address 0x4014883 ==101004== at 0x4014883: getparameter (tool_getparam.c:2899) ==101004== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101004== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101004== by 0x4004208: main (tool_main.c:189) === End of file valgrind448 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0449...[Environment variables in config file w/o [expand]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind449 ../src/curl -q --output log/10/curl449.out --include --trace-ascii log/10/trace449 --trace-time http://127.0.0.1:46741/449 -K log/10/cmd > log/10/stdout449 2> log/10/stderr449 449: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 449 === Start of file cmd -d 1{{FUNVALUE}}2{{VALUE2}}3{{CURL_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind449 ../src/curl -q --output log/10/curl449.out --include --trace-ascii log/10/trace449 --trace-time http://127.0.0.1:46741/449 -K log/10/cmd > log/10/stdout449 2> log/10/stderr449 === End of file commands.log === Start of file http_server.log 05:46:17.853720 ====> Client connect 05:46:17.853760 accept_connection 3 returned 4 05:46:17.853780 accept_connection 3 returned 0 05:46:17.853796 Read 93 bytes 05:46:17.853806 Process 93 bytes request 05:46:17.853821 Got request: GET /verifiedserver HTTP/1.1 05:46:17.853830 Are-we-friendly question received 05:46:17.853852 Wrote request (93 bytes) input to log/10/server.input 05:46:17.853869 Identifying ourselves as friends 05:46:17.853948 Response sent (56 bytes) and written to log/10/server.response 05:46:17.853958 special request received, no persistency 05:46:17.853967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 60632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 449 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind449 ==101042== ==101042== Process terminating with default action of signal 4 (SIGILL) ==101042== Illegal opcode at address 0x4014883 ==101042== at 0x4014883: getparameter (tool_getparam.c:2899) ==101042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101042== by 0x4004208: main (tool_main.c:189) === End of file valgrind449 test 0444...[Many Set-Cookie response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind444 ../src/curl -q --output log/13/curl444.out --include --trace-ascii log/13/trace444 --trace-time http://attack.invalid:45359/a/b/444 -c log/13/cookie444 --resolve attack.invalid:45359:127.0.0.1 > log/13/stdout444 2> log/13/stderr444 444: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind444 ../src/curl -q --output log/13/curl444.out --include --trace-ascii log/13/trace444 --trace-time http://attack.invalid:45359/a/b/444 -c log/13/cookie444 --resolve attack.invalid:45359:127.0.0.1 > log/13/stdout444 2> log/13/stderr444 === End of file commands.log === Start of file http_server.log 05:46:18.738590 ====> Client connect 05:46:18.738627 accept_connection 3 returned 4 05:46:18.738646 accept_connection 3 returned 0 05:46:18.738662 Read 93 bytes 05:46:18.738672 Process 93 bytes request 05:46:18.738687 Got request: GET /verifiedserver HTTP/1.1 05:46:18.738697 Are-we-friendly question received 05:46:18.738744 Wrote request (93 bytes) input to log/13/server.input 05:46:18.738766 Identifying ourselves as friends 05:46:18.738861 Response sent (56 bytes) and written to log/13/server.response 05:46:18.738875 special request received, no persistency 05:46:18.738884 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 58826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 444 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind444 ==100966== ==100966== Process terminating with default action of signal 4 (SIGILL) ==100966== Illegal opcode at address 0x4014883 ==100966== at 0x4014883: getparameter (tool_getparam.c:2899) ==100966== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==100966== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==100966== by 0x4004208: main (tool_main.c:189) ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind451 ../src/curl -q --output log/22/curl451.out --include --trace-ascii log/22/trace451 --trace-time http://127.0.0.1:41477/451 --variable what@log/22/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/22/stdout451 2> log/22/stderr451 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind450 ../src/curl -q --output log/2/curl450.out --include --trace-ascii log/2/trace450 --trace-time http://127.0.0.1:41799/450 --variable what@log/2/junk --expand-data "{{what:trim:url}}" > log/2/stdout450 2> log/2/stderr450 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind453 ../src/curl -q --output log/1/curl453.out --include --trace-ascii log/1/trace453 --trace-time http://127.0.0.1:38765/453 --variable what@log/1/junk --expand-data "{{what}}" > log/1/stdout453 2> log/1/stderr453 End of file valgrind444 test 0451...[Variable from file that is JSON and URL encoded (with null byte)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind451 ../src/curl -q --output log/22/curl451.out --include --trace-ascii log/22/trace451 --trace-time http://127.0.0.1:41477/451 --variable what@log/22/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/22/stdout451 2> log/22/stderr451 451: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 451 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind451 ../src/curl -q --output log/22/curl451.out --include --trace-ascii log/22/trace451 --trace-time http://127.0.0.1:41477/451 --variable what@log/22/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/22/stdout451 2> log/22/stderr451 === End of file commands.log === Start of file http_server.log 05:46:19.203774 ====> Client connect 05:46:19.203811 accept_connection 3 returned 4 05:46:19.203827 accept_connection 3 returned 0 05:46:19.203842 Read 93 bytes 05:46:19.203851 Process 93 bytes request 05:46:19.203865 Got request: GET /verifiedserver HTTP/1.1 05:46:19.203873 Are-we-friendly question received 05:46:19.203893 Wrote request (93 bytes) input to log/22/server.input 05:46:19.203908 Identifying ourselves as friends 05:46:19.203961 Response sent (56 bytes) and written to log/22/server.response 05:46:19.203969 special request received, no persistency 05:46:19.203977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 53662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 451 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind451 ==101264== ==101264== Process terminating with default action of signal 4 (SIGILL) ==101264== Illegal opcode at address 0x4014883 ==101264== at 0x4014883: getparameter (tool_getparam.c:2899) ==101264== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101264== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101264== by 0x4004208: main (tool_main.c:189) === End of file valgrind451 test 0450...[Variable from file that is trimmed and URL encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind450 ../src/curl -q --output log/2/curl450.out --include --trace-ascii log/2/trace450 --trace-time http://127.0.0.1:41799/450 --variable what@log/2/junk --expand-data "{{what:trim:url}}" > log/2/stdout450 2> log/2/stderr450 450: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 450 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind450 ../src/curl -q --output log/2/curl450.out --include --trace-ascii log/2/trace450 --trace-time http://127.0.0.1:41799/450 --variable what@log/2/junk --expand-data "{{what:trim:url}}" > log/2/stdout450 2> log/2/stderr450 === End of file commands.log === Start of file http_server.log 05:46:19.017077 ====> Client connect 05:46:19.017134 accept_connection 3 returned 4 05:46:19.017156 accept_connection 3 returned 0 05:46:19.017175 Read 93 bytes 05:46:19.017186 Process 93 bytes request 05:46:19.017202 Got request: GET /verifiedserver HTTP/1.1 05:46:19.017213 Are-we-friendly question received 05:46:19.017246 Wrote request (93 bytes) input to log/2/server.input 05:46:19.017268 Identifying ourselves as friends 05:46:19.017363 Response sent (56 bytes) and written to log/2/server.response 05:46:19.017375 special request received, no persistency 05:46:19.017385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 57804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file junk space with space === End of file junk === Start of file server.cmd Testnum 450 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind450 ==101148== ==101148== Process terminating with default action of signal 4 (SIGILL) ==101148== Illegal opcode at address 0x4014883 ==101148== at 0x4014883: getparameter (tool_getparam.c:2899) ==101148== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101148== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101148== by 0x4004208: main (tool_main.c:189) === End of file valgrind450 test 0453...[Variable output containing null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind453 ../src/curl -q --output log/1/curl453.out --include --trace-ascii log/1/trace453 --trace-time http://127.0.0.1:38765/453 --variable what@log/1/junk --expand-data "{{what}}" > log/1/stdout453 2> log/1/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/1/ directory after test 453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind453 ../src/curl -q --output log/1/curl453.out --include --trace-ascii log/1/trace453 --trace-time http://127.0.0.1:38765/453 --variable what@log/1/junk --expand-data "{{what}}" > log/1/stdout453 2> log/1/stderr453 === End of file commands.log === Start of file http_server.log 05:46:19.351868 ====> Client connect 05:46:19.351900 accept_connection 3 returned 4 05:46:19.351916 accept_connection 3 returned 0 05:46:19.351930 Read 93 bytes 05:46:19.351940 Process 93 bytes request 05:46:19.351954 Got request: GET /verifiedserver HTTP/1.1 05:46:19.351964 Are-we-friendly question received 05:46:19.352017 Wrote request (93 bytes) input to log/1/server.input 05:46:19.352034 Identifying ourselves as friends 05:46:19.352089 Response sent (56 bytes) and written to log/1/server.response 05:46:19.352098 special request received, no persistency 05:46:19.352107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 51414CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind452 ../src/curl -q --output log/17/curl452.out --include --trace-ascii log/17/trace452 --trace-time http://127.0.0.1:41505/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/17/stdout452 2> log/17/stderr452 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind455 ../src/curl -q --output log/6/curl455.out --include --trace-ascii log/6/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33035/{{moby:b64}}/{{what:64dec}}/455" > log/6/stdout455 2> log/6/stderr455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind456 ../src/curl -q --output log/12/curl456.out --include --trace-ascii log/12/trace456 --trace-time http://127.0.0.1:36353/456 --variable what@log/12/junk --expand-data "{{what}}" > log/12/stdout456 2> log/12/stderr456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 453 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind453 ==101339== ==101339== Process terminating with default action of signal 4 (SIGILL) ==101339== Illegal opcode at address 0x4014883 ==101339== at 0x4014883: getparameter (tool_getparam.c:2899) ==101339== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101339== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101339== by 0x4004208: main (tool_main.c:189) === End of file valgrind453 test 0452...[Variable using illegal function in expansion] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind452 ../src/curl -q --output log/17/curl452.out --include --trace-ascii log/17/trace452 --trace-time http://127.0.0.1:41505/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/17/stdout452 2> log/17/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/17/ directory after test 452 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind452 ../src/curl -q --output log/17/curl452.out --include --trace-ascii log/17/trace452 --trace-time http://127.0.0.1:41505/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/17/stdout452 2> log/17/stderr452 === End of file commands.log === Start of file http_server.log 05:46:19.259968 ====> Client connect 05:46:19.260002 accept_connection 3 returned 4 05:46:19.260019 accept_connection 3 returned 0 05:46:19.260034 Read 93 bytes 05:46:19.260044 Process 93 bytes request 05:46:19.260058 Got request: GET /verifiedserver HTTP/1.1 05:46:19.260068 Are-we-friendly question received 05:46:19.260093 Wrote request (93 bytes) input to log/17/server.input 05:46:19.260111 Identifying ourselves as friends 05:46:19.260172 Response sent (56 bytes) and written to log/17/server.response 05:46:19.260183 special request received, no persistency 05:46:19.260193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 44164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 452 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind452 ==101286== ==101286== Process terminating with default action of signal 4 (SIGILL) ==101286== Illegal opcode at address 0x4014883 ==101286== at 0x4014883: getparameter (tool_getparam.c:2899) ==101286== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101286== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101286== by 0x4004208: main (tool_main.c:189) === End of file valgrind452 test 0455...[Variable using base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind455 ../src/curl -q --output log/6/curl455.out --include --trace-ascii log/6/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33035/{{moby:b64}}/{{what:64dec}}/455" > log/6/stdout455 2> log/6/stderr455 455: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind455 ../src/curl -q --output log/6/curl455.out --include --trace-ascii log/6/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:33035/{{moby:b64}}/{{what:64dec}}/455" > log/6/stdout455 2> log/6/stderr455 === End of file commands.log === Start of file http_server.log 05:46:18.589876 ====> Client connect 05:46:18.589923 accept_connection 3 returned 4 05:46:18.589941 accept_connection 3 returned 0 05:46:18.589956 Read 93 bytes 05:46:18.589966 Process 93 bytes request 05:46:18.589980 Got request: GET /verifiedserver HTTP/1.1 05:46:18.589989 Are-we-friendly question received 05:46:18.590016 Wrote request (93 bytes) input to log/6/server.input 05:46:18.590034 Identifying ourselves as friends 05:46:18.590101 Response sent (56 bytes) and written to log/6/server.response 05:46:18.590110 special request received, no persistency 05:46:18.590119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 38902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind455 ==101507== ==101507== Process terminating with default action of signal 4 (SIGILL) ==101507== Illegal opcode at address 0x4014883 ==101507== at 0x4014883: getparameter (tool_getparam.c:2899) ==101507== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101507== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101507== by 0x4004208: main (tool_main.c:189) === End of file valgrind455 test 0456...[Variable output starting with null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind456 ../src/curl -q --output log/12/curl456.out --include --trace-ascii log/12/trace456 --trace-time http://127.0.0.1:36353/456 --variable what@log/12/junk --expand-data "{{what}}" > log/12/stdout456 2> log/12/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/12/ directory after test 456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind456 ../src/curl -q --output log/12/curl456.out --include --trace-ascii log/12/trace456 --trace-time http://127.0.0.1:36353/456 --variable what@log/12/junk --expand-data "{{what}}" > log/12/stdout456 2> log/12/stderr456 === End of file commands.log === Start of file http_server.log 05:46:19.637089 ====> Client connect 05:46:19.637132 accept_connectionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind459 ../src/curl -q --output log/21/curl459.out --include --trace-ascii log/21/trace459 --trace-time http://127.0.0.1:42891/459 --config log/21/config --silent > log/21/stdout459 2> log/21/stderr459 3 returned 4 05:46:19.637150 accept_connection 3 returned 0 05:46:19.637168 Read 93 bytes 05:46:19.637177 Process 93 bytes request 05:46:19.637191 Got request: GET /verifiedserver HTTP/1.1 05:46:19.637200 Are-we-friendly question received 05:46:19.637224 Wrote request (93 bytes) input to log/12/server.input 05:46:19.637240 Identifying ourselves as friends 05:46:19.637317 Response sent (56 bytes) and written to log/12/server.response 05:46:19.637326 special request received, no persistency 05:46:19.637334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 56852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file junk hello === End of file junk === Start of file server.cmd Testnum 456 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind456 ==101532== ==101532== Process terminating with default action of signal 4 (SIGILL) ==101532== Illegal opcode at address 0x4014883 ==101532== at 0x4014883: getparameter (tool_getparam.c:2899) ==101532== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101532== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101532== by 0x4004208: main (tool_main.c:189) === End of file valgrind456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind460 ../src/curl -q --output log/5/curl460.out --include --trace-ascii log/5/trace460 --trace-time --expand-url > log/5/stdout460 2> log/5/stderr460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind462 ../src/curl -q --output log/15/curl462.out --include --trace-ascii log/15/trace462 --trace-time http://127.0.0.1:43413/462 -K log/15/cmd > log/15/stdout462 2> log/15/stderr462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind458 ../src/curl -q --include --trace-ascii log/20/trace458 --trace-time http://127.0.0.1:38929/458 -K log/20/cmd > log/20/stdout458 2> log/20/stderr458 test 0459...[config file with argument using whitespace missing quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind459 ../src/curl -q --output log/21/curl459.out --include --trace-ascii log/21/trace459 --trace-time http://127.0.0.1:42891/459 --config log/21/config --silent > log/21/stdout459 2> log/21/stderr459 459: stderr FAILED: --- log/21/check-expected 2026-03-14 05:46:21.671282706 +0000 +++ log/21/check-generated 2026-03-14 05:46:21.671282706 +0000 @@ -1,2 +0,0 @@ -Warning: log/21/config:1 Option 'data' uses argument with unquoted whitespace. [CR][LF] -Warning: This may cause side-effects. Consider double quotes.[CR][LF] == Contents of files in the log/21/ directory after test 459 === Start of file check-expected Warning: log/21/config:1 Option 'data' uses argument with unquoted whitespace. [CR][LF] Warning: This may cause side-effects. Consider double quotes.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind459 ../src/curl -q --output log/21/curl459.out --include --trace-ascii log/21/trace459 --trace-time http://127.0.0.1:42891/459 --config log/21/config --silent > log/21/stdout459 2> log/21/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 05:46:18.997168 ====> Client connect 05:46:18.997206 accept_connection 3 returned 4 05:46:18.997224 accept_connection 3 returned 0 05:46:18.997239 Read 93 bytes 05:46:18.997249 Process 93 bytes request 05:46:18.997263 Got request: GET /verifiedserver HTTP/1.1 05:46:18.997272 Are-we-friendly question received 05:46:18.997299 Wrote request (93 bytes) input to log/21/server.input 05:46:18.997318 Identifying ourselves as friends 05:46:18.997420 Response sent (56 bytes) and written to log/21/server.response 05:46:18.997433 special request received, no persistency 05:46:18.997442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 459 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind459 ==101744== ==101744== Process terminating with default action of signal 4 (SIGILL) ==101744== Illegal opcode at address 0x4014883 ==101744== at 0x4014883: getparameter (tool_getparam.c:2899) ==101744== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101744== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101744== by 0x4004208: main (tool_main.c:189) === End of file valgrind459 test 0460...[try --expand without an argument] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind460 ../src/curl -q --output log/5/curl460.out --include --trace-ascii log/5/trace460 --trace-time --expand-url > log/5/stdout460 2> log/5/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/5/ directory after test 460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind460 ../src/curl -q --output log/5/curl460.out --include --trace-ascii log/5/trace460 --trace-time --expand-url > log/5/stdout460 2> log/5/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==101765== ==101765== Process terminating with default action of signal 4 (SIGILL) ==101765== Illegal opcode at address 0x4014883 ==101765== at 0x4014883: getparameter (tool_getparam.c:2899) ==101765== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101765== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101765== by 0x4004208: main (tool_main.c:189) === End of file valgrind460 test 0462...[Missing environment variables in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind462 ../src/curl -q --output log/15/curl462.out --include --trace-ascii log/15/trace462 --trace-time http://127.0.0.1:43413/462 -K log/15/cmd > log/15/stdout462 2> log/15/stderr462 curl returned 132, when expecting 2 462: exit FAILED == Contents of files in the log/15/ directory after test 462 === Start of file cmd variable %MISSING expand-data {{MISSING}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind462 ../src/curl -q --output log/15/curl462.out --include --trace-ascii log/15/trace462 --trace-time http://127.0.0.1:43413/462 -K log/15/cmd > log/15/stdout462 2> log/15/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==101874== ==101874== Process terminating with default action of signal 4 (SIGILL) ==101874== Illegal opcode at address 0x4014883 ==101874== at 0x4014883: getparameter (tool_getparam.c:2899) ==101874== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101874== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101874== by 0x4004208: main (tool_main.c:189) === End of file valgrind462 setenv FUNVALUE = contents458 setenv VALUE2 = curl test 0458...[variable expand the filename with --expand-output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind458 ../src/curl -q --include --trace-ascii log/20/trace458 --trace-time http://127.0.0.1:38929/458 -K log/20/cmd > log/20/stdout458 2> log/20/stderr458 458: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/20/{{FUNVALUE}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind458 ../src/curl -q --include --trace-ascii log/20/trace458 --trace-time http://127.0.0.1:38929/458 -K log/20/cmd > log/20/stdout458 2> log/20/stderr458 === End of file commands.log === Start of file http_server.log 05:46:18.966346 ====> Client connect 05:46:18.966382 accept_connection 3 returned 4 05:46:18.966401 accept_connection 3 returned 0 05:46:18.966416 Read 93 bytes 05:46:18.966427 Process 93 bytes request 05:46:18.966441 Got request: GET /verifiedserver HTTP/1.1 05:46:18.966451 Are-we-friendly question received 05:46:18.966479 Wrote request (93 bytes) input to log/20/server.input 05:46:18.966497 Identifying ourselves as friends 05:46:18.966558 Response sent (56 bytes) and written to log/20/server.response 05:46:18.966570 special request received, no persistency 05:46:18.966579 ====> Client disconneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind461 ../src/curl -q --output log/4/curl461.out --include --trace-ascii log/4/trace461 --trace-time http://127.0.0.1:40253/461 -H host: > log/4/stdout461 2> log/4/stderr461 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind457 ../src/curl -q --output log/8/curl457.out --include --trace-ascii log/8/trace457 --trace-time http://127.0.0.1:45623/457 --max-filesize 143 > log/8/stdout457 2> log/8/stderr457 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind454 ../src/curl -q --output log/23/curl454.out --include --trace-ascii log/23/trace454 --trace-time http://127.0.0.1:33217/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/23/stdout454 2> log/23/stderr454 ct 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind458 ==101723== ==101723== Process terminating with default action of signal 4 (SIGILL) ==101723== Illegal opcode at address 0x4014883 ==101723== at 0x4014883: getparameter (tool_getparam.c:2899) ==101723== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101723== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101723== by 0x4004208: main (tool_main.c:189) === End of file valgrind458 test 0461...[disable Host: when specified as lower case] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind461 ../src/curl -q --output log/4/curl461.out --include --trace-ascii log/4/trace461 --trace-time http://127.0.0.1:40253/461 -H host: > log/4/stdout461 2> log/4/stderr461 461: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 461 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind461 ../src/curl -q --output log/4/curl461.out --include --trace-ascii log/4/trace461 --trace-time http://127.0.0.1:40253/461 -H host: > log/4/stdout461 2> log/4/stderr461 === End of file commands.log === Start of file http_server.log 05:46:19.159937 ====> Client connect 05:46:19.159973 accept_connection 3 returned 4 05:46:19.159992 accept_connection 3 returned 0 05:46:19.160157 Read 93 bytes 05:46:19.160173 Process 93 bytes request 05:46:19.160187 Got request: GET /verifiedserver HTTP/1.1 05:46:19.160197 Are-we-friendly question received 05:46:19.160227 Wrote request (93 bytes) input to log/4/server.input 05:46:19.160248 Identifying ourselves as friends 05:46:19.160457 Response sent (56 bytes) and written to log/4/server.response 05:46:19.160471 special request received, no persistency 05:46:19.160480 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 461 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind461 ==101905== ==101905== Process terminating with default action of signal 4 (SIGILL) ==101905== Illegal opcode at address 0x4014883 ==101905== at 0x4014883: getparameter (tool_getparam.c:2899) ==101905== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101905== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101905== by 0x4004208: main (tool_main.c:189) === End of file valgrind461 test 0457...[chunked Transfer-Encoding with --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind457 ../src/curl -q --output log/8/curl457.out --include --trace-ascii log/8/trace457 --trace-time http://127.0.0.1:45623/457 --max-filesize 143 > log/8/stdout457 2> log/8/stderr457 457: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 457 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind457 ../src/curl -q --output log/8/curl457.out --include --trace-ascii log/8/trace457 --trace-time http://127.0.0.1:45623/457 --max-filesize 143 > log/8/stdout457 2> log/8/stderr457 === End of file commands.log === Start of file http_server.log 05:46:18.894189 ====> Client connect 05:46:18.894230 accept_connection 3 returned 4 05:46:18.894251 accept_connection 3 returned 0 05:46:18.894272 Read 93 bytes 05:46:18.894286 Process 93 bytes request 05:46:18.894306 Got request: GET /verifiedserver HTTP/1.1 05:46:18.894316 Are-we-friendly question received 05:46:18.894347 Wrote request (93 bytes) input to log/8/server.input 05:46:18.894367 Identifying ourselves as friends 05:46:18.894455 Response sent (56 bytes) and written to log/8/server.response 05:46:18.894465 special request received, no persistency 05:46:18.894474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 55374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind457 ==101705== ==101705== Process terminating with default action of signal 4 (SIGILL) ==101705== Illegal opcode at address 0x4014883 ==101705== at 0x4014883: getparameter (tool_getparam.c:2899) ==101705== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101705== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101705== by 0x4004208: main (tool_main.c:189) === End of file valgrind457 test 0454...[Variable using illegal function separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind454 ../src/curl -q --output log/23/curl454.out --include --trace-ascii log/23/trace454 --trace-time http://127.0.0.1:33217/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/23/stdout454 2> log/23/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/23/ directory after test 454 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind454 ../src/curl -q --output log/23/curl454.out --include --trace-ascii log/23/trace454 --trace-time http://127.0.0.1:33217/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/23/stdout454 2> log/23/stderr454 === End of file commands.log === Start of file http_server.log 05:46:19.554436 ====> Client connect 05:46:19.554467 accept_connection 3 returned 4 05:46:19.554483 accept_connectioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind467 ../src/curl -q --output log/24/curl467.out --include --trace-ascii log/24/trace467 --trace-time curl -v http://example.com > log/24/stdout467 2> log/24/stderr467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind470 ../src/curl -q --output log/14/curl470.out --include --trace-ascii log/14/trace470 --trace-time 127.0.0.1:35549 --no-progress-meter -K "log/14/input470" > log/14/stdout470 2> log/14/stderr470 n 3 returned 0 05:46:19.554498 Read 93 bytes 05:46:19.554508 Process 93 bytes request 05:46:19.554522 Got request: GET /verifiedserver HTTP/1.1 05:46:19.554531 Are-we-friendly question received 05:46:19.554555 Wrote request (93 bytes) input to log/23/server.input 05:46:19.554572 Identifying ourselves as friends 05:46:19.554626 Response sent (56 bytes) and written to log/23/server.response 05:46:19.554636 special request received, no persistency 05:46:19.554645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 53464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 454 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind454 ==101493== ==101493== Process terminating with default action of signal 4 (SIGILL) ==101493== Illegal opcode at address 0x4014883 ==101493== at 0x4014883: getparameter (tool_getparam.c:2899) ==101493== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==101493== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==101493== by 0x4004208: main (tool_main.c:189) === End of file valgrind454 test 0467...[use a bad short option letter that does not exist (after one does exist)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind467 ../src/curl -q --output log/24/curl467.out --include --trace-ascii log/24/trace467 --trace-time curl -v http://example.com > log/24/stdout467 2> log/24/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/24/ directory after test 467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind467 ../src/curl -q --output log/24/curl467.out --include --trace-ascii log/24/trace467 --trace-time curl -v http://example.com > log/24/stdout467 2> log/24/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==102038== ==102038== Process terminating with default action of signal 4 (SIGILL) ==102038== Illegal opcode at address 0x4014883 ==102038== at 0x4014883: getparameter (tool_getparam.c:2899) ==102038== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102038== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102038== by 0x4004208: main (tool_main.c:189) === End of file valgrind467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind468 ../src/curl -q --trace-ascii log/9/trace468 --trace-time http://127.0.0.1:33885/468 -K log/9/cmd468 -w "" > log/9/stdout468 2> log/9/stderr468 test 0470...[warn about Unicode quote character read from config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind470 ../src/curl -q --output log/14/curl470.out --include --trace-ascii log/14/trace470 --trace-time 127.0.0.1:35549 --no-progress-meter -K "log/14/input470" > log/14/stdout470 2> log/14/stderr470 470: stderr FAILED: --- log/14/check-expected 2026-03-14 05:46:22.491282706 +0000 +++ log/14/check-generated 2026-03-14 05:46:22.491282706 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe [CR][LF] -Warning: ASCII was intended?[CR][LF] == Contents of files in the log/14/ directory after test 470 === Start of file check-expected Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe [CR][LF] Warning: ASCII was intended?[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind470 ../src/curl -q --output log/14/curl470.out --include --trace-ascii log/14/trace470 --trace-time 127.0.0.1:35549 --no-progress-meter -K "log/14/input470" > log/14/stdout470 2> log/14/stderr470 === End of file commands.log === Start of file http_server.log 05:46:20.560438 ====> Client connect 05:46:20.560487 accept_connection 3 returned 4 05:46:20.560508 accept_connection 3 returned 0 05:46:20.560524 Read 93 bytes 05:46:20.560533 Process 93 bytes request 05:46:20.560546 Got request: GET /verifiedserver HTTP/1.1 05:46:20.560554 Are-we-friendly question received 05:46:20.560580 Wrote request (93 bytes) input to log/14/server.input 05:46:20.560596 Identifying ourselves as friends 05:46:20.560672 Response sent (56 bytes) and written to log/14/server.response 05:46:20.560681 special request received, no persistency 05:46:20.560690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 49416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file input470 -H “host:fake” === End of file input470 === Start of file server.cmd Testnum 470 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind470 ==102211== ==102211== Process terminating with default action of signal 4 (SIGILL) ==102211== Illegal opcode at address 0x4014883 ==102211== at 0x4014883: getparameter (tool_getparam.c:2899) ==102211== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102211== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102211== by 0x4004208: main (tool_main.c:189) === End of file valgrind470 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind469 ../src/curl -q --output log/18/curl469.out --include --trace-ascii log/18/trace469 --trace-time -H “host: 127.0.0.1:39913/“ -s > log/18/stdout469 2> log/18/stderr469 test 0468...[set -w in config, then reset -w to blank on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind468 ../src/curl -q --trace-ascii log/9/trace468 --trace-time http://127.0.0.1:33885/468 -K log/9/cmd468 -w "" > log/9/stdout468 2> log/9/stderr468 468: stdout FAILED: --- log/9/check-expected 2026-03-14 05:46:22.681282705 +0000 +++ log/9/check-generated 2026-03-14 05:46:22.681282705 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/9/ directory after test 468 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file cmd468 -w "output\n" === End of file cmd468 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind468 ../src/curl -q --trace-ascii log/9/trace468 --trace-time http://127.0.0.1:33885/468 -K log/9/cmd468 -w "" > log/9/stdout468 2> log/9/stderr468 === End of file commands.log === Start of file http_server.log 05:46:19.573736 ====> Client connect 05:46:19.573790 accept_connection 3 returned 4 05:46:19.573810 accept_connection 3 returned 0 05:46:19.573829 Read 93 bytes 05:46:19.573839 Process 93 bytes request 05:46:19.573853 Got request: GET /verifiedserver HTTP/1.1 05:46:19.573863 Are-we-friendly question received 05:46:19.573889 Wrote request (93 bytes) input to log/9/server.input 05:46:19.573906 Identifying ourselves as friends 05:46:19.573995 Response sent (56 bytes) and written to log/9/server.response 05:46:19.574007 special request received, no persistency 05:46:19.574016 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 43394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind468 ==102201== ==102201== Process terminating with default action of signal 4 (SIGILL) ==102201== Illegal opcode at address 0x4014883 ==102201== at 0x4014883: getparameter (tool_getparam.c:2899) ==102201== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102201== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102201== by 0x4004208: main (tool_main.c:189) === End of file valgrind468 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind463 ../src/curl -q --output log/11/curl463.out --include --trace-ascii log/11/trace463 --trace-time -d @log/11/input463 http://127.0.0.1:34551/463 > log/11/stdout463 2> log/11/stderr463 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind471 ../src/curl -q --include --trace-ascii log/3/trace471 --trace-time "http://127.0.0.1:39591/{471,4710001}" -o "log/3/dumpit#1.dump" > log/3/stdout471 2> log/3/stderr471 test 0469...[warn about Unicode quote character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind469 ../src/curl -q --output log/18/curl469.out --include --trace-ascii log/18/trace469 --trace-time -H “host: 127.0.0.1:39913/“ -s > log/18/stdout469 2> log/18/stderr469 469: stderr FAILED: --- log/18/check-expected 2026-03-14 05:46:22.694616039 +0000 +++ log/18/check-generated 2026-03-14 05:46:22.694616039 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII [LF] -Warning: was intended?[LF] == Contents of files in the log/18/ directory after test 469 === Start of file check-expected Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII [LF] Warning: was intended?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind469 ../src/curl -q --output log/18/curl469.out --include --trace-ascii log/18/trace469 --trace-time -H “host: 127.0.0.1:39913/“ -s > log/18/stdout469 2> log/18/stderr469 === End of file commands.log === Start of file http_server.log 05:46:19.580394 ====> Client connect 05:46:19.580427 accept_connection 3 returned 4 05:46:19.580442 accept_connection 3 returned 0 05:46:19.580456 Read 93 bytes 05:46:19.580464 Process 93 bytes request 05:46:19.580475 Got request: GET /verifiedserver HTTP/1.1 05:46:19.580482 Are-we-friendly question received 05:46:19.580500 Wrote request (93 bytes) input to log/18/server.input 05:46:19.580514 Identifying ourselves as friends 05:46:19.580568 Response sent (56 bytes) and written to log/18/server.response 05:46:19.580576 special request received, no persistency 05:46:19.580583 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 36128 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 469 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind469 ==102220== ==102220== Process terminating with default action of signal 4 (SIGILL) ==102220== Illegal opcode at address 0x4014883 ==102220== at 0x4014883: getparameter (tool_getparam.c:2899) ==102220== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102220== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102220== by 0x4004208: main (tool_main.c:189) === End of file valgrind469 test 0463...[HTTP with -d @file with file containing CR, LF and null byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind463 ../src/curl -q --output log/11/curl463.out --include --trace-ascii log/11/trace463 --trace-time -d @log/11/input463 http://127.0.0.1:34551/463 > log/11/stdout463 2> log/11/stderr463 463: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 463 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind463 ../src/curl -q --output log/11/curl463.out --include --trace-ascii log/11/trace463 --trace-time -d @log/11/input463 http://127.0.0.1:34551/463 > log/11/stdout463 2> log/11/stderr463 === End of file commands.log === Start of file http_server.log 05:46:20.409966 ====> Client connect 05:46:20.410001 accept_connection 3 returned 4 05:46:20.410018 accept_connection 3 returned 0 05:46:20.410032 Read 93 bytes 05:46:20.410041 Process 93 bytes request 05:46:20.410054 Got request: GET /verifiedserver HTTP/1.1 05:46:20.410063 Are-we-friendly question received 05:46:20.410088 Wrote request (93 bytes) input to log/11/server.input 05:46:20.410104 Identifying ourselves as friends 05:46:20.410163 Response sent (56 bytes) and written to log/11/server.response 05:46:20.410172 special request received, no persistency 05:46:20.410180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 43230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file input463 one two three fourfive === End of file input463 === Start of file server.cmd Testnum 463 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind463 ==102074== ==102074== Process terminating with default action of signal 4 (SIGILL) ==102074== Illegal opcode at address 0x4014883 ==102074== at 0x4014883: getparameter (tool_getparam.c:2899) ==102074== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102074== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102074== by 0x4004208: main (tool_main.c:189) === End of file valgrind463 test 0471...[Reject HTTP/1.1 to HTTP/2 switch on the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind471 ../src/curl -q --include --trace-ascii log/3/trace471 --trace-time "http://127.0.0.1:39591/{471,4710001}" -o "log/3/dumpit#1.dump" > log/3/stdout471 2> log/3/stderr471 471: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 471 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind471 ../src/curl -q --include --trace-ascii log/3/trace471 --trace-time "http://127.0.0.1:39591/{471,4710001}" -o "log/3/dumpit#1.dump" > log/3/stdout471 2> log/3/stderr471 === End of file commands.log === Start of file http_server.log 05:46:20.863870 ====> Client connect 05:46:20.863915 accept_connection 3 returned 4 05:46:20.863933 accept_connection 3 returned 0 05:46:20.863949 Read 93 bytes 05:46:20.863959 Process 93 bytes request 05:46:20.863973 Got request: GET /verifiedserver HTTP/1.1 05:46:20.863982 Are-we-friendly question received 05:46:20.864009 Wrote request (93 bytes) input to log/3/server.input 05:46:20.864026 Identifying ourselves as friends 05:46:20.864106 Response sent (56 bytes) and written to log/3/server.response 05:46:20.864117 special request received, no persistency 05:46:20.864126 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 54726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind473 ../src/curl -q --output log/19/curl473.out --include --trace-ascii log/19/trace473 --trace-time http://127.0.0.1:35701/473 --etag-save log/19/etag473 > log/19/stdout473 2> log/19/stderr473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind481 ../src/curl -q --trace-ascii log/1/trace481 --trace-time http://127.0.0.1:38765/481 --no-clobber -C 1 -o "log/1/481" > log/1/stdout481 2> log/1/stderr481 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind479 ../src/curl -q --output log/22/curl479.out --include --trace-ascii log/22/trace479 --trace-time --netrc --netrc-file log/22/netrc479 -L -x http://127.0.0.1:41477/ http://a.com/ > log/22/stdout479 2> log/22/stderr479 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 471 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind471 ==102385== ==102385== Process terminating with default action of signal 4 (SIGILL) ==102385== Illegal opcode at address 0x4014883 ==102385== at 0x4014883: getparameter (tool_getparam.c:2899) ==102385== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102385== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102385== by 0x4004208: main (tool_main.c:189) === End of file valgrind471 test 0473...[Check if --etag-save saved correct etag to a file on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind473 ../src/curl -q --output log/19/curl473.out --include --trace-ascii log/19/trace473 --trace-time http://127.0.0.1:35701/473 --etag-save log/19/etag473 > log/19/stdout473 2> log/19/stderr473 473: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind473 ../src/curl -q --output log/19/curl473.out --include --trace-ascii log/19/trace473 --trace-time http://127.0.0.1:35701/473 --etag-save log/19/etag473 > log/19/stdout473 2> log/19/stderr473 === End of file commands.log === Start of file http_server.log 05:46:19.961766 ====> Client connect 05:46:19.961802 accept_connection 3 returned 4 05:46:19.961818 accept_connection 3 returned 0 05:46:19.961832 Read 93 bytes 05:46:19.961841 Process 93 bytes request 05:46:19.961855 Got request: GET /verifiedserver HTTP/1.1 05:46:19.961864 Are-we-friendly question received 05:46:19.961890 Wrote request (93 bytes) input to log/19/server.input 05:46:19.961907 Identifying ourselves as friends 05:46:19.961963 Response sent (56 bytes) and written to log/19/server.response 05:46:19.961973 special request received, no persistency 05:46:19.961981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind473 ==102453== ==102453== Process terminating with default action of signal 4 (SIGILL) ==102453== Illegal opcode at address 0x4014883 ==102453== at 0x4014883: getparameter (tool_getparam.c:2899) ==102453== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102453== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102453== by 0x4004208: main (tool_main.c:189) === End of file valgrind473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind476 ../src/curl -q --output log/10/curl476.out --include --trace-ascii log/10/trace476 --trace-time "ftp://127.0.0.1:32809/476;type=a" -T log/10/test476.txt > log/10/stdout476 2> log/10/stderr476 test 0481...[--no-clobber with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind481 ../src/curl -q --trace-ascii log/1/trace481 --trace-time http://127.0.0.1:38765/481 --no-clobber -C 1 -o "log/1/481" > log/1/stdout481 2> log/1/stderr481 481: stderr FAILED: --- log/1/check-expected 2026-03-14 05:46:23.174616038 +0000 +++ log/1/check-generated 2026-03-14 05:46:23.174616038 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/1/ directory after test 481 === Start of file 481 initial content === End of file 481 === Start of file check-expected curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind481 ../src/curl -q --trace-ascii log/1/trace481 --trace-time http://127.0.0.1:38765/481 --no-clobber -C 1 -o "log/1/481" > log/1/stdout481 2> log/1/stderr481 === End of file commands.log === Start of file http_server.log 05:46:21.617074 ====> Client connect 05:46:21.617112 accept_connection 3 returned 4 05:46:21.617131 accept_connection 3 returned 0 05:46:21.617146 Read 93 bytes 05:46:21.617155 Process 93 bytes request 05:46:21.617169 Got request: GET /verifiedserver HTTP/1.1 05:46:21.617178 Are-we-friendly question received 05:46:21.617200 Wrote request (93 bytes) input to log/1/server.input 05:46:21.617216 Identifying ourselves as friends 05:46:21.617284 Response sent (56 bytes) and written to log/1/server.response 05:46:21.617294 special request received, no persistency 05:46:21.617303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 51426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind481 ==102811== ==102811== Process terminating with default action of signal 4 (SIGILL) ==102811== Illegal opcode at address 0x4014883 ==102811== at 0x4014883: getparameter (tool_getparam.c:2899) ==102811== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102811== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102811== by 0x4004208: main (tool_main.c:189) === End of file valgrind481 test 0479...[.netrc with redirect and default without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind479 ../src/curl -q --output log/22/curl479.out --include --trace-ascii log/22/trace479 --trace-time --netrc --netrc-file log/22/netrc479 -L -x http://127.0.0.1:41477/ http://a.com/ > log/22/stdout479 2> log/22/stderr479 479: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind479 ../src/curl -q --output log/22/curl479.out --include --trace-ascii log/22/trace479 --trace-time --netrc --netrc-file log/22/netrc479 -L -x http://127.0.0.1:41477/ http://a.com/ > log/22/stdout479 2> log/22/stderr479 === End of file commands.log === Start of file http_server.log 05:46:21.558929 ====> Client connect 05:46:21.558973 accept_connection 3 returned 4 05:46:21.558992 accept_connection 3 returned 0 05:46:21.559009 Read 93 bytes 05:46:21.559018 Process 93 bytes request 05:46:21.559032 Got request: GET /verifiedserver HTTP/1.1 05:46:21.559041 Are-we-friendly question received 05:46:21.559065 Wrote request (93 bytes) input to log/22/server.input 05:46:21.559082 Identifying ourselves as friends 05:46:21.559162 Response sent (56 bytes) and written to log/22/server.response 05:46:21.559173 special request received, no persistency 05:46:21.559182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 53666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file netrc479 machine a.com login alice password alicespassword default login bob === End of file netrc479 === Start of file server.cmd Testnum 479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind479 ==102758== ==102758== Process terminating with default action of signal 4 (SIGILL) ==102758== Illegal opcode at address 0x4014883 ==102758== at 0x4014883: getparameter (tool_getparam.c:2899) ==102758== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102758== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102758== by 0x4004208: main (tool_main.c:189) === End of file valgrind479 test 0476...[FTP PASV upload ASCII file already using CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind476 ../src/curl -q --output log/10/curl476.out --include --trace-ascii log/10/trace476 --trace-time "ftp://127.0.0.1:32809/476;type=a" -T log/10/test476.txt > log/10/stdout476 2> log/10/stderr476 476: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind476 ../src/curl -q --output log/10/curl476.out --include --trace-ascii log/10/trace476 --trace-time "ftp://127.0.0.1:32809/476;type=a" -T log/10/test476.txt > log/10/stdout476 2> log/10/stderr476 === End of file commands.log === Start of file ftp_server.log 05:46:20.855715 ====> Client connect 05:46:20.855932 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:20.865815 < "USER anonymous" 05:46:20.865874 > "331 We are happy you popped in![CR][LF]" 05:46:20.872469 < "PASS ftp@example.com" 05:46:20.872535 > "230 Welcome you silly person[CR][LF]" 05:46:20.875965 < "PWD" 05:46:20.876021 > "257 "/" is current directory[CR][LF]" 05:46:20.885648 < "EPSV" 05:46:20.885691 ====> Passive DATA channel requested by client 05:46:20.885710 DATA sockfilt for passive data channel starting... 05:46:20.898954 DATA sockfilt for passive data channel started (pid 102567) 05:46:20.899118 DATA sockfilt for passive data channel listens on port 44291 05:46:20.899177 > "229 Entering Passive Mode (|||44291|)[CR][LF]" 05:46:20.899201 Client has been notified that DATA conn will be accepted on port 44291 05:46:20.902292 Client connects to port 44291 05:46:20.902343 ====> Client established passive DATA connection on port 44291 05:46:20.902468 < "TYPE I" 05:46:20.902517 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:20.902757 < "SIZE verifiedserver" 05:46:20.902803 > "213 17[CR][LF]" 05:46:20.902975 < "RETR verifiedserver" 05:46:20.903014 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:20.903122 =====> Closing passive DATA connection... 05:46:20.903147 Server disconnects passive DATA connection 05:46:20.903274 Server disconnected passive DATA connection 05:46:20.903303 DATA sockfilt for passive data channel quits (pid 102567) 05:46:20.905882 DATA sockfilt for passive data channel quit (pid 102567) 05:46:20.905917 =====> Closed passive DATA connection 05:46:20.905955 > "226 File transfer complete[CR][LF]" 05:46:20.950466 < "QUIT" 05:46:20.950524 > "221 bye bye baby[CR][LF]" 05:46:20.951662 MAIN sockfilt said DISC 05:46:20.951696 ====> Client disconnected 05:46:20.951810 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:21.317013 ====> Client connect 05:46:21.317414 Received DATA (on stdin) 05:46:21.317430 > 146 bytes data, server => client 05:46:21.317443 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:21.317454 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:21.317464 '220 \___|\___/|_| \_\_____|\r\n' 05:46:21.327022 < 16 bytes data, client => server 05:46:21.327062 'USER anonymous\r\n' 05:46:21.327348 Received DATA (on stdin) 05:46:21.327363 > 33 bytes data, server => client 05:46:21.327375 '331 We are happy you popped in!\r\n' 05:46:21.333680 < 22 bytes data, client => server 05:46:21.333725 'PASS ftp@example.com\r\n' 05:46:21.334009 Received DATA (on stdin) 05:46:21.334023 > 30 bytes data, server => client 05:46:21.334035 '230 Welcome you silly person\r\n' 05:46:21.337283 < 5 bytes data, client => server 05:46:21.337306 'PWD\r\n' 05:46:21.337489 Received DATA (on stdin) 05:46:21.337503 > 30 bytes data, server => client 05:46:21.337514 '257 "/" is current directory\r\n' 05:46:21.343744 < 6 bytes data, client => server 05:46:21.343776 'EPSV\r\n' 05:46:21.360866 Received DATA (on stdin) 05:46:21.360903 > 39 bytes data, server => client 05:46:21.360915 '229 Entering Passive Mode (|||44291|)\r\n' 05:46:21.361095 < 8 bytes data, client => server 05:46:21.361108 'TYPE I\r\n' 05:46:21.363994 Received DATA (on stdin) 05:46:21.364013 > 33 bytes data, server => client 05:46:21.364025 '200 I modify TYPE as you wanted\r\n' 05:46:21.364127 < 21 bytes data, client => server 05:46:21.364142 'SIZE verifiedserver\r\n' 05:46:21.364269 Received DATA (on stdin) 05:46:21.364281 > 8 bytes data, server => client 05:46:21.364291 '213 17\r\n' 05:46:21.364343 < 21 bytes data, client => server 05:46:21.364361 'RETR verifiedserver\r\n' 05:46:21.364830 Received DATA (on stdin) 05:46:21.364843 > 29 bytes data, server => client 05:46:21.364853 '150 Binary junk (17 bytes).\r\n' 05:46:21.367424 Received DATA (on stdin) 05:46:21.367438 > 28 bytes data, server => client 05:46:21.367449 '226 File transfer complete\r\n' 05:46:21.411753 < 6 bytes data, client => server 05:46:21.411780 'QUIT\r\n' 05:46:21.411995 Received DATA (on stdin) 05:46:21.412007 > 18 bytes data, server => client 05:46:21.412017 '221 bye bye baby\r\n' 05:46:21.413070 ====> Client disconnect 05:46:21.413279 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:20.357844 Running IPv4 version 05:46:20.357931 Listening on port 44291 05:46:20.357990 Wrote pid 102567 to log/10/server/ftp_sockdata.pid 05:46:20.360337 Received PING (on stdin) 05:46:20.360470 Received PORT (on stdin) 05:46:20.363675 ====> Client connect 05:46:20.364616 Received DATA (on stdin) 05:46:20.364629 > 17 bytes data, server => client 05:46:20.364640 'WE ROOLZ: 81057\r\n' 05:46:20.364669 Received DISC (on stdin) 05:46:20.364682 ====> Client forcibly disconnected 05:46:20.364775 Received QUIT (on stdin) 05:46:20.364788 quits 05:46:20.367080 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 476 === End of file server.cmd === Start of file test476.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind475 ../src/curl -q --output log/16/curl475.out --include --trace-ascii log/16/trace475 --trace-time "ftp://127.0.0.1:41717/475;type=a" -T log/16/test475.txt > log/16/stdout475 2> log/16/stderr475 ifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test476.txt === Start of file valgrind476 ==102659== ==102659== Process terminating with default action of signal 4 (SIGILL) ==102659== Illegal opcode at address 0x4014883 ==102659== at 0x4014883: getparameter (tool_getparam.c:2899) ==102659== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102659== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102659== by 0x4004208: main (tool_main.c:189) === End of file valgrind476 test 0475...[FTP PASV upload ASCII file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind475 ../src/curl -q --output log/16/curl475.out --include --trace-ascii log/16/trace475 --trace-time "ftp://127.0.0.1:41717/475;type=a" -T log/16/test475.txt > log/16/stdout475 2> log/16/stderr475 475: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind475 ../src/curl -q --output log/16/curl475.out --include --trace-ascii log/16/trace475 --trace-time "ftp://127.0.0.1:41717/475;type=a" -T log/16/test475.txt > log/16/stdout475 2> log/16/stderr475 === End of file commands.log === Start of file ftp_server.log 05:46:20.827564 ====> Client connect 05:46:20.827758 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:20.828058 < "USER anonymous" 05:46:20.828099 > "331 We are happy you popped in![CR][LF]" 05:46:20.828293 < "PASS ftp@example.com" 05:46:20.828330 > "230 Welcome you silly person[CR][LF]" 05:46:20.828514 < "PWD" 05:46:20.828550 > "257 "/" is current directory[CR][LF]" 05:46:20.828739 < "EPSV" 05:46:20.828770 ====> Passive DATA channel requested by client 05:46:20.828787 DATA sockfilt for passive data channel starting... 05:46:20.835771 DATA sockfilt for passive data channel started (pid 102561) 05:46:20.835920 DATA sockfilt for passive data channel listens on port 45659 05:46:20.835979 > "229 Entering Passive Mode (|||45659|)[CR][LF]" 05:46:20.836003 Client has been notified that DATA conn will be accepted on port 45659 05:46:20.836321 Client connects to port 45659 05:46:20.836355 ====> Client established passive DATA connection on port 45659 05:46:20.836450 < "TYPE I" 05:46:20.836486 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:20.836666 < "SIZE verifiedserver" 05:46:20.836708 > "213 17[CR][LF]" 05:46:20.836884 < "RETR verifiedserver" 05:46:20.836923 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:20.837023 =====> Closing passive DATA connection... 05:46:20.837044 Server disconnects passive DATA connection 05:46:20.837283 Server disconnected passive DATA connection 05:46:20.837314 DATA sockfilt for passive data channel quits (pid 102561) 05:46:20.837593 DATA sockfilt for passive data channel quit (pid 102561) 05:46:20.837624 =====> Closed passive DATA connection 05:46:20.837656 > "226 File transfer complete[CR][LF]" 05:46:20.882496 < "QUIT" 05:46:20.882560 > "221 bye bye baby[CR][LF]" 05:46:20.883940 MAIN sockfilt said DISC 05:46:20.883984 ====> Client disconnected 05:46:20.884107 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:21.288897 ====> Client connect 05:46:21.289235 Received DATA (on stdin) 05:46:21.289249 > 146 bytes data, server => client 05:46:21.289262 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:21.289273 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:21.289282 '220 \___|\___/|_| \_\_____|\r\n' 05:46:21.289358 < 16 bytes data, client => server 05:46:21.289373 'USER anonymous\r\n' 05:46:21.289570 Received DATA (on stdin) 05:46:21.289583 > 33 bytes data, server => client 05:46:21.289593 '331 We are happy you popped in!\r\n' 05:46:21.289652 < 22 bytes data, client => server 05:46:21.289667 'PASS ftp@example.com\r\n' 05:46:21.289798 Received DATA (on stdin) 05:46:21.289811 > 30 bytes data, server => client 05:46:21.289822 '230 Welcome you silly person\r\n' 05:46:21.289880 < 5 bytes data, client => server 05:46:21.289894 'PWD\r\n' 05:46:21.290017 Received DATA (on stdin) 05:46:21.290030 > 30 bytes data, server => client 05:46:21.290041 '257 "/" is current directory\r\n' 05:46:21.290106 < 6 bytes data, client => server 05:46:21.290120 'EPSV\r\n' 05:46:21.297478 Received DATA (on stdin) 05:46:21.297495 > 39 bytes data, server => client 05:46:21.297507 '229 Entering Passive Mode (|||45659|)\r\n' 05:46:21.297698 < 8 bytes data, client => server 05:46:21.297715 'TYPE I\r\n' 05:46:21.297954 Received DATA (on stdin) 05:46:21.297967 > 33 bytes data, server => client 05:46:21.297979 '200 I modify TYPE as you wanted\r\n' 05:46:21.298034 < 21 bytes data, client => server 05:46:21.298048 'SIZE verifiedserver\r\n' 05:46:21.298175 Received DATA (on stdin) 05:46:21.298187 > 8 bytes data, server => client 05:46:21.298197 '213 17\r\n' 05:46:21.298254 < 21 bytes data, client => server 05:46:21.298268 'RETR verifiedserver\r\n' 05:46:21.298509 Received DATA (on stdin) 05:46:21.298522 > 29 bytes data, server => client 05:46:21.298532 '150 Binary junk (17 bytes).\r\n' 05:46:21.299124 Received DATA (on stdin) 05:46:21.299138 > 28 bytes data, server => client 05:46:21.299150 '226 File transfer complete\r\n' 05:46:21.343775 < 6 bytes data, client => server 05:46:21.343793 'QUIT\r\n' 05:46:21.344035 Received DATA (on stdin) 05:46:21.344050 > 18 bytes data, server => client 05:46:21.344062 '221 bye bye baby\r\n' 05:46:21.345342 ====> Client disconnect 05:46:21.345585 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:20.294650 Running IPv4 version 05:46:20.294713 Listening on port 45659 05:46:20.294744 Wrote pid 102561 to log/16/server/ftp_sockdata.pid 05:46:20.297160 Received PING (on stdin) 05:46:20.297275 Received PORT (on stdin) 05:46:20.297736 ====> Client connect 05:46:20.298559 Received DATA (on stdin) 05:46:20.298573 > 17 bytes data, server => client 05:46:20.298583 'WE ROOLZ: 80884\r\n' 05:46:20.298608 Received DISC (on stdin) 05:46:20.298620 ====> Client forcibly disconnected 05:46:20.298789 Received QUIT (on stdin) 05:46:20.298803 quits 05:46:20.298895 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 475 === End of file server.cmd === Start of file test475.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this aCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind478 ../src/curl -q --output log/13/curl478.out --include --trace-ascii log/13/trace478 --trace-time --netrc --netrc-file log/13/netrc478 -x http://127.0.0.1:45359/ http://debbie@github.com/ > log/13/stdout478 2> log/13/stderr478 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind477 ../src/curl -q --output log/7/curl477.out --include --trace-ascii log/7/trace477 --trace-time http://127.0.0.1:39013/477 --max-filesize 5 -L > log/7/stdout477 2> log/7/stderr477 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind482 ../src/curl -q --trace-ascii log/17/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/17/482" > log/17/stdout482 2> log/17/stderr482 line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test475.txt === Start of file valgrind475 ==102604== ==102604== Process terminating with default action of signal 4 (SIGILL) ==102604== Illegal opcode at address 0x4014883 ==102604== at 0x4014883: getparameter (tool_getparam.c:2899) ==102604== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102604== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102604== by 0x4004208: main (tool_main.c:189) === End of file valgrind475 test 0478...[.netrc with multiple accounts for same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind478 ../src/curl -q --output log/13/curl478.out --include --trace-ascii log/13/trace478 --trace-time --netrc --netrc-file log/13/netrc478 -x http://127.0.0.1:45359/ http://debbie@github.com/ > log/13/stdout478 2> log/13/stderr478 478: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 478 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind478 ../src/curl -q --output log/13/curl478.out --include --trace-ascii log/13/trace478 --trace-time --netrc --netrc-file log/13/netrc478 -x http://127.0.0.1:45359/ http://debbie@github.com/ > log/13/stdout478 2> log/13/stderr478 === End of file commands.log === Start of file http_server.log 05:46:21.491252 ====> Client connect 05:46:21.491288 accept_connection 3 returned 4 05:46:21.491307 accept_connection 3 returned 0 05:46:21.491323 Read 93 bytes 05:46:21.491333 Process 93 bytes request 05:46:21.491347 Got request: GET /verifiedserver HTTP/1.1 05:46:21.491357 Are-we-friendly question received 05:46:21.491384 Wrote request (93 bytes) input to log/13/server.input 05:46:21.491403 Identifying ourselves as friends 05:46:21.491468 Response sent (56 bytes) and written to log/13/server.response 05:46:21.491481 special request received, no persistency 05:46:21.491491 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 58832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file netrc478 machine github.com password weird password firstone login daniel machine github.com machine github.com login debbie machine github.com password weird password "second\r" login debbie === End of file netrc478 === Start of file server.cmd Testnum 478 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind478 ==102640== ==102640== Process terminating with default action of signal 4 (SIGILL) ==102640== Illegal opcode at address 0x4014883 ==102640== at 0x4014883: getparameter (tool_getparam.c:2899) ==102640== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102640== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102640== by 0x4004208: main (tool_main.c:189) === End of file valgrind478 test 0477...[HTTP GET with maximum filesize with a redirect sending data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind477 ../src/curl -q --output log/7/curl477.out --include --trace-ascii log/7/trace477 --trace-time http://127.0.0.1:39013/477 --max-filesize 5 -L > log/7/stdout477 2> log/7/stderr477 477: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 477 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind477 ../src/curl -q --output log/7/curl477.out --include --trace-ascii log/7/trace477 --trace-time http://127.0.0.1:39013/477 --max-filesize 5 -L > log/7/stdout477 2> log/7/stderr477 === End of file commands.log === Start of file http_server.log 05:46:20.455962 ====> Client connect 05:46:20.455994 accept_connection 3 returned 4 05:46:20.456009 accept_connection 3 returned 0 05:46:20.456022 Read 93 bytes 05:46:20.456031 Process 93 bytes request 05:46:20.456045 Got request: GET /verifiedserver HTTP/1.1 05:46:20.456054 Are-we-friendly question received 05:46:20.456077 Wrote request (93 bytes) input to log/7/server.input 05:46:20.456092 Identifying ourselves as friends 05:46:20.456145 Response sent (56 bytes) and written to log/7/server.response 05:46:20.456154 special request received, no persistency 05:46:20.456162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 49936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 477 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind477 ==102633== ==102633== Process terminating with default action of signal 4 (SIGILL) ==102633== Illegal opcode at address 0x4014883 ==102633== at 0x4014883: getparameter (tool_getparam.c:2899) ==102633== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102633== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102633== by 0x4004208: main (tool_main.c:189) === End of file valgrind477 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind488 ../src/curl -q --output log/20/curl488.out --include --trace-ascii log/20/trace488 --trace-time --output-dir log/20 --url @- log/20/stdout488 2> log/20/stderr488 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind487 ../src/curl -q --output log/15/curl487.out --include --trace-ascii log/15/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:43413/{{what:64dec}}/487" -g > log/15/stdout487 2> log/15/stderr487 test 0482...[--remove-on-error with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind482 ../src/curl -q --trace-ascii log/17/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/17/482" > log/17/stdout482 2> log/17/stderr482 482: stderr FAILED: --- log/17/check-expected 2026-03-14 05:46:23.707949372 +0000 +++ log/17/check-generated 2026-03-14 05:46:23.707949372 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/17/ directory after test 482 === Start of file check-expected curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind482 ../src/curl -q --trace-ascii log/17/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/17/482" > log/17/stdout482 2> log/17/stderr482 === End of file commands.log === Start of file http_server.log 05:46:21.927067 ====> Client connect 05:46:21.927109 accept_connection 3 returned 4 05:46:21.927127 accept_connection 3 returned 0 05:46:21.927143 Read 93 bytes 05:46:21.927154 Process 93 bytes request 05:46:21.927168 Got request: GET /verifiedserver HTTP/1.1 05:46:21.927177 Are-we-friendly question received 05:46:21.927203 Wrote request (93 bytes) input to log/17/server.input 05:46:21.927223 Identifying ourselves as friends 05:46:21.927295 Response sent (56 bytes) and written to log/17/server.response 05:46:21.927307 special request received, no persistency 05:46:21.927316 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 44176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind482 ==102984== ==102984== Process terminating with default action of signal 4 (SIGILL) ==102984== Illegal opcode at address 0x4014883 ==102984== at 0x4014883: getparameter (tool_getparam.c:2899) ==102984== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==102984== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==102984== by 0x4004208: main (tool_main.c:189) === End of file valgrind482 test 0488...[Download two URLs provided on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind488 ../src/curl -q --output log/20/curl488.out --include --trace-ascii log/20/trace488 --trace-time --output-dir log/20 --url @- log/20/stdout488 2> log/20/stderr488 488: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 488 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind488 ../src/curl -q --output log/20/curl488.out --include --trace-ascii log/20/trace488 --trace-time --output-dir log/20 --url @- log/20/stdout488 2> log/20/stderr488 === End of file commands.log === Start of file http_server.log 05:46:21.315302 ====> Client connect 05:46:21.315330 accept_connection 3 returned 4 05:46:21.315344 accept_connection 3 returned 0 05:46:21.315357 Read 93 bytes 05:46:21.315366 Process 93 bytes request 05:46:21.315378 Got request: GET /verifiedserver HTTP/1.1 05:46:21.315387 Are-we-friendly question received 05:46:21.315409 Wrote request (93 bytes) input to log/20/server.input 05:46:21.315423 Identifying ourselves as friends 05:46:21.315473 Response sent (56 bytes) and written to log/20/server.response 05:46:21.315482 special request received, no persistency 05:46:21.315490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 488 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:38929/a http://127.0.0.1:38929/b === End of file stdin-for-488 === Start of file valgrind488 ==103274== ==103274== Process terminating with default action of signal 4 (SIGILL) ==103274== Illegal opcode at address 0x4014883 ==103274== at 0x4014883: getparameter (tool_getparam.c:2899) ==103274== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103274== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103274== by 0x4004208: main (tool_main.c:189) === End of file valgrind488 test 0487...[Variable using 64dec with bad base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind487 ../src/curl -q --output log/15/curl487.out --include --trace-ascii log/15/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:43413/{{what:64dec}}/487" -g > log/15/stdout487 2> log/15/stderr487 487: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind487 ../src/curl -q --output log/15/curl487.out --include --trace-ascii log/15/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:43413/{{what:64dec}}/487" -g > log/15/stdout487 2> log/15/stderr487 === End of file commands.log === Start of file http_server.log 05:46:22.277059 ====> Client connect 05:46:22.277094 accept_connection 3 returned 4 05:46:22.277111 accept_connection 3 returned 0 05:46:22.277125 Read 93 bytes 05:46:22.277135 Process 93 bytes request 05:46:22.277148 Got request: GET /verifiedserver HTTP/1.1 05:46:22.277157 Are-we-friendly question received 05:46:22.277182 Wrote request (93 bytes) input to log/15/server.input 05:46:22.277198 Identifying ourselves as friends 05:46:22.277264 Response sent (56 bytes) and written to log/15/server.response 05:46:22.277276 special request received, no persistency 05:46:22.277284 ====> Client disconnect 0 === End of file http_server.log === Start of file httpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind484 ../src/curl -q --output log/12/curl484.out --include --trace-ascii log/12/trace484 --trace-time http://example.com/484 --etag-compare log/12/etag484 --etag-save log/12/etag484 --url http://example.net/fooo > log/12/stdout484 2> log/12/stderr484 _verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 42754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind487 ==103251== ==103251== Process terminating with default action of signal 4 (SIGILL) ==103251== Illegal opcode at address 0x4014883 ==103251== at 0x4014883: getparameter (tool_getparam.c:2899) ==103251== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103251== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103251== by 0x4004208: main (tool_main.c:189) === End of file valgrind487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind485 ../src/curl -q --output log/21/curl485.out --include --trace-ascii log/21/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/21/etag485 > log/21/stdout485 2> log/21/stderr485 test 0484...[Use --etag-compare and -save with more than one URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind484 ../src/curl -q --output log/12/curl484.out --include --trace-ascii log/12/trace484 --trace-time http://example.com/484 --etag-compare log/12/etag484 --etag-save log/12/etag484 --url http://example.net/fooo > log/12/stdout484 2> log/12/stderr484 484: stderr FAILED: --- log/12/check-expected 2026-03-14 05:46:23.917949371 +0000 +++ log/12/check-generated 2026-03-14 05:46:23.917949371 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --url: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/12/ directory after test 484 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --url: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind484 ../src/curl -q --output log/12/curl484.out --include --trace-ascii log/12/trace484 --trace-time http://example.com/484 --etag-compare log/12/etag484 --etag-save log/12/etag484 --url http://example.net/fooo > log/12/stdout484 2> log/12/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==103042== ==103042== Process terminating with default action of signal 4 (SIGILL) ==103042== Illegal opcode at address 0x4014883 ==103042== at 0x4014883: getparameter (tool_getparam.c:2899) ==103042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103042== by 0x4004208: main (tool_main.c:189) === End of file valgrind484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind483 ../src/curl -q --output log/6/curl483.out --include --trace-ascii log/6/trace483 --trace-time http://127.0.0.1:33035/483 -c log/6/c483 > log/6/stdout483 2> log/6/stderr483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind490 ../src/curl -q --output log/8/curl490.out --include --trace-ascii log/8/trace490 --trace-time http://127.0.0.1:45623/490 -T '{log/8/in490,log/8/in490}' > log/8/stdout490 2> log/8/stderr490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind489 ../src/curl -q --output log/4/curl489.out --include --trace-ascii log/4/trace489 --trace-time --output-dir log/4 --url @log/4/urls > log/4/stdout489 2> log/4/stderr489 test 0485...[Use --etag-compare and -save with more than one URL, URLs specified first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind485 ../src/curl -q --output log/21/curl485.out --include --trace-ascii log/21/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/21/etag485 > log/21/stdout485 2> log/21/stderr485 485: stderr FAILED: --- log/21/check-expected 2026-03-14 05:46:24.064616038 +0000 +++ log/21/check-generated 2026-03-14 05:46:24.064616038 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --etag-save: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/21/ directory after test 485 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --etag-save: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind485 ../src/curl -q --output log/21/curl485.out --include --trace-ascii log/21/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/21/etag485 > log/21/stdout485 2> log/21/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==103113== ==103113== Process terminating with default action of signal 4 (SIGILL) ==103113== Illegal opcode at address 0x4014883 ==103113== at 0x4014883: getparameter (tool_getparam.c:2899) ==103113== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103113== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103113== by 0x4004208: main (tool_main.c:189) === End of file valgrind485 test 0483...[HTTP cookies with long expire dates] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind483 ../src/curl -q --output log/6/curl483.out --include --trace-ascii log/6/trace483 --trace-time http://127.0.0.1:33035/483 -c log/6/c483 > log/6/stdout483 2> log/6/stderr483 483: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind483 ../src/curl -q --output log/6/curl483.out --include --trace-ascii log/6/trace483 --trace-time http://127.0.0.1:33035/483 -c log/6/c483 > log/6/stdout483 2> log/6/stderr483 === End of file commands.log === Start of file http_server.log 05:46:21.041084 ====> Client connect 05:46:21.041130 accept_connection 3 returned 4 05:46:21.041149 accept_connection 3 returned 0 05:46:21.050563 Read 93 bytes 05:46:21.050595 Process 93 bytes request 05:46:21.050612 Got request: GET /verifiedserver HTTP/1.1 05:46:21.050622 Are-we-friendly question received 05:46:21.050685 Wrote request (93 bytes) input to log/6/server.input 05:46:21.050712 Identifying ourselves as friends 05:46:21.050785 Response sent (56 bytes) and written to log/6/server.response 05:46:21.050798 special request received, no persistency 05:46:21.050807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 38912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind483 ==103052== ==103052== Process terminating with default action of signal 4 (SIGILL) ==103052== Illegal opcode at address 0x4014883 ==103052== at 0x4014883: getparameter (tool_getparam.c:2899) ==103052== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103052== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103052== by 0x4004208: main (tool_main.c:189) === End of file valgrind483 test 0490...[Two globbed HTTP PUTs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind490 ../src/curl -q --output log/8/curl490.out --include --trace-ascii log/8/trace490 --trace-time http://127.0.0.1:45623/490 -T '{log/8/in490,log/8/in490}' > log/8/stdout490 2> log/8/stderr490 490: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 490 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind490 ../src/curl -q --output log/8/curl490.out --include --trace-ascii log/8/trace490 --trace-time http://127.0.0.1:45623/490 -T '{log/8/in490,log/8/in490}' > log/8/stdout490 2> log/8/stderr490 === End of file commands.log === Start of file http_server.log 05:46:21.463715 ====> Client connect 05:46:21.463755 accept_connection 3 returned 4 05:46:21.463775 accept_connection 3 returned 0 05:46:21.463791 Read 93 bytes 05:46:21.463802 Process 93 bytes request 05:46:21.463815 Got request: GET /verifiedserver HTTP/1.1 05:46:21.463824 Are-we-friendly question received 05:46:21.463852 Wrote request (93 bytes) input to log/8/server.input 05:46:21.463870 Identifying ourselves as friends 05:46:21.463941 Response sent (56 bytes) and written to log/8/server.response 05:46:21.463954 special request received, no persistency 05:46:21.463963 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 55382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file in490 surprise === End of file in490 === Start of file server.cmd Testnum 490 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind490 ==103444== ==103444== Process terminating with default action of signal 4 (SIGILL) ==103444== Illegal opcode at address 0x4014883 ==103444== at 0x4014883: getparameter (tool_getparam.c:2899) ==103444== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103444== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103444== by 0x4004208: main (tool_main.c:189) === End of file valgrind490 test 0489...[Download two URLs provided in a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind489 ../src/curl -q --output log/4/curl489.oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind486 ../src/curl -q --output log/5/curl486.out --include --trace-ascii log/5/trace486 --trace-time --netrc --netrc-file log/5/netrc486 -L -x http://127.0.0.1:35621/ http://a.com/ > log/5/stdout486 2> log/5/stderr486 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind480 ../src/curl -q --output log/2/curl480.out --include --trace-ascii log/2/trace480 --trace-time --netrc --netrc-file log/2/netrc480 pop3://127.0.0.1:34305/480 > log/2/stdout480 2> log/2/stderr480 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind491 ../src/curl -q --output log/23/curl491.out --include --trace-ascii log/23/trace491 --trace-time http://127.0.0.1:33217/491 -T '{log/23/in491,log/23/bad491}' > log/23/stdout491 2> log/23/stderr491 ut --include --trace-ascii log/4/trace489 --trace-time --output-dir log/4 --url @log/4/urls > log/4/stdout489 2> log/4/stderr489 489: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 489 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind489 ../src/curl -q --output log/4/curl489.out --include --trace-ascii log/4/trace489 --trace-time --output-dir log/4 --url @log/4/urls > log/4/stdout489 2> log/4/stderr489 === End of file commands.log === Start of file http_server.log 05:46:21.437049 ====> Client connect 05:46:21.437085 accept_connection 3 returned 4 05:46:21.437103 accept_connection 3 returned 0 05:46:21.437118 Read 93 bytes 05:46:21.437127 Process 93 bytes request 05:46:21.437140 Got request: GET /verifiedserver HTTP/1.1 05:46:21.437150 Are-we-friendly question received 05:46:21.437175 Wrote request (93 bytes) input to log/4/server.input 05:46:21.437191 Identifying ourselves as friends 05:46:21.437262 Response sent (56 bytes) and written to log/4/server.response 05:46:21.437273 special request received, no persistency 05:46:21.437282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file urls http://127.0.0.1:40253/a http://127.0.0.1:40253/b === End of file urls === Start of file valgrind489 ==103449== ==103449== Process terminating with default action of signal 4 (SIGILL) ==103449== Illegal opcode at address 0x4014883 ==103449== at 0x4014883: getparameter (tool_getparam.c:2899) ==103449== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103449== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103449== by 0x4004208: main (tool_main.c:189) === End of file valgrind489 test 0486...[.netrc with redirect and "default" with no password or login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind486 ../src/curl -q --output log/5/curl486.out --include --trace-ascii log/5/trace486 --trace-time --netrc --netrc-file log/5/netrc486 -L -x http://127.0.0.1:35621/ http://a.com/ > log/5/stdout486 2> log/5/stderr486 486: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 486 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind486 ../src/curl -q --output log/5/curl486.out --include --trace-ascii log/5/trace486 --trace-time --netrc --netrc-file log/5/netrc486 -L -x http://127.0.0.1:35621/ http://a.com/ > log/5/stdout486 2> log/5/stderr486 === End of file commands.log === Start of file http_server.log 05:46:22.270409 ====> Client connect 05:46:22.270461 accept_connection 3 returned 4 05:46:22.270481 accept_connection 3 returned 0 05:46:22.270496 Read 93 bytes 05:46:22.270505 Process 93 bytes request 05:46:22.270519 Got request: GET /verifiedserver HTTP/1.1 05:46:22.270528 Are-we-friendly question received 05:46:22.270550 Wrote request (93 bytes) input to log/5/server.input 05:46:22.270567 Identifying ourselves as friends 05:46:22.270646 Response sent (56 bytes) and written to log/5/server.response 05:46:22.270655 special request received, no persistency 05:46:22.270663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 38182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file netrc486 machine a.com login alice password alicespassword default === End of file netrc486 === Start of file server.cmd Testnum 486 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind486 ==103252== ==103252== Process terminating with default action of signal 4 (SIGILL) ==103252== Illegal opcode at address 0x4014883 ==103252== at 0x4014883: getparameter (tool_getparam.c:2899) ==103252== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103252== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103252== by 0x4004208: main (tool_main.c:189) === End of file valgrind486 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/pop3_server.pid" --logfile "log/2/pop3_server.log" --logdir "log/2" --portfile "log/2/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34305 (log/2/server/pop3_server.port) RUN: POP3 server is PID 102651 port 34305 * pid pop3 => 102651 102651 test 0480...[Reject .netrc with credentials using CRLF for POP3] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind480 ../src/curl -q --output log/2/curl480.out --include --trace-ascii log/2/trace480 --trace-time --netrc --netrc-file log/2/netrc480 pop3://127.0.0.1:34305/480 > log/2/stdout480 2> log/2/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/2/ directory after test 480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind480 ../src/curl -q --output log/2/curl480.out --include --trace-ascii log/2/trace480 --trace-time --netrc --netrc-file log/2/netrc480 pop3://127.0.0.1:34305/480 > log/2/stdout480 2> log/2/stderr480 === End of file commands.log === Start of file netrc480 machine 127.0.0.1 login alice password "password\r\ncommand" === End of file netrc480 === Start of file pop3_server.log 05:46:21.128312 POP3 server listens on port IPv4/34305 05:46:21.128432 logged pid 102651 in log/2/server/pop3_server.pid 05:46:21.128464 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:46:21.589301 Running IPv4 version 05:46:21.589419 Listening on port 34305 05:46:21.589465 Wrote pid 102738 to log/2/server/pop3_sockfilt.pid 05:46:21.589496 Wrote port 34305 to log/2/server/pop3_server.port 05:46:21.589665 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 480 === End of file server.cmd === Start of file valgrind480 ==103503== ==103503== Process terminating with default action of signal 4 (SIGILL) ==103503== Illegal opcode at address 0x4014883 ==103503== at 0x4014883: getparameter (tool_geCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind493 ../src/curl -q --include --trace-ascii log/14/trace493 --trace-time -x http://127.0.0.1:35549 http://this.hsts.example/493 --hsts log/14/input493 -w '%{url_effective}\n' > log/14/stdout493 2> log/14/stderr493 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind494 ../src/curl -q --output log/9/curl494.out --include --trace-ascii log/9/trace494 --trace-time --netrc --netrc-file log/9/netrc494 ftp://127.0.0.1:39835/494 > log/9/stdout494 2> log/9/stderr494 tparam.c:2899) ==103503== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103503== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103503== by 0x4004208: main (tool_main.c:189) === End of file valgrind480 test 0491...[Two globbed HTTP PUTs, the second upload file is missing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind491 ../src/curl -q --output log/23/curl491.out --include --trace-ascii log/23/trace491 --trace-time http://127.0.0.1:33217/491 -T '{log/23/in491,log/23/bad491}' > log/23/stdout491 2> log/23/stderr491 491: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 491 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind491 ../src/curl -q --output log/23/curl491.out --include --trace-ascii log/23/trace491 --trace-time http://127.0.0.1:33217/491 -T '{log/23/in491,log/23/bad491}' > log/23/stdout491 2> log/23/stderr491 === End of file commands.log === Start of file http_server.log 05:46:22.420406 ====> Client connect 05:46:22.420442 accept_connection 3 returned 4 05:46:22.420460 accept_connection 3 returned 0 05:46:22.420478 Read 93 bytes 05:46:22.420488 Process 93 bytes request 05:46:22.420505 Got request: GET /verifiedserver HTTP/1.1 05:46:22.420514 Are-we-friendly question received 05:46:22.420544 Wrote request (93 bytes) input to log/23/server.input 05:46:22.420564 Identifying ourselves as friends 05:46:22.420638 Response sent (56 bytes) and written to log/23/server.response 05:46:22.420651 special request received, no persistency 05:46:22.420659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 53470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file in491 surprise === End of file in491 === Start of file server.cmd Testnum 491 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind491 ==103442== ==103442== Process terminating with default action of signal 4 (SIGILL) ==103442== Illegal opcode at address 0x4014883 ==103442== at 0x4014883: getparameter (tool_getparam.c:2899) ==103442== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103442== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103442== by 0x4004208: main (tool_main.c:189) === End of file valgrind491 test 0494...[skip 'macdef' when parsing netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind494 ../src/curl -q --output log/9/curl494.out --include --trace-ascii log/9/trace494 --trace-time --netrc --netrc-file log/9/netrc494 ftp://127.0.0.1:39835/494 > log/9/stdout494 2> log/9/stderr494 494: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind494 ../src/curl -q --output log/9/curl494.out --include --trace-ascii log/9/trace494 --trace-time --netrc --netrc-file log/9/netrc494 ftp://127.0.0.1:39835/494 > log/9/stdout494 2> log/9/stderr494 === End of file commands.log === Start of file ftp_server.log 05:46:22.786955 ====> Client connect 05:46:22.787152 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:22.789148 < "USER anonymous" 05:46:22.789197 > "331 We are happy you popped in![CR][LF]" 05:46:22.789347 < "PASS ftp@example.com" 05:46:22.789370 > "230 Welcome you silly person[CR][LF]" 05:46:22.789497 < "PWD" 05:46:22.789524 > "257 "/" is current directory[CR][LF]" 05:46:22.789663 < "EPSV" 05:46:22.789685 ====> Passive DATA channel requested by client 05:46:22.789698 DATA sockfilt for passive data channel starting... 05:46:22.796531 DATA sockfilt for passive data channel started (pid 103844) 05:46:22.796666 DATA sockfilt for passive data channel listens on port 43749 05:46:22.796717 > "229 Entering Passive Mode (|||43749|)[CR][LF]" 05:46:22.796739 Client has been notified that DATA conn will be accepted on port 43749 05:46:22.808907 Client connects to port 43749 05:46:22.808982 ====> Client established passive DATA connection on port 43749 05:46:22.809093 < "TYPE I" 05:46:22.809134 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:22.809360 < "SIZE verifiedserver" 05:46:22.809394 > "213 17[CR][LF]" 05:46:22.809521 < "RETR verifiedserver" 05:46:22.809551 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:22.809634 =====> Closing passive DATA connection... 05:46:22.809648 Server disconnects passive DATA connection 05:46:22.809804 Server disconnected passive DATA connection 05:46:22.809826 DATA sockfilt for passive data channel quits (pid 103844) 05:46:22.810033 DATA sockfilt for passive data channel quit (pid 103844) 05:46:22.810061 =====> Closed passive DATA connection 05:46:22.810093 > "226 File transfer complete[CR][LF]" 05:46:22.852734 < "QUIT" 05:46:22.852803 > "221 bye bye baby[CR][LF]" 05:46:22.854222 MAIN sockfilt said DISC 05:46:22.854254 ====> Client disconnected 05:46:22.854342 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:22.248267 ====> Client connect 05:46:22.248637 Received DATA (on stdin) 05:46:22.248656 > 146 bytes data, server => client 05:46:22.248668 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:22.248679 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:22.248689 '220 \___|\___/|_| \_\_____|\r\n' 05:46:22.250393 < 16 bytes data, client => server 05:46:22.250422 'USER anonymous\r\n' 05:46:22.250661 Received DATA (on stdin) 05:46:22.250672 > 33 bytes data, server => client 05:46:22.250682 '331 We are happy you popped in!\r\n' 05:46:22.250729 < 22 bytes data, client => server 05:46:22.250738 'PASS ftp@example.com\r\n' 05:46:22.250827 Received DATA (on stdin) 05:46:22.250837 > 30 bytes data, server => client 05:46:22.250846 '230 Welcome you silly person\r\n' 05:46:22.250886 < 5 bytes data, client => server 05:46:22.250895 'PWD\r\n' 05:46:22.250986 Received DATA (on stdin) 05:46:22.250995 > 30 bytes data, server => client 05:46:22.251004 '257 "/" is current directory\r\n' 05:46:22.251053 < 6 bytes data, client => server 05:46:22.251062 'EPSV\r\n' 05:46:22.258210 Received DATA (on stdin) 05:46:22.258228 > 39 bytes data, server => client 05:46:22.258239 '229 Entering Passive Mode (|||43749|)\r\n' 05:46:22.258403 < 8 bytes data, client => server 05:46:22.258418 'TYPE I\r\n' 05:46:22.270604 Received DATA (on stdin) 05:46:22.270623 > 33 bytes data, server => client 05:46:22.270633 '200 I modify TYPE as you wanted\r\n' 05:46:22.270743 < 21 bytes data, client => server 05:46:22.270753 'SIZE verifiedserver\r\n' 05:46:22.270852 Received DATA (on stdin) 05:46:22.270861 > 8 bytes data, server => client 05:46:22.270870 '213 17\r\n' 05:46:22.270911 < 21 bytes data, client => server 05:46:22.270920 'RETR verifiedserver\r\n' 05:46:22.271109 Received DATA (on stdin) 05:46:22.271119 > 29 bytes data, server => client 05:46:22.271129 '150 Binary junk (17 bytes).\r\n' 05:46:22.271560 Received DATA (on stdin) 05:46:22.271573 > 28 bytes data, server => client 05:46:22.271584 '226 File transfer complete\r\n' 05:46:22.313957 < 6 bytes data, client => server 05:46:22.313994 'QUIT\r\n' 05:46:22.314279 Received DATA (on stdin) 05:46:22.314293 > 18 bytes data, server => client 05:46:22.314304 '221 bye bye baby\r\n' 05:46:22.315628 ====> Client disconnect 05:46:22.315808 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:22.257639 Running IPv4 version 05:46:22.257707 Listening on port 43749 05:46:22.257771 Wrote pid 103844 to log/9/server/ftp_sockdata.pid 05:46:22.257933 Received PING (on stdin) 05:46:22.258028 Received PORT (on stdin) 05:46:22.258438 ====> Client connect 05:46:22.271156 Received DATA (on stdin) 05:46:22.271174 > 17 bytes data, server => client 05:46:22.271183 'WE ROOLZ: 81042\r\n' 05:46:22.271206 Received DISC (on stdin) 05:46:22.271217 ====> Client forcibly disconnected 05:46:22.271290 Received QUIT (on stdin) 05:46:22.271298 quits 05:46:22.271351 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc494 macdef testmacro bin cd default cd login put login.bin cd .. cd password put password.bin quit machine 127.0.0.1 login user1 password passwd1 === End of file netrc494 === Start of file server.cmd Testnum 494 === End of file server.cmd === Start of file valgrind494 ==103937== ==103937== Process terminating with default action of signal 4 (SIGILL) ==103937== Illegal opcode at address 0x4014883 ==103937== at 0x4014883: getparameter (tool_getparam.c:2899) ==103937== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103937== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103937== by 0x4004208: main (tool_main.c:189) === End of file valgrind494 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind495 ../src/curl -q --output log/18/curl495.out --include --trace-ascii log/18/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:39913/495 --netrc-optional > log/18/stdout495 2> log/18/stderr495 CMD (0): ./libtest/libtests lib518 http://127.0.0.1:33885/518 > log/9/stdout518 2> log/9/stderr518 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind496 ../src/curl -q --output log/11/curl496.out --include --trace-ascii log/11/trace496 --trace-time 0 -Z -Tz > log/11/stdout496 2> log/11/stderr496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46741/500 log/10/ip500 > log/10/stdout500 2> log/10/stderr500 test 0493...[HSTS and %{url_effective} after upgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind493 ../src/curl -q --include --trace-ascii log/14/trace493 --trace-time -x http://127.0.0.1:35549 http://this.hsts.example/493 --hsts log/14/input493 -w '%{url_effective}\n' > log/14/stdout493 2> log/14/stderr493 493: stdout FAILED: --- log/14/check-expected 2026-03-14 05:46:24.837949371 +0000 +++ log/14/check-generated 2026-03-14 05:46:24.837949371 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/493[LF] == Contents of files in the log/14/ directory after test 493 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/493[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind493 ../src/curl -q --include --trace-ascii log/14/trace493 --trace-time -x http://127.0.0.1:35549 http://this.hsts.example/493 --hsts log/14/input493 -w '%{url_effective}\n' > log/14/stdout493 2> log/14/stderr493 === End of file commands.log === Start of file http_server.log 05:46:23.060408 ====> Client connect 05:46:23.060457 accept_connection 3 returned 4 05:46:23.060477 accept_connection 3 returned 0 05:46:23.060495 Read 93 bytes 05:46:23.060505 Process 93 bytes request 05:46:23.060518 Got request: GET /verifiedserver HTTP/1.1 05:46:23.060528 Are-we-friendly question received 05:46:23.060559 Wrote request (93 bytes) input to log/14/server.input 05:46:23.060579 Identifying ourselves as friends 05:46:23.060675 Response sent (56 bytes) and written to log/14/server.response 05:46:23.060687 special request received, no persistency 05:46:23.060697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 49424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file input493 .hsts.example "99991001 04:47:41" === End of file input493 === Start of file server.cmd Testnum 493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind493 ==103726== ==103726== Process terminating with default action of signal 4 (SIGILL) ==103726== Illegal opcode at address 0x4014883 ==103726== at 0x4014883: getparameter (tool_getparam.c:2899) ==103726== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103726== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103726== by 0x4004208: main (tool_main.c:189) === End of file valgrind493 test 0495...[user+password in URL with optional netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind495 ../src/curl -q --output log/18/curl495.out --include --trace-ascii log/18/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:39913/495 --netrc-optional > log/18/stdout495 2> log/18/stderr495 495: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind495 ../src/curl -q --output log/18/curl495.out --include --trace-ascii log/18/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:39913/495 --netrc-optional > log/18/stdout495 2> log/18/stderr495 === End of file commands.log === Start of file http_server.log 05:46:22.252391 ====> Client connect 05:46:22.252419 accept_connection 3 returned 4 05:46:22.252434 accept_connection 3 returned 0 05:46:22.252447 Read 93 bytes 05:46:22.252456 Process 93 bytes request 05:46:22.252470 Got request: GET /verifiedserver HTTP/1.1 05:46:22.252478 Are-we-friendly question received 05:46:22.252500 Wrote request (93 bytes) input to log/18/server.input 05:46:22.252515 Identifying ourselves as friends 05:46:22.252565 Response sent (56 bytes) and written to log/18/server.response 05:46:22.252574 special request received, no persistency 05:46:22.252583 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 36134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind495 ==103868== ==103868== Process terminating with default action of signal 4 (SIGILL) ==103868== Illegal opcode at address 0x4014883 ==103868== at 0x4014883: getparameter (tool_getparam.c:2899) ==103868== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103868== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103868== by 0x4004208: main (tool_main.c:189) === End of file valgrind495 prechecked ./libtest/libtests lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/libtests lib518 http://127.0.0.1:33885/518 > log/9/stdout518 2> log/9/stderr518 valgrind SKIPPED --pd---e--- OK (493 out of 1773, remaining: 02:46, took 0.246s, duration: 01:04) test 0500...[simple libcurl HTTP GET tool] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46741/500 log/10/ip500 > log/10/stdout500 2> log/10/stderr500 500: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 500 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46741/500 log/10/ip500 > log/10/stdout500 2> log/10/stderr500 === End of file commands.log === Start of file http_server.log 05:46:22.763246 ====> Client connect 05:46:22.763282 accept_connection 3 returned 4 05:46:22.763299 accept_connection 3 returned 0 05:46:22.763313 Read 93 bytes 05:46:22.763324 Process 93 bytes request 05:46:22.763337 Got request: GET /verifiedserver HTTP/1.1 05:46:22.763347 Are-we-friendly question received 05:46:22.763370 Wrote request (93 bytes) input to log/10/server.input 05:46:22.763387 IdentifCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/7/stdout504 2> log/7/stderr504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind492 ../src/curl -q --output log/24/curl492.out --include --trace-ascii log/24/trace492 --trace-time 'http://127.0.0.1:33593/{one,two}/' -T '{log/24/first492,log/24/second492}' -H "Testno: 492" > log/24/stdout492 2> log/24/stderr492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind498 ../src/curl -q --output log/19/curl498.out --include --trace-ascii log/19/trace498 --trace-time http://127.0.0.1:35701/498 --max-redirs 400 --location > log/19/stdout498 2> log/19/stderr498 ying ourselves as friends 05:46:22.763441 Response sent (56 bytes) and written to log/10/server.response 05:46:22.763450 special request received, no persistency 05:46:22.763457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 60646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:46741/500 === End of file stderr500 === Start of file valgrind500 ==104203== ==104203== Process terminating with default action of signal 4 (SIGILL) ==104203== Illegal opcode at address 0x51D8933 ==104203== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104203== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104203== by 0x51D8933: Curl_open (url.c:503) ==104203== by 0x514E50F: curl_easy_init (easy.c:350) ==104203== by 0x4009BC1: test_lib500.lto_priv.0 (lib500.c:65) ==104203== by 0x40034B5: main (first.c:279) === End of file valgrind500 test 0496...[parallel upload missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind496 ../src/curl -q --output log/11/curl496.out --include --trace-ascii log/11/trace496 --trace-time 0 -Z -Tz > log/11/stdout496 2> log/11/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/11/ directory after test 496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind496 ../src/curl -q --output log/11/curl496.out --include --trace-ascii log/11/trace496 --trace-time 0 -Z -Tz > log/11/stdout496 2> log/11/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==103791== ==103791== Process terminating with default action of signal 4 (SIGILL) ==103791== Illegal opcode at address 0x4014883 ==103791== at 0x4014883: getparameter (tool_getparam.c:2899) ==103791== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103791== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103791== by 0x4004208: main (tool_main.c:189) === End of file valgrind496 test 0504...[simple multi through local proxy without listener] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/7/stdout504 2> log/7/stderr504 libtests returned 132, when expecting 41 504: exit FAILED == Contents of files in the log/7/ directory after test 504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/7/stdout504 2> log/7/stderr504 === End of file commands.log === Start of file server.cmd Testnum 504 === End of file server.cmd === Start of file stderr504 URL: http://127.0.0.1:47/504 === End of file stderr504 === Start of file valgrind504 ==104317== ==104317== Process terminating with default action of signal 4 (SIGILL) ==104317== Illegal opcode at address 0x51D8933 ==104317== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104317== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104317== by 0x51D8933: Curl_open (url.c:503) ==104317== by 0x514E50F: curl_easy_init (easy.c:350) ==104317== by 0x4062F75: test_lib504.part.0.lto_priv.0 (lib504.c:45) ==104317== by 0x40034B5: main (first.c:279) === End of file valgrind504 test 0492...[Two globbed HTTP PUTs to two globbed URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind492 ../src/curl -q --output log/24/curl492.out --include --trace-ascii log/24/trace492 --trace-time 'http://127.0.0.1:33593/{one,two}/' -T '{log/24/first492,log/24/second492}' -H "Testno: 492" > log/24/stdout492 2> log/24/stderr492 492: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind492 ../src/curl -q --output log/24/curl492.out --include --trace-ascii log/24/trace492 --trace-time 'http://127.0.0.1:33593/{one,two}/' -T '{log/24/first492,log/24/second492}' -H "Testno: 492" > log/24/stdout492 2> log/24/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 05:46:22.994343 ====> Client connect 05:46:22.994380 accept_connection 3 returned 4 05:46:22.994396 accept_connection 3 returned 0 05:46:22.997091 Read 93 bytes 05:46:22.997113 Process 93 bytes request 05:46:22.997127 Got request: GET /verifiedserver HTTP/1.1 05:46:22.997136 Are-we-friendly question received 05:46:22.997172 Wrote request (93 bytes) input to log/24/server.input 05:46:22.997190 Identifying ourselves as friends 05:46:22.997251 Response sent (56 bytes) and written to log/24/server.response 05:46:22.997261 special request received, no persistency 05:46:22.997269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 55984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file second492 second 492 contents === End of file second492 === Start of file server.cmd Testnum 492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind492 ==103714== ==103714== Process terminating with default action of signal 4 (SIGILL) ==103714== Illegal opcode at address 0x4014883 ==103714== at 0x4014883: getparameter (tool_getparam.c:2899) ==103714== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103714== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103714== by 0x4004208: main (tool_main.c:189) === End of file valgrind492 test 0498...[Reject too large HTTP response headers on endless redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind498 ../src/curl -q --output log/19/curl498.out --include --trace-ascii log/19/trace498 --trace-time http://127.0.0.1:35701/498 --max-redirs 400 --location > log/19/stdout498 2> log/19/stderr498 curl returned 132, when expecting 56 498: exit FAILED == ConteCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind499 ../src/curl -q --output log/22/curl499.out --include --trace-ascii log/22/trace499 --trace-time http://127.0.0.1:41477/499 -I > log/22/stdout499 2> log/22/stderr499 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind501 ./libtest/libtests lib501 - > log/1/stdout501 2> log/1/stderr501 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind497 ../src/curl -q --output log/3/curl497.out --include --trace-ascii log/3/trace497 --trace-time http://127.0.0.1:39591/497 > log/3/stdout497 2> log/3/stderr497 nts of files in the log/19/ directory after test 498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind498 ../src/curl -q --output log/19/curl498.out --include --trace-ascii log/19/trace498 --trace-time http://127.0.0.1:35701/498 --max-redirs 400 --location > log/19/stdout498 2> log/19/stderr498 === End of file commands.log === Start of file http_server.log 05:46:22.557079 ====> Client connect 05:46:22.557120 accept_connection 3 returned 4 05:46:22.557139 accept_connection 3 returned 0 05:46:22.557333 Read 93 bytes 05:46:22.557347 Process 93 bytes request 05:46:22.557361 Got request: GET /verifiedserver HTTP/1.1 05:46:22.557370 Are-we-friendly question received 05:46:22.557401 Wrote request (93 bytes) input to log/19/server.input 05:46:22.557420 Identifying ourselves as friends 05:46:22.557480 Response sent (56 bytes) and written to log/19/server.response 05:46:22.557491 special request received, no persistency 05:46:22.557500 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind498 ==104109== ==104109== Process terminating with default action of signal 4 (SIGILL) ==104109== Illegal opcode at address 0x4014883 ==104109== at 0x4014883: getparameter (tool_getparam.c:2899) ==104109== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==104109== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==104109== by 0x4004208: main (tool_main.c:189) === End of file valgrind498 test 0499...[HTTP HEAD to server still sending a body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind499 ../src/curl -q --output log/22/curl499.out --include --trace-ascii log/22/trace499 --trace-time http://127.0.0.1:41477/499 -I > log/22/stdout499 2> log/22/stderr499 499: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind499 ../src/curl -q --output log/22/curl499.out --include --trace-ascii log/22/trace499 --trace-time http://127.0.0.1:41477/499 -I > log/22/stdout499 2> log/22/stderr499 === End of file commands.log === Start of file http_server.log 05:46:23.697194 ====> Client connect 05:46:23.697226 accept_connection 3 returned 4 05:46:23.697242 accept_connection 3 returned 0 05:46:23.697256 Read 93 bytes 05:46:23.697266 Process 93 bytes request 05:46:23.697280 Got request: GET /verifiedserver HTTP/1.1 05:46:23.697289 Are-we-friendly question received 05:46:23.697311 Wrote request (93 bytes) input to log/22/server.input 05:46:23.697327 Identifying ourselves as friends 05:46:23.697379 Response sent (56 bytes) and written to log/22/server.response 05:46:23.697388 special request received, no persistency 05:46:23.697396 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 53670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind499 ==104130== ==104130== Process terminating with default action of signal 4 (SIGILL) ==104130== Illegal opcode at address 0x4014883 ==104130== at 0x4014883: getparameter (tool_getparam.c:2899) ==104130== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==104130== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==104130== by 0x4004208: main (tool_main.c:189) === End of file valgrind499 test 0501...[simple libcurl attempt operation without URL set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind501 ./libtest/libtests lib501 - > log/1/stdout501 2> log/1/stderr501 libtests returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/1/ directory after test 501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind501 ./libtest/libtests lib501 - > log/1/stdout501 2> log/1/stderr501 === End of file commands.log === Start of file server.cmd Testnum 501 === End of file server.cmd === Start of file stderr501 URL: - === End of file stderr501 === Start of file valgrind501 ==104156== ==104156== Process terminating with default action of signal 4 (SIGILL) ==104156== Illegal opcode at address 0x51D8933 ==104156== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104156== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104156== by 0x51D8933: Curl_open (url.c:503) ==104156== by 0x514E50F: curl_easy_init (easy.c:350) ==104156== by 0x400A161: test_lib501.lto_priv.0 (lib501.c:38) ==104156== by 0x40034B5: main (first.c:279) === End of file valgrind501 test 0497...[Reject too large accumulated HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind497 ../src/curl -q --output log/3/curl497.out --include --trace-ascii log/3/trace497 --trace-time http://127.0.0.1:39591/497 > log/3/stdout497 2> log/3/stderr497 497: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind497 ../src/curl -q --output log/3/curl497.out --include --trace-ascii log/3/trace497 --trace-time http://127.0.0.1:39591/497 > log/3/stdout497 2> log/3/stderr497 === End of file commands.log === Start of file http_server.log 05:46:23.355674 ====> Client connect 05:46:23.355707 accept_connection 3 returned 4 05:46:23.355723 accept_connection 3 returned 0 05:46:23.355738 Read 93 bytes 05:46:23.355749 Process 93 bytes request 05:46:23.355762 Got request: GET /verifiedserver HTTP/1.1 05:46:23.355772 Are-we-friendly question received 05:46:23.355800 Wrote request (93 bytes) input to log/3/server.input 05:46:23.355820 Identifying ourselves as friends 05:46:23.355881 Response sent (56 bytes) and written to logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind509 ./libtest/libtests lib509 - > log/12/stdout509 2> log/12/stderr509 /3/server.response 05:46:23.355893 special request received, no persistency 05:46:23.355901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 54742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind497 ==103968== ==103968== Process terminating with default action of signal 4 (SIGILL) ==103968== Illegal opcode at address 0x4014883 ==103968== at 0x4014883: getparameter (tool_getparam.c:2899) ==103968== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==103968== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==103968== by 0x4004208: main (tool_main.c:189) === End of file valgrind497 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/16/test502.txt > log/16/stdout502 2> log/16/stderr502 test 0509...[initialization with memory callbacks and actual usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind509 ./libtest/libtests lib509 - > log/12/stdout509 2> log/12/stderr509 509: stdout FAILED: --- log/12/check-expected 2026-03-14 05:46:25.834616037 +0000 +++ log/12/check-generated 2026-03-14 05:46:25.834616037 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/12/ directory after test 509 === Start of file check-expected Callbacks were invoked![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind509 ./libtest/libtests lib509 - > log/12/stdout509 2> log/12/stderr509 === End of file commands.log === Start of file server.cmd Testnum 509 === End of file server.cmd === Start of file stderr509 URL: - === End of file stderr509 === Start of file valgrind509 ==104533== ==104533== Process terminating with default action of signal 4 (SIGILL) ==104533== Illegal opcode at address 0x51D8933 ==104533== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104533== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104533== by 0x51D8933: Curl_open (url.c:503) ==104533== by 0x514E50F: curl_easy_init (easy.c:350) ==104533== by 0x400DF2A: test_lib509.lto_priv.0 (lib509.c:95) ==104533== by 0x40034B5: main (first.c:279) === End of file valgrind509 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind517 ./libtest/libtests lib517 - > log/14/stdout517 2> log/14/stderr517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:35305/505 log/17/upload505 > log/17/stdout505 2> log/17/stderr505 test 0502...[simple multi file:// get] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/16/test502.txt > log/16/stdout502 2> log/16/stderr502 502: data FAILED: --- log/16/check-expected 2026-03-14 05:46:25.854616037 +0000 +++ log/16/check-generated 2026-03-14 05:46:25.854616037 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/16/ directory after test 502 === Start of file check-expected foo[LF] bar swsclose[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/16/test502.txt > log/16/stdout502 2> log/16/stderr502 === End of file commands.log === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file stderr502 URL: file:///startdir/src/build-curl/tests/log/16/test502.txt === End of file stderr502 === Start of file test502.txt foo bar swsclose bar foo moo === End of file test502.txt === Start of file valgrind502 ==104320== ==104320== Process terminating with default action of signal 4 (SIGILL) ==104320== Illegal opcode at address 0x51D8933 ==104320== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104320== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104320== by 0x51D8933: Curl_open (url.c:503) ==104320== by 0x514E50F: curl_easy_init (easy.c:350) ==104320== by 0x4064175: test_lib502.part.0.lto_priv.0 (lib502.c:41) ==104320== by 0x40034B5: main (first.c:279) === End of file valgrind502 test 0517...[curl_getdate() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind517 ./libtest/libtests lib517 - > log/14/stdout517 2> log/14/stderr517 -------e-v- OK (492 out of 1773, remaining: 02:49, took 1.178s, duration: 01:04) test 0505...[FTP upload with rename after transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:35305/505 log/17/upload505 > log/17/stdout505 2> log/17/stderr505 505: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:35305/505 log/17/upload505 > log/17/stdout505 2> log/17/stderr505 === End of file commands.log === Start of file ftp_server.log 05:46:23.808316 ====> Client connect 05:46:23.808507 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:23.808815 < "USER anonymous" 05:46:23.808851 > "331 We are happy you popped in![CR][LF]" 05:46:23.812357 < "PASS ftp@example.com" 05:46:23.812405 > "230 Welcome you silly person[CR][LF]" 05:46:23.812614 < "PWD" 05:46:23.812654 > "257 "/" is current directory[CR][LF]" 05:46:23.812833 < "EPSV" 05:46:23.812861 ====> Passive DATA channel requested by client 05:46:23.812878 DATA sockfilt for passive data channel starting... 05:46:23.820031 DATA sockfilt for passive data channel started (pid 104468) 05:46:23.820170 DATA sockfilt for passive data channel listens on port 40887 05:46:23.820213 > "229 Entering Passive Mode (|||40887|)[CR][LF]" 05:46:23.820232 Client has been notified that DATA conn will be accepted on port 40887 05:46:23.820536 Client connects to port 40887 05:46:23.820563 ====> Client established passive DATA connection on port 40887 05:46:23.820652 < "TYPE I" 05:46:23.820686 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:23.820832 < "SIZE verifiedserver" 05:46:23.820867 > "213 17[CR][LF]" 05:46:23.821005 < "RETR verifiedserver" 05:46:23.821037 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:23.821119 =====> Closing passive DATA connection... 05:46:23.821135 Server disconnects passive DATA connection 05:46:23.821312 Server disconnected passive DATA connection 05:46:23.821335 DATA sockfilt for passive data channel quits (pid 104468) 05:46:23.821636 DATA sockfilt for passive data channel quit (pid 104468) 05:46:23.821663 =====> Closed passive DATA connection 05:46:23.821691 > "226 File transfer complete[CR][LF]" 05:46:23.865849 < "QUIT" 05:46:23.865903 > "221 bye bye baby[CR][LF]" 05:46:23.867055 MAIN sockfilt said DISC 05:46:23.867085 ====> Client disconnected 05:46:23.867171 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:23.269622 ====> Client connect 05:46:23.269990 Received DATA (on stdin) 05:46:23.270007 > 146 bytes data, server => client 05:46:23.270020 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:23.270031 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:23.270040 '220 \___|\___/|_| \_\_____|\r\n' 05:46:23.270120 < 16 bytes data, client => server 05:46:23.270135 'USER anonymous\r\n' 05:46:23.270329 Received DATA (on stdin) 05:46:23.270342 > 33 bytes data, server => client 05:46:23.270353 '331 We are happy you popped in!\r\n' 05:46:23.273671 < 22 bytes data, client => server 05:46:23.273694 'PASS ftp@example.com\r\n' 05:46:23.273877 Received DATA (on stdin) 05:46:23.273891 > 30 bytes data, server => client 05:46:23.273902 '230 Welcome you silly person\r\n' 05:46:23.273973 < 5 bytes data, client => server 05:46:23.273990 'PWD\r\n' 05:46:23.274123 Received DATA (on stdin) 05:46:23.274135 > 30 bytes data, server => client 05:46:23.274146 '257 "/" is current directory\r\n' 05:46:23.274210 < 6 bytes data, client => server 05:46:23.274220 'EPSV\r\n' 05:46:23.281702 Received DATA (on stdin) 05:46:23.281719 > 39 bytes data, server => client 05:46:23.281729 '229 Entering Passive Mode (|||40887|)\r\n' 05:46:23.281916 < 8 bytes data, client => server 05:46:23.281933 'TYPE I\r\n' 05:46:23.282149 Received DATA (on stdin) 05:46:23.282159 > 33 bytes data, server => client 05:46:23.282169 '200 I modify TYPE as you wanted\r\n' 05:46:23.282216 < 21 bytes data, client => server 05:46:23.282227 'SIZE verifiedserver\r\n' 05:46:23.282327 Received DATA (on stdin) 05:46:23.282337 > 8 bytes data, server => client 05:46:23.282346 '213 17\r\n' 05:46:23.282390 < 21 bytes data, client => server 05:46:23.282400 'RETR verifiedserver\r\n' 05:46:23.282597 Received DATA (on stdin) 05:46:23.282608 > 29 bytes data, server => client 05:46:23.282617 '150 Binary junk (17 bytes).\r\n' 05:46:23.283153 Received DATA (on stdin) 05:46:23.283166 > 28 bytes data, server => client 05:46:23.283176 '226 File transfer complete\r\n' 05:46:23.327109 < 6 bytes data, client => server 05:46:23.327150 'QUIT\r\n' 05:46:23.327368 Received DATA (on stdin) 05:46:23.327378 > 18 bytes data, server => client 05:46:23.327387 '221 bye bye baby\r\n' 05:46:23.328467 ====> Client disconnect 05:46:23.328630 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:23.281113 Running IPv4 version 05:46:23.281218 Listening on port 40887 05:46:23.281263 Wrote pid 104468 to log/17/server/ftp_sockdata.pid 05:46:23.281433 Received PING (on stdin) 05:46:23.281533 Received PORT (on stdin) 05:46:23.281952 ====> Client connect 05:46:23.282668 Received DATA (on stdin) 05:46:23.282681 > 17 bytes data, server => client 05:46:23.282691 'WE ROOLZ: 8114CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:42891/510 > log/21/stdout510 2> log/21/stderr510 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:43413/508 > log/15/stdout508 2> log/15/stderr508 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:40253/513 > log/4/stdout513 2> log/4/stderr513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/20/stdout507 2> log/20/stderr507 1\r\n' 05:46:23.282715 Received DISC (on stdin) 05:46:23.282725 ====> Client forcibly disconnected 05:46:23.282853 Received QUIT (on stdin) 05:46:23.282864 quits 05:46:23.282948 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 505 === End of file server.cmd === Start of file stderr505 URL: ftp://127.0.0.1:35305/505 === End of file stderr505 === Start of file upload505 Contents of a file to verify ftp upload works? === End of file upload505 === Start of file valgrind505 ==104478== ==104478== Process terminating with default action of signal 4 (SIGILL) ==104478== Illegal opcode at address 0x51D8933 ==104478== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104478== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104478== by 0x51D8933: Curl_open (url.c:503) ==104478== by 0x514E50F: curl_easy_init (easy.c:350) ==104478== by 0x400EF78: test_lib505.lto_priv.0 (lib505.c:85) ==104478== by 0x40034B5: main (first.c:279) === End of file valgrind505 test 0510...[send HTTP POST using read callback, using chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:42891/510 > log/21/stdout510 2> log/21/stderr510 510: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:42891/510 > log/21/stdout510 2> log/21/stderr510 === End of file commands.log === Start of file http_server.log 05:46:23.609905 ====> Client connect 05:46:23.609945 accept_connection 3 returned 4 05:46:23.609961 accept_connection 3 returned 0 05:46:23.609975 Read 93 bytes 05:46:23.609984 Process 93 bytes request 05:46:23.609998 Got request: GET /verifiedserver HTTP/1.1 05:46:23.610006 Are-we-friendly question received 05:46:23.610029 Wrote request (93 bytes) input to log/21/server.input 05:46:23.610046 Identifying ourselves as friends 05:46:23.610104 Response sent (56 bytes) and written to log/21/server.response 05:46:23.610114 special request received, no persistency 05:46:23.610122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:42891/510 === End of file stderr510 === Start of file valgrind510 ==104715== ==104715== Process terminating with default action of signal 4 (SIGILL) ==104715== Illegal opcode at address 0x51D8933 ==104715== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104715== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104715== by 0x51D8933: Curl_open (url.c:503) ==104715== by 0x514E50F: curl_easy_init (easy.c:350) ==104715== by 0x400A400: test_lib510.lto_priv.0 (lib510.c:74) ==104715== by 0x40034B5: main (first.c:279) === End of file valgrind510 test 0508...[send HTTP POST using read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:43413/508 > log/15/stdout508 2> log/15/stderr508 508: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 508 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:43413/508 > log/15/stdout508 2> log/15/stderr508 === End of file commands.log === Start of file http_server.log 05:46:24.462254 ====> Client connect 05:46:24.462290 accept_connection 3 returned 4 05:46:24.462306 accept_connection 3 returned 0 05:46:24.462320 Read 93 bytes 05:46:24.462330 Process 93 bytes request 05:46:24.462344 Got request: GET /verifiedserver HTTP/1.1 05:46:24.462353 Are-we-friendly question received 05:46:24.462381 Wrote request (93 bytes) input to log/15/server.input 05:46:24.462400 Identifying ourselves as friends 05:46:24.462464 Response sent (56 bytes) and written to log/15/server.response 05:46:24.462477 special request received, no persistency 05:46:24.462487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 42770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 508 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:43413/508 === End of file stderr508 === Start of file valgrind508 ==104563== ==104563== Process terminating with default action of signal 4 (SIGILL) ==104563== Illegal opcode at address 0x51D8933 ==104563== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104563== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104563== by 0x51D8933: Curl_open (url.c:503) ==104563== by 0x514E50F: curl_easy_init (easy.c:350) ==104563== by 0x400A26A: test_lib508.lto_priv.0 (lib508.c:66) ==104563== by 0x40034B5: main (first.c:279) === End of file valgrind508 test 0507...[multi interface get with non-existing hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/20/stdout507 2> log/20/stderr507 libtests returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/20/ directory after test 507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/20/stdout507 2> log/20/stderr507 === End of file commands.log === Start of file http_server.log 05:46:23.445945 ====> Client connect 05:46:23.445993 accept_connection 3 returned 4 05:46:23.446012 accept_connection 3 returned 0 05:46:23.446029 Read 93 bytes 05:46:23.446040 Process 93 bytes request 05:46:23.446053 Got request: GET /verifiedserver HTTP/1.1 05:46:23.446063 Are-we-friendly question received 05:46:23.446092 Wrote request (93 bytes) input to log/20/server.input 05:46:23.446110 Identifying ourselves as friendsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:45623/512 > log/8/stdout512 2> log/8/stderr512 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:33217/515 > log/23/stdout515 2> log/23/stderr515 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind503 ./libtest/libtests lib503 http://machine.503:45359/503 127.0.0.1:39297 > log/13/stdout503 2> log/13/stderr503 05:46:23.446171 Response sent (56 bytes) and written to log/20/server.response 05:46:23.446183 special request received, no persistency 05:46:23.446192 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 507 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==104553== ==104553== Process terminating with default action of signal 4 (SIGILL) ==104553== Illegal opcode at address 0x519F3C0 ==104553== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==104553== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==104553== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==104553== by 0x40626D5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==104553== by 0x40034B5: main (first.c:279) ==104553== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==104553== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==104553== by 0x519F354: Curl_multi_handle (multi.c:235) ==104553== by 0x40626D5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==104553== by 0x40034B5: main (first.c:279) ==104553== === End of file valgrind507 test 0512...[simple curl_easy_duplicate() test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:45623/512 > log/8/stdout512 2> log/8/stderr512 512: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 512 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:45623/512 > log/8/stdout512 2> log/8/stderr512 === End of file commands.log === Start of file http_server.log 05:46:23.860404 ====> Client connect 05:46:23.860444 accept_connection 3 returned 4 05:46:23.860462 accept_connection 3 returned 0 05:46:23.860478 Read 93 bytes 05:46:23.860486 Process 93 bytes request 05:46:23.860500 Got request: GET /verifiedserver HTTP/1.1 05:46:23.860509 Are-we-friendly question received 05:46:23.860534 Wrote request (93 bytes) input to log/8/server.input 05:46:23.860549 Identifying ourselves as friends 05:46:23.860615 Response sent (56 bytes) and written to log/8/server.response 05:46:23.860625 special request received, no persistency 05:46:23.860633 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 55388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 512 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:45623/512 === End of file stderr512 === Start of file valgrind512 ==104814== ==104814== Process terminating with default action of signal 4 (SIGILL) ==104814== Illegal opcode at address 0x51D8933 ==104814== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104814== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104814== by 0x51D8933: Curl_open (url.c:503) ==104814== by 0x514E50F: curl_easy_init (easy.c:350) ==104814== by 0x400E055: test_lib512.lto_priv.0 (lib512.c:36) ==104814== by 0x40034B5: main (first.c:279) === End of file valgrind512 test 0515...[make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:33217/515 > log/23/stdout515 2> log/23/stderr515 515: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 515 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:33217/515 > log/23/stdout515 2> log/23/stderr515 === End of file commands.log === Start of file http_server.log 05:46:25.150398 ====> Client connect 05:46:25.150436 accept_connection 3 returned 4 05:46:25.150454 accept_connection 3 returned 0 05:46:25.150470 Read 93 bytes 05:46:25.150480 Process 93 bytes request 05:46:25.150494 Got request: GET /verifiedserver HTTP/1.1 05:46:25.150504 Are-we-friendly question received 05:46:25.150528 Wrote request (93 bytes) input to log/23/server.input 05:46:25.150545 Identifying ourselves as friends 05:46:25.150608 Response sent (56 bytes) and written to log/23/server.response 05:46:25.150618 special request received, no persistency 05:46:25.150625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 53474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:33217/515 === End of file stderr515 === Start of file valgrind515 ==105055== ==105055== Process terminating with default action of signal 4 (SIGILL) ==105055== Illegal opcode at address 0x51D8933 ==105055== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105055== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105055== by 0x51D8933: Curl_open (url.c:503) ==105055== by 0x514E50F: curl_easy_init (easy.c:350) ==105055== by 0x400AA2A: test_lib515.lto_priv.0 (lib515.c:36) ==105055== by 0x40034B5: main (first.c:279) === End of file valgrind515 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/13/server/http2_server.pid" --logfile "log/13/http2_server.log" --logdir "log/13" --portfile log/13/server/http2_server.port --config log/13/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 104388 port 39297 * pid http-proxy => 104388 104388 test 0503...[simple multi http:// thCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:36813/511 > log/6/stdout511 2> log/6/stderr511 rough proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind503 ./libtest/libtests lib503 http://machine.503:45359/503 127.0.0.1:39297 > log/13/stdout503 2> log/13/stderr503 503: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind503 ./libtest/libtests lib503 http://machine.503:45359/503 127.0.0.1:39297 > log/13/stdout503 2> log/13/stderr503 === End of file commands.log === Start of file http2_server.log 05:46:23.065057 Run as proxy, CONNECT to host 127.0.0.1 05:46:23.065354 Running HTTP IPv4 version on port 39297 05:46:23.065399 Wrote pid 104388 to log/13/server/http2_server.pid 05:46:23.065429 Wrote port 39297 to log/13/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:46:24.029534 ====> Client connect 05:46:24.029568 accept_connection 3 returned 4 05:46:24.029584 accept_connection 3 returned 0 05:46:24.029600 Read 93 bytes 05:46:24.029610 Process 93 bytes request 05:46:24.029623 Got request: GET /verifiedserver HTTP/1.1 05:46:24.029633 Are-we-friendly question received 05:46:24.029655 Wrote request (93 bytes) input to log/13/server.input 05:46:24.029672 Identifying ourselves as friends 05:46:24.029725 Response sent (56 bytes) and written to log/13/server.response 05:46:24.029735 special request received, no persistency 05:46:24.029744 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 58836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr503 URL: http://machine.503:45359/503 === End of file stderr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==104925== ==104925== Process terminating with default action of signal 4 (SIGILL) ==104925== Illegal opcode at address 0x51D8933 ==104925== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104925== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104925== by 0x51D8933: Curl_open (url.c:503) ==104925== by 0x514E50F: curl_easy_init (easy.c:350) ==104925== by 0x40639D5: test_lib503.part.0.lto_priv.0 (lib503.c:45) ==104925== by 0x40034B5: main (first.c:279) === End of file valgrind503 test 0511...[FTP with FILETIME and NOBODY but missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:36813/511 > log/6/stdout511 2> log/6/stderr511 511: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 511 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:36813/511 > log/6/stdout511 2> log/6/stderr511 === End of file commands.log === Start of file ftp_server.log 05:46:24.382242 ====> Client connect 05:46:24.382450 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:24.392452 < "USER anonymous" 05:46:24.392523 > "331 We are happy you popped in![CR][LF]" 05:46:24.399041 < "PASS ftp@example.com" 05:46:24.399102 > "230 Welcome you silly person[CR][LF]" 05:46:24.399321 < "PWD" 05:46:24.399356 > "257 "/" is current directory[CR][LF]" 05:46:24.405689 < "EPSV" 05:46:24.405736 ====> Passive DATA channel requested by client 05:46:24.405752 DATA sockfilt for passive data channel starting... 05:46:24.413355 DATA sockfilt for passive data channel started (pid 104811) 05:46:24.413507 DATA sockfilt for passive data channel listens on port 41629 05:46:24.413575 > "229 Entering Passive Mode (|||41629|)[CR][LF]" 05:46:24.413603 Client has been notified that DATA conn will be accepted on port 41629 05:46:24.413958 Client connects to port 41629 05:46:24.413994 ====> Client established passive DATA connection on port 41629 05:46:24.414097 < "TYPE I" 05:46:24.414139 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:24.414322 < "SIZE verifiedserver" 05:46:24.414365 > "213 17[CR][LF]" 05:46:24.414543 < "RETR verifiedserver" 05:46:24.414627 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:24.414734 =====> Closing passive DATA connection... 05:46:24.414757 Server disconnects passive DATA connection 05:46:24.414995 Server disconnected passive DATA connection 05:46:24.415029 DATA sockfilt for passive data channel quits (pid 104811) 05:46:24.415275 DATA sockfilt for passive data channel quit (pid 104811) 05:46:24.415308 =====> Closed passive DATA connection 05:46:24.415342 > "226 File transfer complete[CR][LF]" 05:46:24.462459 < "QUIT" 05:46:24.462531 > "221 bye bye baby[CR][LF]" 05:46:24.463802 MAIN sockfilt said DISC 05:46:24.463841 ====> Client disconnected 05:46:24.463947 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:23.839295 ====> Client connect 05:46:23.847003 Received DATA (on stdin) 05:46:23.847038 > 146 bytes data, server => client 05:46:23.847051 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:23.847062 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:23.847071 '220 \___|\___/|_| \_\_____|\r\n' 05:46:23.847203 < 16 bytes data, client => server 05:46:23.847220 'USER anonymous\r\n' 05:46:23.857004 Received DATA (on stdin) 05:46:23.857043 > 33 bytes data, server => client 05:46:23.857055 '331 We are happy you popped in!\r\n' 05:46:23.857160 < 22 bytes data, client => server 05:46:23.857174 'PASS ftp@example.com\r\n' 05:46:23.860573 Received DATA (on stdin) 05:46:23.860590 > 30 bytes data, server => client 05:46:23.860601 '230 Welcome you silly person\r\n' 05:46:23.860687 < 5 bytes data, client => server 05:46:23.860701 'PWD\r\n' 05:46:23.860819 Received DATA (on stdin) 05:46:23.860831 > 30 bytes data, server => client 05:46:23.860842 '257 "/" is current directory\r\n' 05:46:23.860900 < 6 bytes data, client => server 05:46:23.860909 'EPSV\r\n' 05:46:23.875080 Received DATA (on stdin) 05:46:23.875100 > 39 bytes data, server => client 05:46:23.875112 '229 Entering Passive Mode (|||41629|)\r\n' 05:46:23.875324 < 8 bytes data, client => server 05:46:23.875342 'TYPE I\r\n' 05:46:23.875609 Received DATA (on stdin) 05:46:23.875622 > 33 bytes data, server => client 05:46:23.875633 '200 I modify TYPE as you wanted\r\n' 05:46:23.875689 < 21 bytes data, client => server 05:46:23.875702 'SIZE verifiedserver\r\n' 05:46:23.875831 Received DATA (on stdin) 05:46:23.875843 > 8 bytes data, server => client 05:46:23.875852 '213 17\r\n' 05:46:23.875908 < 21 bytes data, client => server 05:46:23.875923 'RETR verifiedserver\r\n' 05:46:23.876029 Received DATA CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:39913/519 > log/18/stdout519 2> log/18/stderr519 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:35621/514 > log/5/stdout514 2> log/5/stderr514 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:41799/516 > log/2/stdout516 2> log/2/stderr516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:38499/path/to/ > log/24/stdout524 2> log/24/stderr524 (on stdin) 05:46:23.876045 > 29 bytes data, server => client 05:46:23.876225 '150 Binary junk (17 bytes).\r\n' 05:46:23.876809 Received DATA (on stdin) 05:46:23.876822 > 28 bytes data, server => client 05:46:23.876832 '226 File transfer complete\r\n' 05:46:23.923684 < 6 bytes data, client => server 05:46:23.923733 'QUIT\r\n' 05:46:23.924005 Received DATA (on stdin) 05:46:23.924020 > 18 bytes data, server => client 05:46:23.924031 '221 bye bye baby\r\n' 05:46:23.925208 ====> Client disconnect 05:46:23.925423 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:24.874421 Running IPv4 version 05:46:24.874517 Listening on port 41629 05:46:24.874561 Wrote pid 104811 to log/6/server/ftp_sockdata.pid 05:46:24.874753 Received PING (on stdin) 05:46:24.874855 Received PORT (on stdin) 05:46:24.875367 ====> Client connect 05:46:24.876258 Received DATA (on stdin) 05:46:24.876272 > 17 bytes data, server => client 05:46:24.876283 'WE ROOLZ: 81206\r\n' 05:46:24.876310 Received DISC (on stdin) 05:46:24.876323 ====> Client forcibly disconnected 05:46:24.876504 Received QUIT (on stdin) 05:46:24.876517 quits 05:46:24.876587 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 bluah you f00l REPLY SIZE 550 bluah you f00l Testnum 511 === End of file server.cmd === Start of file stderr511 URL: ftp://127.0.0.1:36813/511 === End of file stderr511 === Start of file valgrind511 ==104838== ==104838== Process terminating with default action of signal 4 (SIGILL) ==104838== Illegal opcode at address 0x51D8933 ==104838== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104838== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104838== by 0x51D8933: Curl_open (url.c:503) ==104838== by 0x514E50F: curl_easy_init (easy.c:350) ==104838== by 0x400A62A: test_lib511.lto_priv.0 (lib511.c:36) ==104838== by 0x40034B5: main (first.c:279) === End of file valgrind511 test 0519...[GET same URL twice with different users] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:39913/519 > log/18/stdout519 2> log/18/stderr519 519: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 519 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:39913/519 > log/18/stdout519 2> log/18/stderr519 === End of file commands.log === Start of file http_server.log 05:46:24.520386 ====> Client connect 05:46:24.520457 accept_connection 3 returned 4 05:46:24.520475 accept_connection 3 returned 0 05:46:24.520491 Read 93 bytes 05:46:24.520500 Process 93 bytes request 05:46:24.520512 Got request: GET /verifiedserver HTTP/1.1 05:46:24.520521 Are-we-friendly question received 05:46:24.520543 Wrote request (93 bytes) input to log/18/server.input 05:46:24.520559 Identifying ourselves as friends 05:46:24.520621 Response sent (56 bytes) and written to log/18/server.response 05:46:24.520631 special request received, no persistency 05:46:24.520639 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 36138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:39913/519 === End of file stderr519 === Start of file valgrind519 ==105338== ==105338== Process terminating with default action of signal 4 (SIGILL) ==105338== Illegal opcode at address 0x51D8933 ==105338== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105338== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105338== by 0x51D8933: Curl_open (url.c:503) ==105338== by 0x514E50F: curl_easy_init (easy.c:350) ==105338== by 0x400AC6A: test_lib519.lto_priv.0 (lib519.c:36) ==105338== by 0x40034B5: main (first.c:279) === End of file valgrind519 test 0516...[make an HTTPPOST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:41799/516 > log/2/stdout516 2> log/2/stderr516 516: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:41799/516 > log/2/stdout516 2> log/2/stderr516 === End of file commands.log === Start of file http_server.log 05:46:25.172872 ====> Client connect 05:46:25.172910 accept_connection 3 returned 4 05:46:25.172928 accept_connection 3 returned 0 05:46:25.174441 Read 93 bytes 05:46:25.174458 Process 93 bytes request 05:46:25.174472 Got request: GET /verifiedserver HTTP/1.1 05:46:25.174481 Are-we-friendly question received 05:46:25.174514 Wrote request (93 bytes) input to log/2/server.input 05:46:25.174532 Identifying ourselves as friends 05:46:25.174587 Response sent (56 bytes) and written to log/2/server.response 05:46:25.174595 special request received, no persistency 05:46:25.174604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 57814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:41799/516 === End of file stderr516 === Start of file valgrind516 ==105070== ==105070== Process terminating with default action of signal 4 (SIGILL) ==105070== Illegal opcode at address 0x51D8933 ==105070== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105070== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105070== by 0x51D8933: Curl_open (url.c:503) ==105070== by 0x514E50F: curl_easy_init (easy.c:350) ==105070== by 0x400AB4A: test_lib516.lto_priv.0 (lib516.c:36) ==105070== by 0x40034B5: main (first.c:279) === End of file valgrind516 test 0524...[FTP upload with target URL ending with slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:38499/path/to/ > log/24/stdout524 2> log/24/stderr524 524: protocol FAILECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 46741 > log/10/stdout522 2> log/10/stderr522 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:39835/520 > log/9/stdout520 2> log/9/stderr520 D! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:38499/path/to/ > log/24/stdout524 2> log/24/stderr524 === End of file commands.log === Start of file ftp_server.log 05:46:25.464563 ====> Client connect 05:46:25.464713 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.464997 < "USER anonymous" 05:46:25.465034 > "331 We are happy you popped in![CR][LF]" 05:46:25.465202 < "PASS ftp@example.com" 05:46:25.465227 > "230 Welcome you silly person[CR][LF]" 05:46:25.465369 < "PWD" 05:46:25.465401 > "257 "/" is current directory[CR][LF]" 05:46:25.465570 < "EPSV" 05:46:25.465594 ====> Passive DATA channel requested by client 05:46:25.465609 DATA sockfilt for passive data channel starting... 05:46:25.472536 DATA sockfilt for passive data channel started (pid 105559) 05:46:25.475669 DATA sockfilt for passive data channel listens on port 39585 05:46:25.475738 > "229 Entering Passive Mode (|||39585|)[CR][LF]" 05:46:25.475756 Client has been notified that DATA conn will be accepted on port 39585 05:46:25.476073 Client connects to port 39585 05:46:25.476101 ====> Client established passive DATA connection on port 39585 05:46:25.476196 < "TYPE I" 05:46:25.476228 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.476377 < "SIZE verifiedserver" 05:46:25.476412 > "213 17[CR][LF]" 05:46:25.476552 < "RETR verifiedserver" 05:46:25.476585 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.476681 =====> Closing passive DATA connection... 05:46:25.476698 Server disconnects passive DATA connection 05:46:25.476927 Server disconnected passive DATA connection 05:46:25.476956 DATA sockfilt for passive data channel quits (pid 105559) 05:46:25.477206 DATA sockfilt for passive data channel quit (pid 105559) 05:46:25.477230 =====> Closed passive DATA connection 05:46:25.477257 > "226 File transfer complete[CR][LF]" 05:46:25.525772 < "QUIT" 05:46:25.525837 > "221 bye bye baby[CR][LF]" 05:46:25.527104 MAIN sockfilt said DISC 05:46:25.527137 ====> Client disconnected 05:46:25.527219 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.925913 ====> Client connect 05:46:25.926188 Received DATA (on stdin) 05:46:25.926203 > 146 bytes data, server => client 05:46:25.926216 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.926226 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.926236 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.926318 < 16 bytes data, client => server 05:46:25.926331 'USER anonymous\r\n' 05:46:25.926499 Received DATA (on stdin) 05:46:25.926512 > 33 bytes data, server => client 05:46:25.926523 '331 We are happy you popped in!\r\n' 05:46:25.926575 < 22 bytes data, client => server 05:46:25.926587 'PASS ftp@example.com\r\n' 05:46:25.926687 Received DATA (on stdin) 05:46:25.926697 > 30 bytes data, server => client 05:46:25.926707 '230 Welcome you silly person\r\n' 05:46:25.926753 < 5 bytes data, client => server 05:46:25.926763 'PWD\r\n' 05:46:25.926860 Received DATA (on stdin) 05:46:25.926870 > 30 bytes data, server => client 05:46:25.926880 '257 "/" is current directory\r\n' 05:46:25.926935 < 6 bytes data, client => server 05:46:25.926945 'EPSV\r\n' 05:46:25.937229 Received DATA (on stdin) 05:46:25.937246 > 39 bytes data, server => client 05:46:25.937257 '229 Entering Passive Mode (|||39585|)\r\n' 05:46:25.937481 < 8 bytes data, client => server 05:46:25.937492 'TYPE I\r\n' 05:46:25.937690 Received DATA (on stdin) 05:46:25.937701 > 33 bytes data, server => client 05:46:25.937711 '200 I modify TYPE as you wanted\r\n' 05:46:25.937760 < 21 bytes data, client => server 05:46:25.937770 'SIZE verifiedserver\r\n' 05:46:25.937871 Received DATA (on stdin) 05:46:25.937881 > 8 bytes data, server => client 05:46:25.937891 '213 17\r\n' 05:46:25.937934 < 21 bytes data, client => server 05:46:25.937944 'RETR verifiedserver\r\n' 05:46:25.938246 Received DATA (on stdin) 05:46:25.938257 > 29 bytes data, server => client 05:46:25.938267 '150 Binary junk (17 bytes).\r\n' 05:46:25.938719 Received DATA (on stdin) 05:46:25.938731 > 28 bytes data, server => client 05:46:25.938742 '226 File transfer complete\r\n' 05:46:25.987019 < 6 bytes data, client => server 05:46:25.987052 'QUIT\r\n' 05:46:25.987304 Received DATA (on stdin) 05:46:25.987316 > 18 bytes data, server => client 05:46:25.987327 '221 bye bye baby\r\n' 05:46:25.988516 ====> Client disconnect 05:46:25.988680 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.929619 Running IPv4 version 05:46:25.929678 Listening on port 39585 05:46:25.929715 Wrote pid 105559 to log/24/server/ftp_sockdata.pid 05:46:25.933667 Received PING (on stdin) 05:46:25.936995 Received PORT (on stdin) 05:46:25.937454 ====> Client connect 05:46:25.938160 Received DATA (on stdin) 05:46:25.938172 > 17 bytes data, server => client 05:46:25.938182 'WE ROOLZ: 81530\r\n' 05:46:25.938209 Received DISC (on stdin) 05:46:25.938220 ====> Client forcibly disconnected 05:46:25.938424 Received QUIT (on stdin) 05:46:25.938436 quits 05:46:25.938494 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 524 === End of file server.cmd === Start of file stderr524 URL: ftp://127.0.0.1:38499/path/to/ === End of file stderr524 === Start of file valgrind524 ==105672== ==105672== Process terminating with default action of signal 4 (SIGILL) ==105672== Illegal opcode at address 0x51D8933 ==105672== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105672== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105672== by 0x51D8933: Curl_open (url.c:503) ==105672== by 0x514E50F: curl_easy_init (easy.c:350) ==105672== by 0x400AFEA: test_lib524.lto_priv.0 (lib524.c:36) ==105672== by 0x40034B5: main (first.c:279) === End of file valgrind524 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 37471 > log/11/stdout521 2> log/11/stderr521 test 0522...[HTTP GET with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 46741 > log/10/stdout522 2> log/10/stderr522 522: stdout FAILED: --- log/10/check-expected 2026-03-14 05:46:27.614616036 +0000 +++ log/10/check-generated 2026-03-14 05:46:27.614616036 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/10/ directory after test 522 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 46741 > log/10/stdout522 2> log/10/stderr522 === End of file commands.log === Start of file http_server.log 05:46:24.814912 ====> Client connect 05:46:24.814944 accept_connection 3 returned 4 05:46:24.814960 accept_connection 3 returned 0 05:46:24.814976 Read 93 bytes 05:46:24.814987 Process 93 bytes request 05:46:24.815003 Got request: GET /verifiedserver HTTP/1.1 05:46:24.815013 Are-we-friendly question received 05:46:24.815037 Wrote request (93 bytes) input to log/10/server.input 05:46:24.815053 Identifying ourselves as friends 05:46:24.815107 Response sent (56 bytes) and written to log/10/server.response 05:46:24.815117 special request received, no persistency 05:46:24.815126 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 60648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==105462== ==105462== Process terminating with default action of signal 4 (SIGILL) ==105462== Illegal opcode at address 0x51D8933 ==105462== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105462== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105462== by 0x51D8933: Curl_open (url.c:503) ==105462== by 0x514E50F: curl_easy_init (easy.c:350) ==105462== by 0x4013CD0: test_lib521.lto_priv.0 (lib521.c:40) ==105462== by 0x40034B5: main (first.c:279) === End of file valgrind522 test 0520...[FTP RETR with FILETIME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:39835/520 > log/9/stdout520 2> log/9/stderr520 520: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:39835/520 > log/9/stdout520 2> log/9/stderr520 === End of file commands.log === Start of file ftp_server.log 05:46:25.185569 ====> Client connect 05:46:25.185746 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.195755 < "USER anonymous" 05:46:25.195817 > "331 We are happy you popped in![CR][LF]" 05:46:25.199242 < "PASS ftp@example.com" 05:46:25.199301 > "230 Welcome you silly person[CR][LF]" 05:46:25.199483 < "PWD" 05:46:25.199521 > "257 "/" is current directory[CR][LF]" 05:46:25.199708 < "EPSV" 05:46:25.199737 ====> Passive DATA channel requested by client 05:46:25.199753 DATA sockfilt for passive data channel starting... 05:46:25.229176 DATA sockfilt for passive data channel started (pid 105379) 05:46:25.229352 DATA sockfilt for passive data channel listens on port 40307 05:46:25.229417 > "229 Entering Passive Mode (|||40307|)[CR][LF]" 05:46:25.229440 Client has been notified that DATA conn will be accepted on port 40307 05:46:25.235626 Client connects to port 40307 05:46:25.235696 ====> Client established passive DATA connection on port 40307 05:46:25.235817 < "TYPE I" 05:46:25.235859 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.239170 < "SIZE verifiedserver" 05:46:25.239232 > "213 17[CR][LF]" 05:46:25.239382 < "RETR verifiedserver" 05:46:25.239413 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.239511 =====> Closing passive DATA connection... 05:46:25.239527 Server disconnects passive DATA connection 05:46:25.239886 Server disconnected passive DATA connection 05:46:25.239916 DATA sockfilt for passive data channel quits (pid 105379) 05:46:25.240214 DATA sockfilt for passive data channel quit (pid 105379) 05:46:25.240243 =====> Closed passive DATA connection 05:46:25.240277 > "226 File transfer complete[CR][LF]" 05:46:25.299817 < "QUIT" 05:46:25.299882 > "221 bye bye baby[CR][LF]" 05:46:25.301190 MAIN sockfilt said DISC 05:46:25.301229 ====> Client disconnected 05:46:25.301309 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:24.637994 ====> Client connect 05:46:24.647186 Received DATA (on stdin) 05:46:24.647216 > 146 bytes data, server => client 05:46:24.647229 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:24.647240 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:24.647249 '220 \___|\___/|_| \_\_____|\r\n' 05:46:24.650442 < 16 bytes data, client => server 05:46:24.650477 'USER anonymous\r\n' 05:46:24.660329 Received DATA (on stdin) 05:46:24.660375 > 33 bytes data, server => client 05:46:24.660388 '331 We are happy you popped in!\r\n' 05:46:24.660510 < 22 bytes data, client => server 05:46:24.660527 'PASS ftp@example.com\r\n' 05:46:24.660773 Received DATA (on stdin) 05:46:24.660786 > 30 bytes data, server => client 05:46:24.660797 '230 Welcome you silly person\r\n' 05:46:24.660852 < 5 bytes data, client => server 05:46:24.660864 'PWD\r\n' 05:46:24.660988 Received DATA (on stdin) 05:46:24.661001 > 30 bytes data, server => client 05:46:24.661012 '257 "/" is current directory\r\n' 05:46:24.661077 < 6 bytes data, client => server 05:46:24.661089 'EPSV\r\n' 05:46:24.693666 Received DATA (on stdin) 05:46:24.693701 > 39 bytes data, server => client 05:46:24.693713 '229 Entering Passive Mode (|||40307|)\r\n' 05:46:24.693927 < 8 bytes data, client => server 05:46:24.693945 'TYPE I\r\n' 05:46:24.700331 Received DATA (on stdin) 05:46:24.700359 > 33 bytes data, server => client 05:46:24.700372 '200 I modify TYPE as you wanted\r\n' 05:46:24.700474 < 21 bytes data, client => server 05:46:24.700485 'SIZE verifiedserver\r\n' 05:46:24.700696 Received DATA (on stdin) 05:46:24.700706 > 8 bytes data, server => client 05:46:24.700716 '213 17\r\n' 05:46:24.700763 < 21 bytes data, client => server 05:46:24.700773 'RETR verifiedserver\r\n' 05:46:24.700989 Received DATA (on stdin) 05:46:24.701000 > 29 bytes data, server => client 05:46:24.701011 '150 Binary junk (17 bytes).\r\n' 05:46:24.704650 Received DATA (on stdin) 05:46:24.704678 > 28 bytes data, server => client 05:46:24.704688 '226 File transfer complete\r\n' 05:46:24.760432 < 6 bytes data, client => server 05:46:24.760459 'QUIT\r\n' 05:46:24.761359 Received DATA (on stdin) 05:46:24.761378 > 18 bytes data, server => client 05:46:24.761390 '221 bye bye baby\r\n' 05:46:24.762594 ====> Client disconnect 05:46:24.762783 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.687758 Running IPv4 version 05:46:25.687869 Listening on port 40307 05:46:25.687918 Wrote pid 105379 to log/9/server/ftp_sockdata.pid 05:46:25.690556 Received PING (on stdin) 05:46:25.690695 Received PORT (on stdin) 05:46:25.697010 ====> Client connect 05:46:25.701202 Received DATA (on stdin) 05:46:25.701229 > 17 bytes data, server => client 05:46:25.701240 'WE ROOLZ: 81042\r\n' 05:46:25.701280 Received DISC (on stdin) 05:46:25.701294 ====> Client forcibly disconnected 05:46:25.701404 Received QUIT (on stdin) 05:46:25.701415 quits 05:46:25.701516 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 213 20030405060708 Testnum 520 === End of file server.cmd === Start of file stderr520 URL: ftp://127.0.0.1:39835/520 === End of file stderr520 === Start of file valgrind520 ==105435== ==105435== Process terminating with default action of signal 4 (SIGILL) ==105435== Illegal opcode at address 0x51D8933 ==105435== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105435== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105435== by 0x51D8933: Curl_open (url.c:503) ==105435== by 0x514E50F: curl_easy_init (easy.c:350) ==105435== by 0x400ADAA: test_lib520.lto_priv.0 (lib520.c:36) ==105435== by 0x40034B5: main (first.c:279) === End of file valgrind520 test 0521...[FTP dir list PASV with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 37471 > log/11/stdout521 2> log/11/stderr521 521: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 521 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 37471 > log/11/stdout521 2> log/11/stderr521 === End of file commands.log === Start of file ftp_server.log 05:46:25.281353 ====> Client connect 05:46:25.281547 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.281891 < "USER anonymous" 05:46:25.281935 > "331 We are happy you popped in![CR][LF]" 05:46:25.282131 < "PASS ftp@example.com" 05:46:25.282167 > "230 Welcome you silly person[CR][LF]" 05:46:25.285688 < "PWD" 05:46:25.285726 > "257 "/" is current directory[CR][LF]" 05:46:25.285878 < "EPSV" 05:46:25.285901 ====> Passive DATA channel requested by client 05:46:25.285914 DATA sockfilt for passive data channel starting... 05:46:25.292674 DATA sockfilt for passive data channel started (pid 105412) 05:46:25.295699 DATA sockfilt for passive data channel listens on port 33943 05:46:25.295782 > "229 Entering Passive Mode (|||33943|)[CR][LF]" 05:46:25.295802 Client has been notified that DATA conn will be accepted on port 33943 05:46:25.296112 Client connects to port 33943 05:46:25.296141 ====> Client established passive DATA connection on port 33943 05:46:25.296235 < "TYPE I" 05:46:25.296266 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.296428 < "SIZE verifiedserver" 05:46:25.296470 > "213 17[CR][LF]" 05:46:25.296616 < "RETR verifiedserver" 05:46:25.296649 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.296742 =====> Closing passive DATA connection... 05:46:25.296758 Server disconnects passive DATA connection 05:46:25.296980 Server disconnected passive DATA connection 05:46:25.297007 DATA sockfilt for passive data channel quits (pid 105412) 05:46:25.297289 DATA sockfilt for passive data channel quit (pid 105412) 05:46:25.297312 =====> Closed passive DATA connection 05:46:25.297343 > "226 File transfer complete[CR][LF]" 05:46:25.342779 < "QUIT" 05:46:25.342847 > "221 bye bye baby[CR][LF]" 05:46:25.344170 MAIN sockfilt said DISC 05:46:25.344202 ====> Client disconnected 05:46:25.344282 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.742685 ====> Client connect 05:46:25.743030 Received DATA (on stdin) 05:46:25.743048 > 146 bytes data, server => client 05:46:25.743060 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.743071 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.743081 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.743168 < 16 bytes data, client => server 05:46:25.743185 'USER anonymous\r\n' 05:46:25.743405 Received DATA (on stdin) 05:46:25.743419 > 33 bytes data, server => client 05:46:25.743430 '331 We are happy you popped in!\r\n' 05:46:25.743489 < 22 bytes data, client => server 05:46:25.743505 'PASS ftp@example.com\r\n' 05:46:25.743635 Received DATA (on stdin) 05:46:25.743669 > 30 bytes data, server => client 05:46:25.743680 '230 Welcome you silly person\r\n' 05:46:25.747042 < 5 bytes data, client => server 05:46:25.747062 'PWD\r\n' 05:46:25.747186 Received DATA (on stdin) 05:46:25.747196 > 30 bytes data, server => client 05:46:25.747206 '257 "/" is current directory\r\n' 05:46:25.747263 < 6 bytes data, client => server 05:46:25.747272 'EPSV\r\n' 05:46:25.757277 Received DATA (on stdin) 05:46:25.757295 > 39 bytes data, server => client 05:46:25.757306 '229 Entering Passive Mode (|||33943|)\r\n' 05:46:25.757492 < 8 bytes data, client => server 05:46:25.757506 'TYPE I\r\n' 05:46:25.757730 Received DATA (on stdin) 05:46:25.757741 > 33 bytes data, server => client 05:46:25.757754 '200 I modify TYPE as you wanted\r\n' 05:46:25.757806 < 21 bytes data, client => server 05:46:25.757817 'SIZE verifiedserver\r\n' 05:46:25.757931 Received DATA (on stdin) 05:46:25.757941 > 8 bytes data, server => client 05:46:25.757951 '213 17\r\n' 05:46:25.757996 < 21 bytes data, client => server 05:46:25.758007 'RETR verifiedserver\r\n' 05:46:25.758220 Received DATA (on stdin) 05:46:25.758232 > 29 bytes data, server => client 05:46:25.758242 '150 Binary junk (17 bytes).\r\n' 05:46:25.758805 Received DATA (on stdin) 05:46:25.758817 > 28 bytes data, server => client 05:46:25.758828 '226 File transfer complete\r\n' 05:46:25.804035 < 6 bytes data, client => server 05:46:25.804061 'QUIT\r\n' 05:46:25.804315 Received DATA (on stdin) 05:46:25.804327 > 18 bytes data, server => client 05:46:25.804337 '221 bye bye baby\r\n' 05:46:25.805577 ====> Client disconnect 05:46:25.805743 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.749617 Running IPv4 version 05:46:25.749730 Listening on port 33943 05:46:25.749771 Wrote pid 105412 to log/11/server/ftp_sockdata.pid 05:46:25.752111 Received PING (on stdin) 05:46:25.756995 Received PORT (on stdin) 05:46:25.757527 ====> Client connect 05:46:25.758266 Received DATA (on stdin) 05:46:25.758279 > 17 bytes data, server => client 05:46:25.758289 'WE ROOLZ: 81984\r\n' 05:46:25.758312 Received DISC (on stdin) 05:46:25.758323 ====> Client forcibly disconnected 05:46:25.758475 Received QUIT (on stdin) 05:46:25.758485 quits 05:46:25.758566 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 521 === End of file server.cmd === Start of file stderr521 URL: ftp://127.0.0.1/521/ === End of file stderr521 === Start of file valgrind521 ==105454== ==105454== Process terminating with default action of signal 4 (SIGILL) ==105454== Illegal opcode at address 0x51D8933 ==105454== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105454== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105454== by 0x51D8933: Curl_open (url.c:503) ==105454== by 0x514E50CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:44673/file530 > log/16/stdout530 2> log/16/stderr530 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:39591/path/528 > log/3/stdout528 2> log/3/stderr528 F: curl_easy_init (easy.c:350) ==105454== by 0x4013CD0: test_lib521.lto_priv.0 (lib521.c:40) ==105454== by 0x40034B5: main (first.c:279) === End of file valgrind521 test 0513...[send HTTP POST using read callback that returns CURL_READFUNC_ABORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:40253/513 > log/4/stdout513 2> log/4/stderr513 libtests returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/4/ directory after test 513 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:40253/513 > log/4/stdout513 2> log/4/stderr513 === End of file commands.log === Start of file http_server.log 05:46:24.080002 ====> Client connect 05:46:24.080039 accept_connection 3 returned 4 05:46:24.080062 accept_connection 3 returned 0 05:46:24.080093 Read 93 bytes 05:46:24.080105 Process 93 bytes request 05:46:24.080119 Got request: GET /verifiedserver HTTP/1.1 05:46:24.080128 Are-we-friendly question received 05:46:24.080156 Wrote request (93 bytes) input to log/4/server.input 05:46:24.080175 Identifying ourselves as friends 05:46:24.080245 Response sent (56 bytes) and written to log/4/server.response 05:46:24.080257 special request received, no persistency 05:46:24.080266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:40253/513 === End of file stderr513 === Start of file valgrind513 ==104945== ==104945== Process terminating with default action of signal 4 (SIGILL) ==104945== Illegal opcode at address 0x51D8933 ==104945== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104945== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104945== by 0x51D8933: Curl_open (url.c:503) ==104945== by 0x514E50F: curl_easy_init (easy.c:350) ==104945== by 0x400A74A: test_lib513.lto_priv.0 (lib513.c:45) ==104945== by 0x40034B5: main (first.c:279) === End of file valgrind513 test 0530...[multi_socket interface transfer with callbacks returning error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:44673/file530 > log/16/stdout530 2> log/16/stderr530 libtests returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/16/ directory after test 530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:44673/file530 > log/16/stdout530 2> log/16/stderr530 === End of file commands.log === Start of file http_server.log 05:46:26.418080 ====> Client connect 05:46:26.418129 accept_connection 3 returned 4 05:46:26.418144 accept_connection 3 returned 0 05:46:26.418159 Read 93 bytes 05:46:26.418167 Process 93 bytes request 05:46:26.418180 Got request: GET /verifiedserver HTTP/1.1 05:46:26.418189 Are-we-friendly question received 05:46:26.418212 Wrote request (93 bytes) input to log/16/server.input 05:46:26.418227 Identifying ourselves as friends 05:46:26.418278 Response sent (56 bytes) and written to log/16/server.response 05:46:26.418287 special request received, no persistency 05:46:26.418296 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 42720 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 530 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:44673/file530 [T530-0-0] [0/0] start === End of file stderr530 === Start of file valgrind530 ==106023== ==106023== Process terminating with default action of signal 4 (SIGILL) ==106023== Illegal opcode at address 0x51D8933 ==106023== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106023== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106023== by 0x51D8933: Curl_open (url.c:503) ==106023== by 0x514E50F: curl_easy_init (easy.c:350) ==106023== by 0x40119E5: testone (lib530.c:297) ==106023== by 0x40126D8: test_lib530.lto_priv.0 (lib530.c:395) ==106023== by 0x40034B5: main (first.c:279) === End of file valgrind530 test 0528...[HTTP GET same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:39591/path/528 > log/3/stdout528 2> log/3/stderr528 528: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 528 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:39591/path/528 > log/3/stdout528 2> log/3/stderr528 === End of file commands.log === Start of file http_server.log 05:46:26.172606 ====> Client connect 05:46:26.172639 accept_connection 3 returned 4 05:46:26.172655 accept_connection 3 returned 0 05:46:26.172670 Read 93 bytes 05:46:26.172679 Process 93 bytes request 05:46:26.172692 Got request: GET /verifiedserver HTTP/1.1 05:46:26.172701 Are-we-friendly question received 05:46:26.172725 Wrote request (93 bytes) input to log/3/server.input 05:46:26.172740 Identifying ourselves as friends 05:46:26.172794 Response sent (56 bytes) and written to log/3/server.response 05:46:26.172803 special request received, no persistency 05:46:26.172811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 54750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 528 === End of file server.cmd === Start of file server.resCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:41623/path/527 > log/1/stdout527 2> log/1/stderr527 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:39013 > log/7/stdout523 2> log/7/stderr523 ponse HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:39591/path/528 === End of file stderr528 === Start of file valgrind528 ==105822== ==105822== Process terminating with default action of signal 4 (SIGILL) ==105822== Illegal opcode at address 0x51D8933 ==105822== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105822== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105822== by 0x51D8933: Curl_open (url.c:503) ==105822== by 0x514E50F: curl_easy_init (easy.c:350) ==105822== by 0x4010E69: test_lib526.lto_priv.0 (lib526.c:63) ==105822== by 0x40034B5: main (first.c:279) === End of file valgrind528 test 0527...[FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:41623/path/527 > log/1/stdout527 2> log/1/stderr527 527: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:41623/path/527 > log/1/stdout527 2> log/1/stderr527 === End of file commands.log === Start of file ftp_server.log 05:46:25.582146 ====> Client connect 05:46:25.582353 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.583454 < "USER anonymous" 05:46:25.583496 > "331 We are happy you popped in![CR][LF]" 05:46:25.583677 < "PASS ftp@example.com" 05:46:25.583704 > "230 Welcome you silly person[CR][LF]" 05:46:25.583838 < "PWD" 05:46:25.583881 > "257 "/" is current directory[CR][LF]" 05:46:25.584024 < "EPSV" 05:46:25.584046 ====> Passive DATA channel requested by client 05:46:25.584058 DATA sockfilt for passive data channel starting... 05:46:25.588948 DATA sockfilt for passive data channel started (pid 105688) 05:46:25.589057 DATA sockfilt for passive data channel listens on port 38081 05:46:25.589093 > "229 Entering Passive Mode (|||38081|)[CR][LF]" 05:46:25.589108 Client has been notified that DATA conn will be accepted on port 38081 05:46:25.592222 Client connects to port 38081 05:46:25.592263 ====> Client established passive DATA connection on port 38081 05:46:25.592351 < "TYPE I" 05:46:25.592383 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.592538 < "SIZE verifiedserver" 05:46:25.592574 > "213 17[CR][LF]" 05:46:25.592702 < "RETR verifiedserver" 05:46:25.592731 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.592828 =====> Closing passive DATA connection... 05:46:25.592844 Server disconnects passive DATA connection 05:46:25.593051 Server disconnected passive DATA connection 05:46:25.593075 DATA sockfilt for passive data channel quits (pid 105688) 05:46:25.593286 DATA sockfilt for passive data channel quit (pid 105688) 05:46:25.593307 =====> Closed passive DATA connection 05:46:25.593331 > "226 File transfer complete[CR][LF]" 05:46:25.642543 < "QUIT" 05:46:25.642603 > "221 bye bye baby[CR][LF]" 05:46:25.643726 MAIN sockfilt said DISC 05:46:25.643756 ====> Client disconnected 05:46:25.643834 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.042821 ====> Client connect 05:46:25.043831 Received DATA (on stdin) 05:46:25.044130 > 146 bytes data, server => client 05:46:25.044146 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.044156 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.044164 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.044748 < 16 bytes data, client => server 05:46:25.044763 'USER anonymous\r\n' 05:46:25.044958 Received DATA (on stdin) 05:46:25.044968 > 33 bytes data, server => client 05:46:25.044978 '331 We are happy you popped in!\r\n' 05:46:25.045030 < 22 bytes data, client => server 05:46:25.045039 'PASS ftp@example.com\r\n' 05:46:25.045163 Received DATA (on stdin) 05:46:25.045172 > 30 bytes data, server => client 05:46:25.045181 '230 Welcome you silly person\r\n' 05:46:25.045224 < 5 bytes data, client => server 05:46:25.045233 'PWD\r\n' 05:46:25.045343 Received DATA (on stdin) 05:46:25.045352 > 30 bytes data, server => client 05:46:25.045361 '257 "/" is current directory\r\n' 05:46:25.045413 < 6 bytes data, client => server 05:46:25.045422 'EPSV\r\n' 05:46:25.050574 Received DATA (on stdin) 05:46:25.050588 > 39 bytes data, server => client 05:46:25.050598 '229 Entering Passive Mode (|||38081|)\r\n' 05:46:25.050739 < 8 bytes data, client => server 05:46:25.050751 'TYPE I\r\n' 05:46:25.053845 Received DATA (on stdin) 05:46:25.053858 > 33 bytes data, server => client 05:46:25.053867 '200 I modify TYPE as you wanted\r\n' 05:46:25.053923 < 21 bytes data, client => server 05:46:25.053932 'SIZE verifiedserver\r\n' 05:46:25.054032 Received DATA (on stdin) 05:46:25.054042 > 8 bytes data, server => client 05:46:25.054050 '213 17\r\n' 05:46:25.054091 < 21 bytes data, client => server 05:46:25.054100 'RETR verifiedserver\r\n' 05:46:25.054304 Received DATA (on stdin) 05:46:25.054314 > 29 bytes data, server => client 05:46:25.054323 '150 Binary junk (17 bytes).\r\n' 05:46:25.054790 Received DATA (on stdin) 05:46:25.054801 > 28 bytes data, server => client 05:46:25.054810 '226 File transfer complete\r\n' 05:46:25.103807 < 6 bytes data, client => server 05:46:25.103845 'QUIT\r\n' 05:46:25.104069 Received DATA (on stdin) 05:46:25.104080 > 18 bytes data, server => client 05:46:25.104091 '221 bye bye baby\r\n' 05:46:25.105137 ====> Client disconnect 05:46:25.105295 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.046929 Running IPv4 version 05:46:25.047000 Listening on port 38081 05:46:25.047048 Wrote pid 105688 to log/1/server/ftp_sockdata.pid 05:46:25.050347 Received PING (on stdin) 05:46:25.050435 Received PORT (on stdin) 05:46:25.050768 ====> Client connect 05:46:25.054346 Received DATA (on stdin) 05:46:25.054357 > 17 bytes data, server => client 05:46:25.054367 'WE ROOLZ: 81663\r\n' 05:46:25.054388 Received DISC (on stdin) 05:46:25.054398 ====> Client forcibly disconnected 05:46:25.054540 Received QUIT (on stdin) 05:46:25.054549 quits 05:46:25.054612 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 527 === End of file server.cmd === Start of file stderr527 URL: ftp://127.0.0.1:41623/path/527 === End of file stderr527 === Start of file valgrind527 ==105767== ==105767== Process terminating with default action of signal 4 (SIGILL) ==105767== Illegal opcode at address 0x51D8933 ==105767== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105767== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105767== by 0x51D8933: Curl_open (url.c:503) ==105767== by 0x514E50F: curl_easy_init (easy.c:350) ==105767== by 0x4010E69: test_lib526.lto_priv.0 (lib526.c:63) ==105767== by 0x40034B5: main (first.c:279) === End of file valgrind527 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:45453/path/525 log/19/upload525 > log/19/stdout525 2> log/19/stderr525 test 0523...[HTTP GET with proxy and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:39013 > log/7/stdout523 2> log/7/stderr523 523: stdout FAILED: --- log/7/check-expected 2026-03-14 05:46:28.191282703 +0000 +++ log/7/check-generated 2026-03-14 05:46:28.191282703 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ directory after test 523 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:39013 > log/7/stdout523 2> log/7/stderr523 === End of file commands.log === Start of file http_server.log 05:46:24.913687 ====> Client connect 05:46:24.913721 accept_connection 3 returned 4 05:46:24.913736 accept_connection 3 returned 0 05:46:24.914901 Read 93 bytes 05:46:24.914920 Process 93 bytes request 05:46:24.914937 Got request: GET /verifiedserver HTTP/1.1 05:46:24.914947 Are-we-friendly question received 05:46:24.914982 Wrote request (93 bytes) input to log/7/server.input 05:46:24.915002 Identifying ourselves as friends 05:46:24.915071 Response sent (56 bytes) and written to log/7/server.response 05:46:24.915082 special request received, no persistency 05:46:24.915091 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 49946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==105607== ==105607== Process terminating with default action of signal 4 (SIGILL) ==105607== Illegal opcode at address 0x51D8933 ==105607== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105607== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105607== by 0x51D8933: Curl_open (url.c:503) ==105607== by 0x514E50F: curl_easy_init (easy.c:350) ==105607== by 0x400AEAA: test_lib523.lto_priv.0 (lib523.c:36) ==105607== by 0x40034B5: main (first.c:279) === End of file valgrind523 test 0525...[FTP PORT upload using multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:45453/path/525 log/19/upload525 > log/19/stdout525 2> log/19/stderr525 525: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:45453/path/525 log/19/upload525 > log/19/stdout525 2> log/19/stderr525 === End of file commands.log === Start of file ftp_server.log 05:46:25.545576 ====> Client connect 05:46:25.545767 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.552488 < "USER anonymous" 05:46:25.552549 > "331 We are happy you popped in![CR][LF]" 05:46:25.552795 < "PASS ftp@example.com" 05:46:25.552838 > "230 Welcome you silly person[CR][LF]" 05:46:25.553009 < "PWD" 05:46:25.553048 > "257 "/" is current directory[CR][LF]" 05:46:25.553219 < "EPSV" 05:46:25.553247 ====> Passive DATA channel requested by client 05:46:25.553261 DATA sockfilt for passive data channel starting... 05:46:25.559840 DATA sockfilt for passive data channel started (pid 105666) 05:46:25.559967 DATA sockfilt for passive data channel listens on port 42701 05:46:25.560013 > "229 Entering Passive Mode (|||42701|)[CR][LF]" 05:46:25.560031 Client has been notified that DATA conn will be accepted on port 42701 05:46:25.562605 Client connects to port 42701 05:46:25.562667 ====> Client established passive DATA connection on port 42701 05:46:25.562782 < "TYPE I" 05:46:25.562821 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.563017 < "SIZE verifiedserver" 05:46:25.563063 > "213 17[CR][LF]" 05:46:25.569000 < "RETR verifiedserver" 05:46:25.569059 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.569173 =====> Closing passive DATA connection... 05:46:25.569190 Server disconnects passive DATA connection 05:46:25.569487 Server disconnected passive DATA connection 05:46:25.569521 DATA sockfilt for passive data channel quits (pid 105666) 05:46:25.572244 DATA sockfilt for passive data channel quit (pid 105666) 05:46:25.572283 =====> Closed passive DATA connection 05:46:25.572319 > "226 File transfer complete[CR][LF]" 05:46:25.615498 < "QUIT" 05:46:25.615584 > "221 bye bye baby[CR][LF]" 05:46:25.617323 MAIN sockfilt said DISC 05:46:25.617360 ====> Client disconnected 05:46:25.617470 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.003685 ====> Client connect 05:46:25.007249 Received DATA (on stdin) 05:46:25.007269 > 146 bytes data, server => client 05:46:25.007280 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.007290 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.007299 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.013689 < 16 bytes data, client => server 05:46:25.013733 'USER anonymous\r\n' 05:46:25.014019 Received DATA (on stdin) 05:46:25.014034 > 33 bytes data, server => client 05:46:25.014044 '331 We are happy you popped in!\r\n' 05:46:25.014140 < 22 bytes data, client => server 05:46:25.014154 'PASS ftp@example.com\r\n' 05:46:25.014301 Received DATA (on stdin) 05:46:25.014313 > 30 bytes data, server => client 05:46:25.014324 '230 Welcome you silly person\r\n' 05:46:25.014380 < 5 bytes data, client => server 05:46:25.014391 'PWD\r\n' 05:46:25.014510 Received DATA (on stdin) 05:46:25.014522 > 30 bytes data, server => client 05:46:25.014531 '257 "/" is current directory\r\n' 05:46:25.014593 < 6 bytes data, client => server 05:46:25.014604 'EPSV\r\n' 05:46:25.023665 Received DATA (on stdin) 05:46:25.023706 > 39 bytes data, server => client 05:46:25.023717 '229 Entering Passive Mode (|||42701|)\r\n' 05:46:25.023947 < 8 bytes data, client => server 05:46:25.023966 'TYPE I\r\n' 05:46:25.024293 Received DATA (on stdin) 05:46:25.024306 > 33 bytes data, server => client 05:46:25.024317 '200 I modify TYPE as you wanted\r\n' 05:46:25.024380 < 21 bytes data, client => server 05:46:25.024392 'SIZE verifiedserver\r\n' 05:46:25.024526 Received DATA (on stdin) 05:46:25.024537 > 8 bytes data, server => client 05:46:25.024547 '213 17\r\n' 05:46:25.024600 < 21 bytes data, client => server 05:46:25.024611 'RETR verifiedserver\r\n' 05:46:25.030775 Received DATA (on stdin) 05:46:25.030791 > 29 bytes data, server => client 05:46:25.030801 '150 Binary junk (17 bytes).\r\n' 05:46:25.033794 Received DATA (on stdin) 05:46:25.033812 > 28 bytes data, server => client 05:46:25.033823 '226 File transfer complete\r\n' 05:46:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:35305/path/532 > log/17/stdout532 2> log/17/stderr532 5.076747 < 6 bytes data, client => server 05:46:25.076774 'QUIT\r\n' 05:46:25.077063 Received DATA (on stdin) 05:46:25.077079 > 18 bytes data, server => client 05:46:25.077091 '221 bye bye baby\r\n' 05:46:25.078719 ====> Client disconnect 05:46:25.078939 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.020982 Running IPv4 version 05:46:25.021047 Listening on port 42701 05:46:25.021079 Wrote pid 105666 to log/19/server/ftp_sockdata.pid 05:46:25.021241 Received PING (on stdin) 05:46:25.021333 Received PORT (on stdin) 05:46:25.023995 ====> Client connect 05:46:25.030663 Received DATA (on stdin) 05:46:25.030682 > 17 bytes data, server => client 05:46:25.030692 'WE ROOLZ: 81129\r\n' 05:46:25.030732 Received DISC (on stdin) 05:46:25.030744 ====> Client forcibly disconnected 05:46:25.030998 Received QUIT (on stdin) 05:46:25.031013 quits 05:46:25.031094 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 525 === End of file server.cmd === Start of file stderr525 URL: ftp://127.0.0.1:45453/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==105765== ==105765== Process terminating with default action of signal 4 (SIGILL) ==105765== Illegal opcode at address 0x51D8933 ==105765== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105765== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105765== by 0x51D8933: Curl_open (url.c:503) ==105765== by 0x514E50F: curl_easy_init (easy.c:350) ==105765== by 0x40104FC: test_lib525.lto_priv.0 (lib525.c:69) ==105765== by 0x40034B5: main (first.c:279) === End of file valgrind525 test 0532...[FTP RETR same file using reset handles between each transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:35305/path/532 > log/17/stdout532 2> log/17/stderr532 532: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:35305/path/532 > log/17/stdout532 2> log/17/stderr532 === End of file commands.log === Start of file ftp_server.log 05:46:26.165576 ====> Client connect 05:46:26.165812 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:26.169277 < "USER anonymous" 05:46:26.169325 > "331 We are happy you popped in![CR][LF]" 05:46:26.169504 < "PASS ftp@example.com" 05:46:26.169536 > "230 Welcome you silly person[CR][LF]" 05:46:26.169692 < "PWD" 05:46:26.169722 > "257 "/" is current directory[CR][LF]" 05:46:26.169887 < "EPSV" 05:46:26.169914 ====> Passive DATA channel requested by client 05:46:26.169930 DATA sockfilt for passive data channel starting... 05:46:26.180123 DATA sockfilt for passive data channel started (pid 106146) 05:46:26.180258 DATA sockfilt for passive data channel listens on port 38113 05:46:26.180308 > "229 Entering Passive Mode (|||38113|)[CR][LF]" 05:46:26.180330 Client has been notified that DATA conn will be accepted on port 38113 05:46:26.180648 Client connects to port 38113 05:46:26.180680 ====> Client established passive DATA connection on port 38113 05:46:26.180781 < "TYPE I" 05:46:26.180818 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:26.180989 < "SIZE verifiedserver" 05:46:26.181030 > "213 17[CR][LF]" 05:46:26.181196 < "RETR verifiedserver" 05:46:26.181237 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:26.181336 =====> Closing passive DATA connection... 05:46:26.181355 Server disconnects passive DATA connection 05:46:26.181593 Server disconnected passive DATA connection 05:46:26.181623 DATA sockfilt for passive data channel quits (pid 106146) 05:46:26.181910 DATA sockfilt for passive data channel quit (pid 106146) 05:46:26.181939 =====> Closed passive DATA connection 05:46:26.181968 > "226 File transfer complete[CR][LF]" 05:46:26.225919 < "QUIT" 05:46:26.225978 > "221 bye bye baby[CR][LF]" 05:46:26.227182 MAIN sockfilt said DISC 05:46:26.227218 ====> Client disconnected 05:46:26.227312 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.613677 ====> Client connect 05:46:25.630341 Received DATA (on stdin) 05:46:25.630382 > 146 bytes data, server => client 05:46:25.630395 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.630405 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.630413 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.630562 < 16 bytes data, client => server 05:46:25.630581 'USER anonymous\r\n' 05:46:25.630792 Received DATA (on stdin) 05:46:25.630805 > 33 bytes data, server => client 05:46:25.630815 '331 We are happy you popped in!\r\n' 05:46:25.630871 < 22 bytes data, client => server 05:46:25.630883 'PASS ftp@example.com\r\n' 05:46:25.630998 Received DATA (on stdin) 05:46:25.631010 > 30 bytes data, server => client 05:46:25.631020 '230 Welcome you silly person\r\n' 05:46:25.631071 < 5 bytes data, client => server 05:46:25.631081 'PWD\r\n' 05:46:25.631182 Received DATA (on stdin) 05:46:25.631193 > 30 bytes data, server => client 05:46:25.631203 '257 "/" is current directory\r\n' 05:46:25.631262 < 6 bytes data, client => server 05:46:25.631274 'EPSV\r\n' 05:46:25.641806 Received DATA (on stdin) 05:46:25.641825 > 39 bytes data, server => client 05:46:25.641836 '229 Entering Passive Mode (|||38113|)\r\n' 05:46:25.642024 < 8 bytes data, client => server 05:46:25.642040 'TYPE I\r\n' 05:46:25.642284 Received DATA (on stdin) 05:46:25.642296 > 33 bytes data, server => client 05:46:25.642306 '200 I modify TYPE as you wanted\r\n' 05:46:25.642360 < 21 bytes data, client => server 05:46:25.642373 'SIZE verifiedserver\r\n' 05:46:25.642494 Received DATA (on stdin) 05:46:25.642506 > 8 bytes data, server => client 05:46:25.642516 '213 17\r\n' 05:46:25.642567 < 21 bytes data, client => server 05:46:25.642580 'RETR verifiedserver\r\n' 05:46:25.642821 Received DATA (on stdin) 05:46:25.642833 > 29 bytes data, server => client 05:46:25.642843 '150 Binary junk (17 bytes).\r\n' 05:46:25.643432 Received DATA (on stdin) 05:46:25.643444 > 28 bytes data, server => client 05:46:25.643455 '226 File transfer complete\r\n' 05:46:25.687171 < 6 bytes data, client => server 05:46:25.687209 'QUIT\r\n' 05:46:25.687444 Received DATA (on stdin) 05:46:25.687455 > 18 bytes data, server => client 05:46:25.687466 '221 bye bye baby\r\n' 05:46:25.688586 ====> Client disconnect 05:46:25.688779 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:26.641204 Running IPv4 version 05:46:26.641296 Listening on port 38113 05:46:26.641341 Wrote pid 106146 to log/17/server/ftp_sockdata.pid 05:46:26.641523 Received PING (on stdin) 05:46:26.641621 Received PORT (on stdin) 05:46:26.642062 ====> Client connect 05:46:26.642870 Received DATA (on stdin) 05:46:26.642882 > 17 bytes data, server => client 05:46:26.642892 'WE ROOLZ: 81141\r\n' 05:46:26.642917 Received DISC (on stdin) 05:46:26.642928 ====> Client forcibly disconnected 05:46:26.643093 Received QUIT (on stdin) 05:46:26.643104 quits 05:46:26.643173 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 532 === End of file server.cmd === Start of file stderr532 URL: ftp://127.0.0.1:35305/path/532 === End of file stderr532 === Start of file valgrind532 ==106196== ==106196== Process terminating with default action of signal 4 (SIGILL) ==106196== Illegal opcode CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:33915/path/529 log/12/upload529 > log/12/stdout529 2> log/12/stderr529 at address 0x51D8933 ==106196== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106196== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106196== by 0x51D8933: Curl_open (url.c:503) ==106196== by 0x514E50F: curl_easy_init (easy.c:350) ==106196== by 0x4010E69: test_lib526.lto_priv.0 (lib526.c:63) ==106196== by 0x40034B5: main (first.c:279) === End of file valgrind532 test 0514...[First set options to POST and then to make HEAD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:35621/514 > log/5/stdout514 2> log/5/stderr514 514: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:35621/514 > log/5/stdout514 2> log/5/stderr514 === End of file commands.log === Start of file http_server.log 05:46:25.103738 ====> Client connect 05:46:25.103774 accept_connection 3 returned 4 05:46:25.103790 accept_connection 3 returned 0 05:46:25.103805 Read 93 bytes 05:46:25.103815 Process 93 bytes request 05:46:25.103829 Got request: GET /verifiedserver HTTP/1.1 05:46:25.103837 Are-we-friendly question received 05:46:25.103874 Wrote request (93 bytes) input to log/5/server.input 05:46:25.103890 Identifying ourselves as friends 05:46:25.103959 Response sent (56 bytes) and written to log/5/server.response 05:46:25.103968 special request received, no persistency 05:46:25.103976 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 38186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:35621/514 === End of file stderr514 === Start of file valgrind514 ==104977== ==104977== Process terminating with default action of signal 4 (SIGILL) ==104977== Illegal opcode at address 0x51D8933 ==104977== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==104977== by 0x51D8933: UnknownInlinedFun (request.c:40) ==104977== by 0x51D8933: Curl_open (url.c:503) ==104977== by 0x514E50F: curl_easy_init (easy.c:350) ==104977== by 0x400A8AA: test_lib514.lto_priv.0 (lib514.c:36) ==104977== by 0x40034B5: main (first.c:279) === End of file valgrind514 test 0529...[FTP PORT upload using multi interface (weird cleanup function sequence)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:33915/path/529 log/12/upload529 > log/12/stdout529 2> log/12/stderr529 529: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:33915/path/529 log/12/upload529 > log/12/stdout529 2> log/12/stderr529 === End of file commands.log === Start of file ftp_server.log 05:46:25.922279 ====> Client connect 05:46:25.922490 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.925977 < "USER anonymous" 05:46:25.926031 > "331 We are happy you popped in![CR][LF]" 05:46:25.926231 < "PASS ftp@example.com" 05:46:25.926268 > "230 Welcome you silly person[CR][LF]" 05:46:25.926454 < "PWD" 05:46:25.926493 > "257 "/" is current directory[CR][LF]" 05:46:25.926685 < "EPSV" 05:46:25.926713 ====> Passive DATA channel requested by client 05:46:25.926728 DATA sockfilt for passive data channel starting... 05:46:25.932466 DATA sockfilt for passive data channel started (pid 106013) 05:46:25.935649 DATA sockfilt for passive data channel listens on port 36317 05:46:25.935724 > "229 Entering Passive Mode (|||36317|)[CR][LF]" 05:46:25.935750 Client has been notified that DATA conn will be accepted on port 36317 05:46:25.942238 Client connects to port 36317 05:46:25.942339 ====> Client established passive DATA connection on port 36317 05:46:25.942460 < "TYPE I" 05:46:25.942507 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.943112 < "SIZE verifiedserver" 05:46:25.943153 > "213 17[CR][LF]" 05:46:25.943308 < "RETR verifiedserver" 05:46:25.943342 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.943443 =====> Closing passive DATA connection... 05:46:25.943460 Server disconnects passive DATA connection 05:46:25.948903 Server disconnected passive DATA connection 05:46:25.948981 DATA sockfilt for passive data channel quits (pid 106013) 05:46:25.949341 DATA sockfilt for passive data channel quit (pid 106013) 05:46:25.949371 =====> Closed passive DATA connection 05:46:25.949414 > "226 File transfer complete[CR][LF]" 05:46:25.995794 < "QUIT" 05:46:25.995866 > "221 bye bye baby[CR][LF]" 05:46:26.000264 MAIN sockfilt said DISC 05:46:26.000319 ====> Client disconnected 05:46:26.000440 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:26.383584 ====> Client connect 05:46:26.383975 Received DATA (on stdin) 05:46:26.383993 > 146 bytes data, server => client 05:46:26.384005 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:26.384016 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:26.384025 '220 \___|\___/|_| \_\_____|\r\n' 05:46:26.387243 < 16 bytes data, client => server 05:46:26.387266 'USER anonymous\r\n' 05:46:26.387504 Received DATA (on stdin) 05:46:26.387519 > 33 bytes data, server => client 05:46:26.387531 '331 We are happy you popped in!\r\n' 05:46:26.387589 < 22 bytes data, client => server 05:46:26.387605 'PASS ftp@example.com\r\n' 05:46:26.387736 Received DATA (on stdin) 05:46:26.387750 > 30 bytes data, server => client 05:46:26.387760 '230 Welcome you silly person\r\n' 05:46:26.387816 < 5 bytes data, client => server 05:46:26.387830 'PWD\r\n' 05:46:26.387960 Received DATA (on stdin) 05:46:26.387974 > 30 bytes data, server => client 05:46:26.387985 '257 "/" is current directory\r\n' 05:46:26.388052 < 6 bytes data, client => server 05:46:26.388068 'EPSV\r\n' 05:46:26.397228 Received DATA (on stdin) 05:46:26.397251 > 39 bytes data, server => client 05:46:26.397264 '229 Entering Passive Mode (|||36317|)\r\n' 05:46:26.398319 < 8 bytes data, client => server 05:46:26.398338 'TYPE I\r\n' 05:46:26.403976 Received DATA (on stdin) 05:46:26.403993 > 33 bytes data, server => client 05:46:26.404004 '200 I modify TYPE as you wanted\r\n' 05:46:26.404475 < 21 bytes data, client => server 05:46:26.404493 'SIZE verifiedserver\r\n' 05:46:26.404615 Received DATA (on stdin) 05:46:26.404626 > 8 bytes data, server => client 05:46:26.404636 '213 17\r\n' 05:46:26.404687 < 21 bytes data, client => server 05:46:26.404698 'RETR verifiedserver\r\n' 05:46:26.4049CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:41347/path/526 > log/22/stdout526 2> log/22/stderr526 23 Received DATA (on stdin) 05:46:26.404934 > 29 bytes data, server => client 05:46:26.404944 '150 Binary junk (17 bytes).\r\n' 05:46:26.410892 Received DATA (on stdin) 05:46:26.410910 > 28 bytes data, server => client 05:46:26.410921 '226 File transfer complete\r\n' 05:46:26.457014 < 6 bytes data, client => server 05:46:26.457060 'QUIT\r\n' 05:46:26.457344 Received DATA (on stdin) 05:46:26.457358 > 18 bytes data, server => client 05:46:26.457368 '221 bye bye baby\r\n' 05:46:26.461642 ====> Client disconnect 05:46:26.461904 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.389832 Running IPv4 version 05:46:25.389898 Listening on port 36317 05:46:25.389940 Wrote pid 106013 to log/12/server/ftp_sockdata.pid 05:46:25.393672 Received PING (on stdin) 05:46:25.394184 Received PORT (on stdin) 05:46:25.398288 ====> Client connect 05:46:25.406944 Received DATA (on stdin) 05:46:25.406964 > 17 bytes data, server => client 05:46:25.406974 'WE ROOLZ: 81072\r\n' 05:46:25.407023 Received DISC (on stdin) 05:46:25.407035 ====> Client forcibly disconnected 05:46:25.410479 Received QUIT (on stdin) 05:46:25.410497 quits 05:46:25.410601 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 529 === End of file server.cmd === Start of file stderr529 URL: ftp://127.0.0.1:33915/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==106034== ==106034== Process terminating with default action of signal 4 (SIGILL) ==106034== Illegal opcode at address 0x51D8933 ==106034== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106034== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106034== by 0x51D8933: Curl_open (url.c:503) ==106034== by 0x514E50F: curl_easy_init (easy.c:350) ==106034== by 0x40104FC: test_lib525.lto_priv.0 (lib525.c:69) ==106034== by 0x40034B5: main (first.c:279) === End of file valgrind529 test 0526...[FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:41347/path/526 > log/22/stdout526 2> log/22/stderr526 526: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:41347/path/526 > log/22/stdout526 2> log/22/stderr526 === End of file commands.log === Start of file ftp_server.log 05:46:25.570141 ====> Client connect 05:46:25.570327 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:25.582821 < "USER anonymous" 05:46:25.582892 > "331 We are happy you popped in![CR][LF]" 05:46:25.585895 < "PASS ftp@example.com" 05:46:25.585963 > "230 Welcome you silly person[CR][LF]" 05:46:25.586204 < "PWD" 05:46:25.586256 > "257 "/" is current directory[CR][LF]" 05:46:25.586481 < "EPSV" 05:46:25.586514 ====> Passive DATA channel requested by client 05:46:25.586532 DATA sockfilt for passive data channel starting... 05:46:25.606113 DATA sockfilt for passive data channel started (pid 105691) 05:46:25.606322 DATA sockfilt for passive data channel listens on port 38789 05:46:25.606381 > "229 Entering Passive Mode (|||38789|)[CR][LF]" 05:46:25.606407 Client has been notified that DATA conn will be accepted on port 38789 05:46:25.615649 Client connects to port 38789 05:46:25.615723 ====> Client established passive DATA connection on port 38789 05:46:25.615852 < "TYPE I" 05:46:25.615903 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:25.616143 < "SIZE verifiedserver" 05:46:25.616188 > "213 17[CR][LF]" 05:46:25.616362 < "RETR verifiedserver" 05:46:25.616403 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:25.616512 =====> Closing passive DATA connection... 05:46:25.616532 Server disconnects passive DATA connection 05:46:25.622458 Server disconnected passive DATA connection 05:46:25.622513 DATA sockfilt for passive data channel quits (pid 105691) 05:46:25.622769 DATA sockfilt for passive data channel quit (pid 105691) 05:46:25.622798 =====> Closed passive DATA connection 05:46:25.622842 > "226 File transfer complete[CR][LF]" 05:46:25.675772 < "QUIT" 05:46:25.675843 > "221 bye bye baby[CR][LF]" 05:46:25.688915 MAIN sockfilt said DISC 05:46:25.688998 ====> Client disconnected 05:46:25.689099 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.031493 ====> Client connect 05:46:25.031810 Received DATA (on stdin) 05:46:25.031829 > 146 bytes data, server => client 05:46:25.031841 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.031852 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.031862 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.043681 < 16 bytes data, client => server 05:46:25.043717 'USER anonymous\r\n' 05:46:25.047000 Received DATA (on stdin) 05:46:25.047034 > 33 bytes data, server => client 05:46:25.047049 '331 We are happy you popped in!\r\n' 05:46:25.047177 < 22 bytes data, client => server 05:46:25.047197 'PASS ftp@example.com\r\n' 05:46:25.047443 Received DATA (on stdin) 05:46:25.047459 > 30 bytes data, server => client 05:46:25.047470 '230 Welcome you silly person\r\n' 05:46:25.047543 < 5 bytes data, client => server 05:46:25.047559 'PWD\r\n' 05:46:25.047729 Received DATA (on stdin) 05:46:25.047744 > 30 bytes data, server => client 05:46:25.047755 '257 "/" is current directory\r\n' 05:46:25.047832 < 6 bytes data, client => server 05:46:25.047849 'EPSV\r\n' 05:46:25.073675 Received DATA (on stdin) 05:46:25.073741 > 39 bytes data, server => client 05:46:25.073755 '229 Entering Passive Mode (|||38789|)\r\n' 05:46:25.073980 < 8 bytes data, client => server 05:46:25.073997 'TYPE I\r\n' 05:46:25.077376 Received DATA (on stdin) 05:46:25.077398 > 33 bytes data, server => client 05:46:25.077409 '200 I modify TYPE as you wanted\r\n' 05:46:25.077508 < 21 bytes data, client => server 05:46:25.077525 'SIZE verifiedserver\r\n' 05:46:25.077655 Received DATA (on stdin) 05:46:25.077668 > 8 bytes data, server => client 05:46:25.077678 '213 17\r\n' 05:46:25.077731 < 21 bytes data, client => server 05:46:25.077745 'RETR verifiedserver\r\n' 05:46:25.077999 Received DATA (on stdin) 05:46:25.078012 > 29 bytes data, server => client 05:46:25.078023 '150 Binary junk (17 bytes).\r\n' 05:46:25.084322 Received DATA (on stdin) 05:46:25.084339 > 28 bytes data, server => client 05:46:25.084351 '226 File transfer complete\r\n' 05:46:25.130356 < 6 bytes data, client => server 05:46:25.130386 'QUIT\r\n' 05:46:25.147012 Received DATA (on stdin) 05:46:25.147052 > 18 bytes data, server => client 05:46:25.147063 '221 bye bye baby\r\n' 05:46:25.148280 ====> Client disconnect 05:46:25.153672 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:25.067320 Running IPv4 version 05:46:25.067429 Listening on port 38789 05:46:25.067476 Wrote pid 105691 to log/22/server/ftp_sockdata.pid 05:46:25.067502 Received PING (on stdin) 05:46:25.067650 Received PORT (on stdin) 05:46:25.077020 ====> Client connect 05:46:25.083666 Received DATA (on stdin) 05:46:25.083699 > 17 bytes data, server => client 05:46:25.083709 'WE ROOLZ: 81140\r\n' 05:46:25.083757 Received DISC (on stdin) 05:46:25.083772 ====> Client forcibly disconnected 05:46:25.083993 Received QUIT (on stdin) 05:46:25.084005 quits 05:46:25.084077 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:46299/path/531 log/14/upload531 > log/14/stdout531 2> log/14/stderr531 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:45623 goingdirect.com:45623 goingdirect.com:45623:127.0.0.1 > log/8/stdout536 2> log/8/stderr536 ver.cmd Testnum 526 === End of file server.cmd === Start of file stderr526 URL: ftp://127.0.0.1:41347/path/526 === End of file stderr526 === Start of file valgrind526 ==105809== ==105809== Process terminating with default action of signal 4 (SIGILL) ==105809== Illegal opcode at address 0x51D8933 ==105809== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==105809== by 0x51D8933: UnknownInlinedFun (request.c:40) ==105809== by 0x51D8933: Curl_open (url.c:503) ==105809== by 0x514E50F: curl_easy_init (easy.c:350) ==105809== by 0x4010E69: test_lib526.lto_priv.0 (lib526.c:63) ==105809== by 0x40034B5: main (first.c:279) === End of file valgrind526 test 0531...[FTP PORT upload using multi interface and get 425 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:46299/path/531 log/14/upload531 > log/14/stdout531 2> log/14/stderr531 531: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:46299/path/531 log/14/upload531 > log/14/stdout531 2> log/14/stderr531 === End of file commands.log === Start of file ftp_server.log 05:46:26.123190 ====> Client connect 05:46:26.123355 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:26.123628 < "USER anonymous" 05:46:26.123662 > "331 We are happy you popped in![CR][LF]" 05:46:26.123822 < "PASS ftp@example.com" 05:46:26.123847 > "230 Welcome you silly person[CR][LF]" 05:46:26.123997 < "PWD" 05:46:26.124028 > "257 "/" is current directory[CR][LF]" 05:46:26.124183 < "EPSV" 05:46:26.124207 ====> Passive DATA channel requested by client 05:46:26.124221 DATA sockfilt for passive data channel starting... 05:46:26.129097 DATA sockfilt for passive data channel started (pid 106113) 05:46:26.129228 DATA sockfilt for passive data channel listens on port 40153 05:46:26.129285 > "229 Entering Passive Mode (|||40153|)[CR][LF]" 05:46:26.129305 Client has been notified that DATA conn will be accepted on port 40153 05:46:26.142313 Client connects to port 40153 05:46:26.142388 ====> Client established passive DATA connection on port 40153 05:46:26.142516 < "TYPE I" 05:46:26.142558 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:26.142785 < "SIZE verifiedserver" 05:46:26.142824 > "213 17[CR][LF]" 05:46:26.142976 < "RETR verifiedserver" 05:46:26.143010 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:26.143105 =====> Closing passive DATA connection... 05:46:26.143121 Server disconnects passive DATA connection 05:46:26.143237 Server disconnected passive DATA connection 05:46:26.143258 DATA sockfilt for passive data channel quits (pid 106113) 05:46:26.143552 DATA sockfilt for passive data channel quit (pid 106113) 05:46:26.143576 =====> Closed passive DATA connection 05:46:26.143603 > "226 File transfer complete[CR][LF]" 05:46:26.192533 < "QUIT" 05:46:26.192594 > "221 bye bye baby[CR][LF]" 05:46:26.193801 MAIN sockfilt said DISC 05:46:26.193831 ====> Client disconnected 05:46:26.193918 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:25.584521 ====> Client connect 05:46:25.584826 Received DATA (on stdin) 05:46:25.584840 > 146 bytes data, server => client 05:46:25.584852 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:25.584862 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:25.584871 '220 \___|\___/|_| \_\_____|\r\n' 05:46:25.584944 < 16 bytes data, client => server 05:46:25.584956 'USER anonymous\r\n' 05:46:25.585126 Received DATA (on stdin) 05:46:25.585137 > 33 bytes data, server => client 05:46:25.585147 '331 We are happy you popped in!\r\n' 05:46:25.585198 < 22 bytes data, client => server 05:46:25.585209 'PASS ftp@example.com\r\n' 05:46:25.585307 Received DATA (on stdin) 05:46:25.585318 > 30 bytes data, server => client 05:46:25.585328 '230 Welcome you silly person\r\n' 05:46:25.585379 < 5 bytes data, client => server 05:46:25.585389 'PWD\r\n' 05:46:25.585489 Received DATA (on stdin) 05:46:25.585499 > 30 bytes data, server => client 05:46:25.585509 '257 "/" is current directory\r\n' 05:46:25.585565 < 6 bytes data, client => server 05:46:25.585575 'EPSV\r\n' 05:46:25.590905 Received DATA (on stdin) 05:46:25.590924 > 39 bytes data, server => client 05:46:25.590934 '229 Entering Passive Mode (|||40153|)\r\n' 05:46:25.591641 < 8 bytes data, client => server 05:46:25.591657 'TYPE I\r\n' 05:46:25.604029 Received DATA (on stdin) 05:46:25.604048 > 33 bytes data, server => client 05:46:25.604059 '200 I modify TYPE as you wanted\r\n' 05:46:25.604164 < 21 bytes data, client => server 05:46:25.604175 'SIZE verifiedserver\r\n' 05:46:25.604285 Received DATA (on stdin) 05:46:25.604296 > 8 bytes data, server => client 05:46:25.604305 '213 17\r\n' 05:46:25.604354 < 21 bytes data, client => server 05:46:25.604365 'RETR verifiedserver\r\n' 05:46:25.604935 Received DATA (on stdin) 05:46:25.604948 > 29 bytes data, server => client 05:46:25.604958 '150 Binary junk (17 bytes).\r\n' 05:46:25.605064 Received DATA (on stdin) 05:46:25.605074 > 28 bytes data, server => client 05:46:25.605085 '226 File transfer complete\r\n' 05:46:25.653796 < 6 bytes data, client => server 05:46:25.653826 'QUIT\r\n' 05:46:25.654060 Received DATA (on stdin) 05:46:25.654072 > 18 bytes data, server => client 05:46:25.654082 '221 bye bye baby\r\n' 05:46:25.655213 ====> Client disconnect 05:46:25.655378 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:26.587155 Running IPv4 version 05:46:26.587209 Listening on port 40153 05:46:26.587241 Wrote pid 106113 to log/14/server/ftp_sockdata.pid 05:46:26.590483 Received PING (on stdin) 05:46:26.590596 Received PORT (on stdin) 05:46:26.603676 ====> Client connect 05:46:26.604585 Received DATA (on stdin) 05:46:26.604598 > 17 bytes data, server => client 05:46:26.604608 'WE ROOLZ: 81045\r\n' 05:46:26.604638 Received DISC (on stdin) 05:46:26.604650 ====> Client forcibly disconnected 05:46:26.604726 Received QUIT (on stdin) 05:46:26.604735 quits 05:46:26.604805 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY STOR 425 Permission Denied. File Exists. Testnum 531 === End of file server.cmd === Start of file stderr531 URL: ftp://127.0.0.1:46299/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo do not upload this === End of file upload531 === Start of file valgrind531 ==106171== ==106171== Process terminating with default action of signal 4 (SIGILL) ==106171== Illegal opcode at address 0x51D8933 ==106171== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106171== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106171== by 0x51D8933: Curl_open (url.c:503) ==106171== by 0x514E50F: curl_easy_init (easy.c:350) ==106171== by 0x40104FC: test_lib525.lto_priv.0 (lib525.c:69) ==106171== by 0x40034B5: main (first.c:279) === End of file valgrind531 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:35349/path/534 > log/15/stdout534 2> log/15/stderr534 test 0536...[CURLINFO_USED_PROXY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:45623 goingdirect.com:45623 goingdirect.com:45623:127.0.0.1 > log/8/stdout536 2> log/8/stderr536 536: stdout FAILED: --- log/8/check-expected 2026-03-14 05:46:28.844616036 +0000 +++ log/8/check-generated 2026-03-14 05:46:28.844616036 +0000 @@ -1,4 +0,0 @@ -hello[CR][LF] -This used the proxy[CR][LF] -hello[CR][LF] -This DID NOT use the proxy[CR][LF] == Contents of files in the log/8/ directory after test 536 === Start of file check-expected hello[CR][LF] This used the proxy[CR][LF] hello[CR][LF] This DID NOT use the proxy[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:45623 goingdirect.com:45623 goingdirect.com:45623:127.0.0.1 > log/8/stdout536 2> log/8/stderr536 === End of file commands.log === Start of file http_server.log 05:46:26.254565 ====> Client connect 05:46:26.254602 accept_connection 3 returned 4 05:46:26.254621 accept_connection 3 returned 0 05:46:26.254638 Read 93 bytes 05:46:26.254651 Process 93 bytes request 05:46:26.254665 Got request: GET /verifiedserver HTTP/1.1 05:46:26.254675 Are-we-friendly question received 05:46:26.254703 Wrote request (93 bytes) input to log/8/server.input 05:46:26.254725 Identifying ourselves as friends 05:46:26.254790 Response sent (56 bytes) and written to log/8/server.response 05:46:26.254803 special request received, no persistency 05:46:26.254812 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 55400 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:45623 === End of file stderr536 === Start of file valgrind536 ==106468== ==106468== Process terminating with default action of signal 4 (SIGILL) ==106468== Illegal opcode at address 0x51D8933 ==106468== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106468== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106468== by 0x51D8933: Curl_open (url.c:503) ==106468== by 0x514E50F: curl_easy_init (easy.c:350) ==106468== by 0x400CDA2: test_lib536.lto_priv.0 (lib536.c:48) ==106468== by 0x40034B5: main (first.c:279) === End of file valgrind536 test 0534...[FTP RETR twice using multi: non-existing host and non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:35349/path/534 > log/15/stdout534 2> log/15/stderr534 534: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:35349/path/534 > log/15/stdout534 2> log/15/stderr534 === End of file commands.log === Start of file ftp_server.log 05:46:26.565725 ====> Client connect 05:46:26.565926 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:26.566284 < "USER anonymous" 05:46:26.566324 > "331 We are happy you popped in![CR][LF]" 05:46:26.566516 < "PASS ftp@example.com" 05:46:26.566547 > "230 Welcome you silly person[CR][LF]" 05:46:26.566713 < "PWD" 05:46:26.566749 > "257 "/" is current directory[CR][LF]" 05:46:26.566942 < "EPSV" 05:46:26.566972 ====> Passive DATA channel requested by client 05:46:26.566988 DATA sockfilt for passive data channel starting... 05:46:26.570222 DATA sockfilt for passive data channel started (pid 106349) 05:46:26.570330 DATA sockfilt for passive data channel listens on port 33197 05:46:26.570370 > "229 Entering Passive Mode (|||33197|)[CR][LF]" 05:46:26.570388 Client has been notified that DATA conn will be accepted on port 33197 05:46:26.570636 Client connects to port 33197 05:46:26.570665 ====> Client established passive DATA connection on port 33197 05:46:26.570744 < "TYPE I" 05:46:26.570776 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:26.570926 < "SIZE verifiedserver" 05:46:26.570962 > "213 17[CR][LF]" 05:46:26.571101 < "RETR verifiedserver" 05:46:26.571133 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:26.571216 =====> Closing passive DATA connection... 05:46:26.571233 Server disconnects passive DATA connection 05:46:26.571451 Server disconnected passive DATA connection 05:46:26.571475 DATA sockfilt for passive data channel quits (pid 106349) 05:46:26.571679 DATA sockfilt for passive data channel quit (pid 106349) 05:46:26.571702 =====> Closed passive DATA connection 05:46:26.571727 > "226 File transfer complete[CR][LF]" 05:46:26.625824 < "QUIT" 05:46:26.625918 > "221 bye bye baby[CR][LF]" 05:46:26.635587 MAIN sockfilt said DISC 05:46:26.635674 ====> Client disconnected 05:46:26.635771 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:27.027020 ====> Client connect 05:46:27.027409 Received DATA (on stdin) 05:46:27.027424 > 146 bytes data, server => client 05:46:27.027437 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:27.027448 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:27.027458 '220 \___|\___/|_| \_\_____|\r\n' 05:46:27.027581 < 16 bytes data, client => server 05:46:27.027599 'USER anonymous\r\n' 05:46:27.027791 Received DATA (on stdin) 05:46:27.027805 > 33 bytes data, server => client 05:46:27.027816 '331 We are happy you popped in!\r\n' 05:46:27.027877 < 22 bytes data, client => server 05:46:27.027892 'PASS ftp@example.com\r\n' 05:46:27.028010 Received DATA (on stdin) 05:46:27.028021 > 30 bytes data, server => client 05:46:27.028030 '230 Welcome you silly person\r\n' 05:46:27.028080 < 5 bytes data, client => server 05:46:27.028092 'PWD\r\n' 05:46:27.028213 Received DATA (on stdin) 05:46:27.028225 > 30 bytes data, server => client 05:46:27.028235 '257 "/" is current directory\r\n' 05:46:27.028306 < 6 bytes data, client => server 05:46:27.028322 'EPSV\r\n' 05:46:27.031853 Received DATA (on stdin) 05:46:27.031867 > 39 bytes data, server => client 05:46:27.031878 '229 Entering Passive Mode (|||33197|)\r\n' 05:46:27.032019 < 8 bytes data, client => server 05:46:27.032032 'TYPE I\r\n' 05:46:27.032238 Received DATA (on stdin) 05:46:27.032248 > 33 bytes data, server => client 05:46:27.032259 '200 I modify TYPE as you wanted\r\n' 05:46:27.032306 < 21 bytes data, client => server 05:46:27.032317 'SIZE verifiedserver\r\n' 05:46:27.032421 Received DATA (on stdin) 05:46:27.032431 > 8 bytes data, server => client 05:46:27.032441 '213 17\r\n' 05:46:27.032485 < 21 bytes data, client => server 05:46:27.032495 'RETR verifiedserver\r\n' 05:46:27.032693 Received CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:38929/535 http://127.0.0.1:38929/5350001 > log/20/stdout535 2> log/20/stderr535 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:46845/538 > log/13/stdout538 2> log/13/stderr538 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:34063/path/533 ftp://127.0.0.1:34063/path/533 > log/21/stdout533 2> log/21/stderr533 DATA (on stdin) 05:46:27.032704 > 29 bytes data, server => client 05:46:27.032714 '150 Binary junk (17 bytes).\r\n' 05:46:27.033188 Received DATA (on stdin) 05:46:27.033200 > 28 bytes data, server => client 05:46:27.033211 '226 File transfer complete\r\n' 05:46:27.087053 < 6 bytes data, client => server 05:46:27.087088 'QUIT\r\n' 05:46:27.087387 Received DATA (on stdin) 05:46:27.087401 > 18 bytes data, server => client 05:46:27.087412 '221 bye bye baby\r\n' 05:46:27.094865 ====> Client disconnect 05:46:27.097247 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:26.031383 Running IPv4 version 05:46:26.031448 Listening on port 33197 05:46:26.031482 Wrote pid 106349 to log/15/server/ftp_sockdata.pid 05:46:26.031627 Received PING (on stdin) 05:46:26.031706 Received PORT (on stdin) 05:46:26.032052 ====> Client connect 05:46:26.032737 Received DATA (on stdin) 05:46:26.032748 > 17 bytes data, server => client 05:46:26.032758 'WE ROOLZ: 81070\r\n' 05:46:26.032781 Received DISC (on stdin) 05:46:26.032792 ====> Client forcibly disconnected 05:46:26.032943 Received QUIT (on stdin) 05:46:26.032953 quits 05:46:26.033010 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 534 === End of file server.cmd === Start of file stderr534 URL: ftp://non-existing-host.haxx.se/path/534 === End of file stderr534 === Start of file valgrind534 ==106365== ==106365== Process terminating with default action of signal 4 (SIGILL) ==106365== Illegal opcode at address 0x51D8933 ==106365== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106365== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106365== by 0x51D8933: Curl_open (url.c:503) ==106365== by 0x514E50F: curl_easy_init (easy.c:350) ==106365== by 0x4061EF5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106365== by 0x40034B5: main (first.c:279) === End of file valgrind534 test 0535...[HTTP GET multi two files with FAILONERROR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:38929/535 http://127.0.0.1:38929/5350001 > log/20/stdout535 2> log/20/stderr535 535: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:38929/535 http://127.0.0.1:38929/5350001 > log/20/stdout535 2> log/20/stderr535 === End of file commands.log === Start of file http_server.log 05:46:26.177045 ====> Client connect 05:46:26.177079 accept_connection 3 returned 4 05:46:26.177096 accept_connection 3 returned 0 05:46:26.177110 Read 93 bytes 05:46:26.177120 Process 93 bytes request 05:46:26.177133 Got request: GET /verifiedserver HTTP/1.1 05:46:26.177142 Are-we-friendly question received 05:46:26.177166 Wrote request (93 bytes) input to log/20/server.input 05:46:26.177183 Identifying ourselves as friends 05:46:26.177241 Response sent (56 bytes) and written to log/20/server.response 05:46:26.177251 special request received, no persistency 05:46:26.177260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:38929/535 === End of file stderr535 === Start of file valgrind535 ==106406== ==106406== Process terminating with default action of signal 4 (SIGILL) ==106406== Illegal opcode at address 0x51D8933 ==106406== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106406== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106406== by 0x51D8933: Curl_open (url.c:503) ==106406== by 0x514E50F: curl_easy_init (easy.c:350) ==106406== by 0x4061EF5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106406== by 0x40034B5: main (first.c:279) === End of file valgrind535 test 0538...[FTP multi-interface download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:46845/538 > log/13/stdout538 2> log/13/stderr538 538: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 538 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:46845/538 > log/13/stdout538 2> log/13/stderr538 === End of file commands.log === Start of file ftp_server.log 05:46:26.975576 ====> Client connect 05:46:26.975787 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:26.976113 < "USER anonymous" 05:46:26.976144 > "331 We are happy you popped in![CR][LF]" 05:46:26.976289 < "PASS ftp@example.com" 05:46:26.976312 > "230 Welcome you silly person[CR][LF]" 05:46:26.976444 < "PWD" 05:46:26.976472 > "257 "/" is current directory[CR][LF]" 05:46:26.976613 < "EPSV" 05:46:26.976635 ====> Passive DATA channel requested by client 05:46:26.976647 DATA sockfilt for passive data channel starting... 05:46:26.983480 DATA sockfilt for passive data channel started (pid 106586) 05:46:26.983641 DATA sockfilt for passive data channel listens on port 46811 05:46:26.983701 > "229 Entering Passive Mode (|||46811|)[CR][LF]" 05:46:26.983725 Client has been notified that DATA conn will be accepted on port 46811 05:46:26.984052 Client connects to port 46811 05:46:26.984086 ====> Client established passive DATA connection on port 46811 05:46:26.984190 < "TYPE I" 05:46:26.984225 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:26.984406 < "SIZE verifiedserver" 05:46:26.984455 > "213 17[CR][LF]" 05:46:26.984631 < "RETR verifiedserver" 05:46:26.984667 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:26.984756 =====> Closing passive DATA connection... 05:46:26.984776 Server disconnects passive DATA connection 05:46:26.985046 Server disconnected passive DATA connection 05:46:26.985076 DATA sockfilt for passive data channel quits (pid 106586) 05:46:26.985335 DATA sockfilt for passive data channel quit (pid 106586) 05:46:26.985366 =====> Closed passive DATA connection 05:46:26.985395 > "226 File transfer complete[CR][LF]" 05:46:27.029211 < "QUIT" 05:46:27.029272 > "221 bye bye baby[CR][LF]" 05:46:27.030606 MAIN sockfilt said DISC 05:46:27.030650 ====> Client disconnected 05:46:27.030760 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:27.430104 ====> Client connect 05:46:27.437264 Received DATA (on stdin) 05:46:27.437288 > 146 bytes data, server => client 05:46:27.437299 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:27.437309 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:27.437317 '220 \___|\___/|_| \_\_____|\r\n' 05:46:27.437438 < 16 bytes data, client => server 05:46:27.437450 'USER anonymous\r\n' 05:46:27.437606 Received DATA (on stdin) 05:46:27.437616 > 33 bytes data, server => client 05:46:27.437626 '331 We are happy you popped in!\r\n' 05:46:27.437672 < 22 bytes data, client => server 05:46:27.437681 'PASS ftp@example.com\r\n' 05:46:27.437770 Received DATA (on stdin) 05:46:27.437780 > 30 bytes data, server => client 05:46:27.437789 '230 Welcome you silly person\r\n' 05:46:27.437831 < 5 bytes data, client => server 05:46:27.437841 'PWD\r\n' 05:46:27.437930 Received DATA (on stdin) 05:46:27.437940 > 30 bytes data, server => client 05:46:27.437949 '257 "/" is current directory\r\n' 05:46:27.438001 < 6 bytes data, client => server 05:46:27.438011 'EPSV\r\n' 05:46:27.445201 Received DATA (on stdin) 05:46:27.445219 > 39 bytes data, server => client 05:46:27.445231 '229 Entering Passive Mode (|||46811|)\r\n' 05:46:27.445425 < 8 bytes data, client => server 05:46:27.445443 'TYPE I\r\n' 05:46:27.445689 Received DATA (on stdin) 05:46:27.445702 > 33 bytes data, server => client 05:46:27.445712 '200 I modify TYPE as you wanted\r\n' 05:46:27.445769 < 21 bytes data, client => server 05:46:27.445783 'SIZE verifiedserver\r\n' 05:46:27.445921 Received DATA (on stdin) 05:46:27.445933 > 8 bytes data, server => client 05:46:27.445943 '213 17\r\n' 05:46:27.445999 < 21 bytes data, client => server 05:46:27.446014 'RETR verifiedserver\r\n' 05:46:27.446243 Received DATA (on stdin) 05:46:27.446257 > 29 bytes data, server => client 05:46:27.446268 '150 Binary junk (17 bytes).\r\n' 05:46:27.446859 Received DATA (on stdin) 05:46:27.446873 > 28 bytes data, server => client 05:46:27.446884 '226 File transfer complete\r\n' 05:46:27.490460 < 6 bytes data, client => server 05:46:27.490495 'QUIT\r\n' 05:46:27.490737 Received DATA (on stdin) 05:46:27.490749 > 18 bytes data, server => client 05:46:27.490759 '221 bye bye baby\r\n' 05:46:27.492012 ====> Client disconnect 05:46:27.492226 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:26.444534 Running IPv4 version 05:46:26.444627 Listening on port 46811 05:46:26.444672 Wrote pid 106586 to log/13/server/ftp_sockdata.pid 05:46:26.444879 Received PING (on stdin) 05:46:26.444987 Received PORT (on stdin) 05:46:26.445466 ====> Client connect 05:46:26.446332 Received DATA (on stdin) 05:46:26.446348 > 17 bytes data, server => client 05:46:26.446359 'WE ROOLZ: 81411\r\n' 05:46:26.446388 Received DISC (on stdin) 05:46:26.446400 ====> Client forcibly disconnected 05:46:26.446546 Received QUIT (on stdin) 05:46:26.446557 quits 05:46:26.446643 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 538 === End of file server.cmd === Start of file stderr538 URL: ftp://127.0.0.1:46845/538 === End of file stderr538 === Start of file valgrind538 ==106609== ==106609== Process terminating with default action of signal 4 (SIGILL) ==106609== Illegal opcode at address 0x51D8933 ==106609== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106609== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106609== by 0x51D8933: Curl_open (url.c:503) ==106609== by 0x514E50F: curl_easy_init (easy.c:350) ==106609== by 0x4062F75: test_lib504.part.0.lto_priv.0 (lib504.c:45) ==106609== by 0x40034B5: main (first.c:279) === End of file valgrind538 test 0533...[FTP RETR a non-existing file twice using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:34063/path/533 ftp://127.0.0.1:34063/path/533 > log/21/stdout533 2> log/21/stderr533 533: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:34063/path/533 ftp://127.0.0.1:34063/path/533 > log/21/stdout533 2> log/21/stderr533 === End of file commands.log === Start of file ftp_server.log 05:46:26.242381 ====> Client connect 05:46:26.242610 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:26.242958 < "USER anonymous" 05:46:26.242992 > "331 We are happy you popped in![CR][LF]" 05:46:26.243145 < "PASS ftp@example.com" 05:46:26.243170 > "230 Welcome you silly person[CR][LF]" 05:46:26.243305 < "PWD" 05:46:26.243334 > "257 "/" is current directory[CR][LF]" 05:46:26.243479 < "EPSV" 05:46:26.243507 ====> Passive DATA channel requested by client 05:46:26.243520 DATA sockfilt for passive data channel starting... 05:46:26.249093 DATA sockfilt for passive data channel started (pid 106186) 05:46:26.249228 DATA sockfilt for passive data channel listens on port 34183 05:46:26.249277 > "229 Entering Passive Mode (|||34183|)[CR][LF]" 05:46:26.249292 Client has been notified that DATA conn will be accepted on port 34183 05:46:26.249572 Client connects to port 34183 05:46:26.249600 ====> Client established passive DATA connection on port 34183 05:46:26.249732 < "TYPE I" 05:46:26.249763 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:26.249914 < "SIZE verifiedserver" 05:46:26.249952 > "213 17[CR][LF]" 05:46:26.250096 < "RETR verifiedserver" 05:46:26.250130 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:26.250221 =====> Closing passive DATA connection... 05:46:26.250241 Server disconnects passive DATA connection 05:46:26.250462 Server disconnected passive DATA connection 05:46:26.250487 DATA sockfilt for passive data channel quits (pid 106186) 05:46:26.250697 DATA sockfilt for passive data channel quit (pid 106186) 05:46:26.250720 =====> Closed passive DATA connection 05:46:26.250745 > "226 File transfer complete[CR][LF]" 05:46:26.309042 < "QUIT" 05:46:26.309116 > "221 bye bye baby[CR][LF]" 05:46:26.318905 MAIN sockfilt said DISC 05:46:26.318993 ====> Client disconnected 05:46:26.319085 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:26.703699 ====> Client connect 05:46:26.704087 Received DATA (on stdin) 05:46:26.704102 > 146 bytes data, server => client 05:46:26.704113 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:26.704123 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:26.704131 '220 \___|\___/|_| \_\_____|\r\n' 05:46:26.704256 < 16 bytes data, client => server 05:46:26.704268 'USER anonymous\r\n' 05:46:26.704455 Received DATA (on stdin) 05:46:26.704466 > 33 bytes data, server => client 05:46:26.704475 '331 We are happy you popped in!\r\n' 05:46:26.704523 < 22 bytes data, client => server 05:46:26.704532 'PASS ftp@example.com\r\n' 05:46:26.704628 Received DATA (on stdin) 05:46:26.704638 > 30 bytes data, server => client 05:46:26.704648 '230 Welcome you silly person\r\n' 05:46:26.704690 < 5 bytes data, client => server 05:46:26.704700 'PWD\r\n' 05:46:26.704792 Received DATA (on stdin) 05:46:26.704802 > 30 bytes data, server => client 05:46:26.704812 '257 "/" is current directory\r\n' 05:46:26.704865 < 6 bytes data, client => server 05:46:26.704875 'EPSV\r\n' 05:46:26.710763 Received DATA (on stdin) 05:46:26.710781 > 39 bytes data, server => client 05:46:26.710792 '229 Entering Passive Mode (|||34183|)\r\n' 05:46:26.711082 < 8 bytes data, client => server 05:46:26.711093 'TYPE I\r\n' 05:46:26.711227 Received DATA (on stdin) 05:46:26.711237 > 33 bytes daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39913 silly:person custom.set.host.name > log/18/stdout540 2> log/18/stderr540 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:36813/path/to/the/file/539 ftp://127.0.0.1:36813/path/to/the/file/5390001 > log/6/stdout539 2> log/6/stderr539 ta, server => client 05:46:26.711247 '200 I modify TYPE as you wanted\r\n' 05:46:26.711296 < 21 bytes data, client => server 05:46:26.711306 'SIZE verifiedserver\r\n' 05:46:26.711414 Received DATA (on stdin) 05:46:26.711424 > 8 bytes data, server => client 05:46:26.711434 '213 17\r\n' 05:46:26.711478 < 21 bytes data, client => server 05:46:26.711488 'RETR verifiedserver\r\n' 05:46:26.711786 Received DATA (on stdin) 05:46:26.711797 > 29 bytes data, server => client 05:46:26.711807 '150 Binary junk (17 bytes).\r\n' 05:46:26.712206 Received DATA (on stdin) 05:46:26.712218 > 28 bytes data, server => client 05:46:26.712229 '226 File transfer complete\r\n' 05:46:26.767021 < 6 bytes data, client => server 05:46:26.767066 'QUIT\r\n' 05:46:26.770594 Received DATA (on stdin) 05:46:26.770614 > 18 bytes data, server => client 05:46:26.770623 '221 bye bye baby\r\n' 05:46:26.774762 ====> Client disconnect 05:46:26.783671 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:26.710029 Running IPv4 version 05:46:26.710111 Listening on port 34183 05:46:26.710150 Wrote pid 106186 to log/21/server/ftp_sockdata.pid 05:46:26.710490 Received PING (on stdin) 05:46:26.710592 Received PORT (on stdin) 05:46:26.710986 ====> Client connect 05:46:26.711705 Received DATA (on stdin) 05:46:26.711717 > 17 bytes data, server => client 05:46:26.711727 'WE ROOLZ: 81542\r\n' 05:46:26.711751 Received DISC (on stdin) 05:46:26.711762 ====> Client forcibly disconnected 05:46:26.711956 Received QUIT (on stdin) 05:46:26.711966 quits 05:46:26.712028 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 533 === End of file server.cmd === Start of file stderr533 URL: ftp://127.0.0.1:34063/path/533 === End of file stderr533 === Start of file valgrind533 ==106273== ==106273== Process terminating with default action of signal 4 (SIGILL) ==106273== Illegal opcode at address 0x51D8933 ==106273== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106273== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106273== by 0x51D8933: Curl_open (url.c:503) ==106273== by 0x514E50F: curl_easy_init (easy.c:350) ==106273== by 0x4061EF5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106273== by 0x40034B5: main (first.c:279) === End of file valgrind533 test 0540...[HTTP proxy auth Digest multi API reusing connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39913 silly:person custom.set.host.name > log/18/stdout540 2> log/18/stderr540 540: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:39913 silly:person custom.set.host.name > log/18/stdout540 2> log/18/stderr540 === End of file commands.log === Start of file http_server.log 05:46:26.640907 ====> Client connect 05:46:26.640943 accept_connection 3 returned 4 05:46:26.640960 accept_connection 3 returned 0 05:46:26.640977 Read 93 bytes 05:46:26.640987 Process 93 bytes request 05:46:26.641002 Got request: GET /verifiedserver HTTP/1.1 05:46:26.641012 Are-we-friendly question received 05:46:26.641040 Wrote request (93 bytes) input to log/18/server.input 05:46:26.641059 Identifying ourselves as friends 05:46:26.641126 Response sent (56 bytes) and written to log/18/server.response 05:46:26.641139 special request received, no persistency 05:46:26.641148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 36142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file stderr540 URL: http://test.remote.example.com/path/540 === End of file stderr540 === Start of file valgrind540 ==106709== ==106709== Process terminating with default action of signal 4 (SIGILL) ==106709== Illegal opcode at address 0x519F3C0 ==106709== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==106709== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==106709== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==106709== by 0x4016BB0: test_lib540.lto_priv.0 (lib540.c:219) ==106709== by 0x40034B5: main (first.c:279) ==106709== 728 bytes in 1 blocks are definitely lost in loss record 716 of 789 ==106709== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==106709== by 0x519F354: Curl_multi_handle (multi.c:235) ==106709== by 0x4016BB0: test_lib540.lto_priv.0 (lib540.c:219) ==106709== by 0x40034B5: main (first.c:279) ==106709== === End of file valgrind540 test 0539...[Two FTP fetches using different CURLOPT_FTP_FILEMETHOD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:36813/path/to/the/file/539 ftp://127.0.0.1:36813/path/to/the/file/5390001 > log/6/stdout539 2> log/6/stderr539 539: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:36813/path/to/the/file/539 ftp://127.0.0.1:36813/path/to/the/file/5390001 > log/6/stdout539 2> log/6/stderr539 === End of file commands.log === Start of file ftp_server.log 05:46:27.058903 ====> Client connect 05:46:27.059086 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:27.062456 < "USER anonymous" 05:46:27.062494 > "331 We are happy you popped in![CR][LF]" 05:46:27.062663 < "PASS ftp@example.com" 05:46:27.062688 > "230 Welcome you silly person[CR][LF]" 05:46:27.062841 < "PWD" 05:46:27.062872 > "257 "/" is current directory[CR][LF]" 05:46:27.063028 < "EPSV" 05:46:27.063053 ====> Passive DATA channel requested by client 05:46:27.063066 DATA sockfilt for passive data channel starting... 05:46:27.067288 DATA sockfilt for passive data channel started (pid 106607) 05:46:27.067435 DATA sockfilt for passive data channel listens on port 37577 05:46:27.067495 > "229 Entering Passive Mode (|||37577|)[CR][LF]" 05:46:27.067521 Client has been notified that DATA conn will be accepted on port 37577 05:46:27.067854 Client connects to port 37577 05:46:27.067890 ====> Client established passive DATA connection on port 37577 05:46:27.067988 < "TYPE I" 05:46:27.068027 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:27.068214 < "SIZE verifiedserver" 05:46:27.068258 > "213 17[CR][LF]" 05:46:27.068436CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:39835/path/546 ftp://127.0.0.1:39835/path/546 > log/9/stdout546 2> log/9/stderr546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:38499/542 > log/24/stdout542 2> log/24/stderr542 < "RETR verifiedserver" 05:46:27.068477 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:27.068573 =====> Closing passive DATA connection... 05:46:27.068597 Server disconnects passive DATA connection 05:46:27.068929 Server disconnected passive DATA connection 05:46:27.068961 DATA sockfilt for passive data channel quits (pid 106607) 05:46:27.069215 DATA sockfilt for passive data channel quit (pid 106607) 05:46:27.069245 =====> Closed passive DATA connection 05:46:27.069272 > "226 File transfer complete[CR][LF]" 05:46:27.119275 < "QUIT" 05:46:27.119343 > "221 bye bye baby[CR][LF]" 05:46:27.120852 MAIN sockfilt said DISC 05:46:27.120891 ====> Client disconnected 05:46:27.121005 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:26.517014 ====> Client connect 05:46:26.520568 Received DATA (on stdin) 05:46:26.520587 > 146 bytes data, server => client 05:46:26.520600 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:26.520611 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:26.520621 '220 \___|\___/|_| \_\_____|\r\n' 05:46:26.523740 < 16 bytes data, client => server 05:46:26.523763 'USER anonymous\r\n' 05:46:26.523960 Received DATA (on stdin) 05:46:26.523972 > 33 bytes data, server => client 05:46:26.523983 '331 We are happy you popped in!\r\n' 05:46:26.524036 < 22 bytes data, client => server 05:46:26.524047 'PASS ftp@example.com\r\n' 05:46:26.524149 Received DATA (on stdin) 05:46:26.524165 > 30 bytes data, server => client 05:46:26.524175 '230 Welcome you silly person\r\n' 05:46:26.524221 < 5 bytes data, client => server 05:46:26.524232 'PWD\r\n' 05:46:26.524332 Received DATA (on stdin) 05:46:26.524343 > 30 bytes data, server => client 05:46:26.524353 '257 "/" is current directory\r\n' 05:46:26.524410 < 6 bytes data, client => server 05:46:26.524421 'EPSV\r\n' 05:46:26.528999 Received DATA (on stdin) 05:46:26.529019 > 39 bytes data, server => client 05:46:26.529031 '229 Entering Passive Mode (|||37577|)\r\n' 05:46:26.529224 < 8 bytes data, client => server 05:46:26.529241 'TYPE I\r\n' 05:46:26.529497 Received DATA (on stdin) 05:46:26.529511 > 33 bytes data, server => client 05:46:26.529523 '200 I modify TYPE as you wanted\r\n' 05:46:26.529578 < 21 bytes data, client => server 05:46:26.529593 'SIZE verifiedserver\r\n' 05:46:26.529727 Received DATA (on stdin) 05:46:26.529741 > 8 bytes data, server => client 05:46:26.529751 '213 17\r\n' 05:46:26.529805 < 21 bytes data, client => server 05:46:26.529819 'RETR verifiedserver\r\n' 05:46:26.530063 Received DATA (on stdin) 05:46:26.530077 > 29 bytes data, server => client 05:46:26.530087 '150 Binary junk (17 bytes).\r\n' 05:46:26.530737 Received DATA (on stdin) 05:46:26.530750 > 28 bytes data, server => client 05:46:26.530760 '226 File transfer complete\r\n' 05:46:26.577011 < 6 bytes data, client => server 05:46:26.577039 'QUIT\r\n' 05:46:26.580822 Received DATA (on stdin) 05:46:26.580845 > 18 bytes data, server => client 05:46:26.580856 '221 bye bye baby\r\n' 05:46:26.582254 ====> Client disconnect 05:46:26.582478 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:27.528338 Running IPv4 version 05:46:27.528405 Listening on port 37577 05:46:27.528450 Wrote pid 106607 to log/6/server/ftp_sockdata.pid 05:46:27.528675 Received PING (on stdin) 05:46:27.528789 Received PORT (on stdin) 05:46:27.529264 ====> Client connect 05:46:27.530152 Received DATA (on stdin) 05:46:27.530169 > 17 bytes data, server => client 05:46:27.530180 'WE ROOLZ: 81206\r\n' 05:46:27.530210 Received DISC (on stdin) 05:46:27.530223 ====> Client forcibly disconnected 05:46:27.530431 Received QUIT (on stdin) 05:46:27.530442 quits 05:46:27.530520 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 539 === End of file server.cmd === Start of file stderr539 URL: ftp://127.0.0.1:36813/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==106651== ==106651== Process terminating with default action of signal 4 (SIGILL) ==106651== Illegal opcode at address 0x51D8933 ==106651== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106651== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106651== by 0x51D8933: Curl_open (url.c:503) ==106651== by 0x514E50F: curl_easy_init (easy.c:350) ==106651== by 0x4013F4A: test_lib539.lto_priv.0 (lib539.c:38) ==106651== by 0x40034B5: main (first.c:279) === End of file valgrind539 test 0546...[FTP RETR a non-existing file then a found one using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:39835/path/546 ftp://127.0.0.1:39835/path/546 > log/9/stdout546 2> log/9/stderr546 546: stdout FAILED: --- log/9/check-expected 2026-03-14 05:46:29.834616035 +0000 +++ log/9/check-generated 2026-03-14 05:46:29.834616035 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/9/ directory after test 546 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:39835/path/546 ftp://127.0.0.1:39835/path/546 > log/9/stdout546 2> log/9/stderr546 === End of file commands.log === Start of file ftp_server.log 05:46:27.684036 ====> Client connect 05:46:27.684204 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:27.684476 < "USER anonymous" 05:46:27.684508 > "331 We are happy you popped in![CR][LF]" 05:46:27.684658 < "PASS ftp@example.com" 05:46:27.684681 > "230 Welcome you silly person[CR][LF]" 05:46:27.684818 < "PWD" 05:46:27.684846 > "257 "/" is current directory[CR][LF]" 05:46:27.685692 < "EPSV" 05:46:27.685719 ====> Passive DATA channel requested by client 05:46:27.685735 DATA sockfilt for passive data channel starting... 05:46:27.702322 DATA sockfilt for passive data channel started (pid 106896) 05:46:27.702522 DATA sockfilt for passive data channel listens on port 33631 05:46:27.702598 > "229 Entering Passive Mode (|||33631|)[CR][LF]" 05:46:27.702628 Client has been notified that DATA conn will be accepted on port 33631 05:46:27.708965 Client connects to port 33631 05:46:27.709039 ====> Client established passive DATA connection on port 33631 05:46:27.709174 < "TYPE I" 05:46:27.709226 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:27.715709 < "SIZE verifiedserver" 05:46:27.715791 > "213 17[CR][LF]" 05:46:27.719143 < "RETR verifiedserver" 05:46:27.719200 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:27.719311 =====> Closing passive DATA connection... 05:46:27.719336 Server disconnects passive DATA connection 05:46:27.721826 Server disconnected passive DATA connection 05:46:27.721861 DATA sockfilt for passive data channel quits (pid 106896) 05:46:27.722116 DATA sockfilt for passive data channel quit (pid 106896) 05:46:27.722137 =====> Closed passive DATA connection 05:46:27.722166 > "226 File transfer complete[CR][LF]" 05:46:27.766187 < "QUIT" 05:46:27.766241 > "221 bye bye baby[CR][LF]" 05:46:27.767482 MAIN sockfilt said DISC 05:46:27.767520 ====> Client disconnected 05:46:27.767596 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:27.145374 ====> Client connect 05:46:27.145677 Received DATA (on stdin) 05:46:27.145691 > 146 bytes data, server => client 05:46:27.145702 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:27.145713 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:27.145722 '220 \___|\___/|_| \_\_____|\r\n' 05:46:27.145798 < 16 bytes data, client => server 05:46:27.145810 'USER anonymous\r\n' 05:46:27.145970 Received DATA (on stdin) 05:46:27.145981 > 33 bytes data, server => client 05:46:27.145992 '331 We are happy you popped in!\r\n' 05:46:27.146039 < 22 bytes data, client => server 05:46:27.146049 'PASS ftp@example.com\r\n' 05:46:27.146140 Received DATA (on stdin) 05:46:27.146150 > 30 bytes data, server => client 05:46:27.146161 '230 Welcome you silly person\r\n' 05:46:27.146204 < 5 bytes data, client => server 05:46:27.146213 'PWD\r\n' 05:46:27.146305 Received DATA (on stdin) 05:46:27.146315 > 30 bytes data, server => client 05:46:27.146325 '257 "/" is current directory\r\n' 05:46:27.147052 < 6 bytes data, client => server 05:46:27.147070 'EPSV\r\n' 05:46:27.166999 Received DATA (on stdin) 05:46:27.167027 > 39 bytes data, server => client 05:46:27.167039 '229 Entering Passive Mode (|||33631|)\r\n' 05:46:27.167254 < 8 bytes data, client => server 05:46:27.167270 'TYPE I\r\n' 05:46:27.173875 Received DATA (on stdin) 05:46:27.173902 > 33 bytes data, server => client 05:46:27.173914 '200 I modify TYPE as you wanted\r\n' 05:46:27.174022 < 21 bytes data, client => server 05:46:27.174039 'SIZE verifiedserver\r\n' 05:46:27.180329 Received DATA (on stdin) 05:46:27.180359 > 8 bytes data, server => client 05:46:27.180370 '213 17\r\n' 05:46:27.180478 < 21 bytes data, client => server 05:46:27.180493 'RETR verifiedserver\r\n' 05:46:27.180805 Received DATA (on stdin) 05:46:27.180819 > 29 bytes data, server => client 05:46:27.180829 '150 Binary junk (17 bytes).\r\n' 05:46:27.183629 Received DATA (on stdin) 05:46:27.183641 > 28 bytes data, server => client 05:46:27.183668 '226 File transfer complete\r\n' 05:46:27.227486 < 6 bytes data, client => server 05:46:27.227511 'QUIT\r\n' 05:46:27.227706 Received DATA (on stdin) 05:46:27.227718 > 18 bytes data, server => client 05:46:27.227728 '221 bye bye baby\r\n' 05:46:27.228883 ====> Client disconnect 05:46:27.229069 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:27.154882 Running IPv4 version 05:46:27.154980 Listening on port 33631 05:46:27.155019 Wrote pid 106896 to log/9/server/ftp_sockdata.pid 05:46:27.163675 Received PING (on stdin) 05:46:27.163855 Received PORT (on stdin) 05:46:27.170346 ====> Client connect 05:46:27.183140 Received DATA (on stdin) 05:46:27.183158 > 17 bytes data, server => client 05:46:27.183168 'WE ROOLZ: 81042\r\n' 05:46:27.183200 Received DISC (on stdin) 05:46:27.183213 ====> Client forcibly disconnected 05:46:27.183331 Received QUIT (on stdin) 05:46:27.183342 quits 05:46:27.183391 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist COUNT RETR 1 REPLY SIZE 500 Can't check for file existence COUNT SIZE 1 Testnum 546 === End of file server.cmd === Start of file stderr546 URL: ftp://127.0.0.1:39835/path/546 === End of file stderr546 === Start of file valgrind546 ==106985== ==106985== Process terminating with default action of signal 4 (SIGILL) ==106985== Illegal opcode at address 0x51D8933 ==106985== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106985== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106985== by 0x51D8933: Curl_open (url.c:503) ==106985== by 0x514E50F: curl_easy_init (easy.c:350) ==106985== by 0x4061EF5: test_lib533.part.0.lto_priv.0 (lib533.c:40) ==106985== by 0x40034B5: main (first.c:279) === End of file valgrind546 test 0542...[FTP a file with NOBODY yes and HEADER no] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:38499/542 > log/24/stdout542 2> log/24/stderr542 542: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:38499/542 > log/24/stdout542 2> log/24/stderr542 === End of file commands.log === Start of file ftp_server.log 05:46:27.611006 ====> Client connect 05:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:34211/541 log/2/upload541 > log/2/stdout541 2> log/2/stderr541 6:27.611201 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:27.611521 < "USER anonymous" 05:46:27.611565 > "331 We are happy you popped in![CR][LF]" 05:46:27.611759 < "PASS ftp@example.com" 05:46:27.611792 > "230 Welcome you silly person[CR][LF]" 05:46:27.611979 < "PWD" 05:46:27.612019 > "257 "/" is current directory[CR][LF]" 05:46:27.612308 < "EPSV" 05:46:27.612343 ====> Passive DATA channel requested by client 05:46:27.612360 DATA sockfilt for passive data channel starting... 05:46:27.614897 DATA sockfilt for passive data channel started (pid 106836) 05:46:27.615019 DATA sockfilt for passive data channel listens on port 41099 05:46:27.615078 > "229 Entering Passive Mode (|||41099|)[CR][LF]" 05:46:27.615102 Client has been notified that DATA conn will be accepted on port 41099 05:46:27.615362 Client connects to port 41099 05:46:27.615395 ====> Client established passive DATA connection on port 41099 05:46:27.615479 < "TYPE I" 05:46:27.615516 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:27.615704 < "SIZE verifiedserver" 05:46:27.615744 > "213 17[CR][LF]" 05:46:27.615919 < "RETR verifiedserver" 05:46:27.615962 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:27.616064 =====> Closing passive DATA connection... 05:46:27.616087 Server disconnects passive DATA connection 05:46:27.616317 Server disconnected passive DATA connection 05:46:27.616348 DATA sockfilt for passive data channel quits (pid 106836) 05:46:27.616613 DATA sockfilt for passive data channel quit (pid 106836) 05:46:27.616642 =====> Closed passive DATA connection 05:46:27.616673 > "226 File transfer complete[CR][LF]" 05:46:27.659715 < "QUIT" 05:46:27.659769 > "221 bye bye baby[CR][LF]" 05:46:27.662240 MAIN sockfilt said DISC 05:46:27.662305 ====> Client disconnected 05:46:27.662385 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:28.072341 ====> Client connect 05:46:28.072689 Received DATA (on stdin) 05:46:28.072708 > 146 bytes data, server => client 05:46:28.072720 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:28.072730 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:28.072740 '220 \___|\___/|_| \_\_____|\r\n' 05:46:28.072822 < 16 bytes data, client => server 05:46:28.072838 'USER anonymous\r\n' 05:46:28.073031 Received DATA (on stdin) 05:46:28.073043 > 33 bytes data, server => client 05:46:28.073054 '331 We are happy you popped in!\r\n' 05:46:28.073108 < 22 bytes data, client => server 05:46:28.073122 'PASS ftp@example.com\r\n' 05:46:28.073258 Received DATA (on stdin) 05:46:28.073270 > 30 bytes data, server => client 05:46:28.073280 '230 Welcome you silly person\r\n' 05:46:28.073336 < 5 bytes data, client => server 05:46:28.073351 'PWD\r\n' 05:46:28.073484 Received DATA (on stdin) 05:46:28.073496 > 30 bytes data, server => client 05:46:28.073506 '257 "/" is current directory\r\n' 05:46:28.073570 < 6 bytes data, client => server 05:46:28.073585 'EPSV\r\n' 05:46:28.076573 Received DATA (on stdin) 05:46:28.076588 > 39 bytes data, server => client 05:46:28.076599 '229 Entering Passive Mode (|||41099|)\r\n' 05:46:28.076739 < 8 bytes data, client => server 05:46:28.076755 'TYPE I\r\n' 05:46:28.076991 Received DATA (on stdin) 05:46:28.077004 > 33 bytes data, server => client 05:46:28.077014 '200 I modify TYPE as you wanted\r\n' 05:46:28.077070 < 21 bytes data, client => server 05:46:28.077083 'SIZE verifiedserver\r\n' 05:46:28.077209 Received DATA (on stdin) 05:46:28.077221 > 8 bytes data, server => client 05:46:28.077231 '213 17\r\n' 05:46:28.077285 < 21 bytes data, client => server 05:46:28.077299 'RETR verifiedserver\r\n' 05:46:28.077554 Received DATA (on stdin) 05:46:28.077567 > 29 bytes data, server => client 05:46:28.077577 '150 Binary junk (17 bytes).\r\n' 05:46:28.078138 Received DATA (on stdin) 05:46:28.078152 > 28 bytes data, server => client 05:46:28.078162 '226 File transfer complete\r\n' 05:46:28.120977 < 6 bytes data, client => server 05:46:28.121014 'QUIT\r\n' 05:46:28.121233 Received DATA (on stdin) 05:46:28.121245 > 18 bytes data, server => client 05:46:28.121255 '221 bye bye baby\r\n' 05:46:28.122532 ====> Client disconnect 05:46:28.126992 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:27.075528 Running IPv4 version 05:46:27.075592 Listening on port 41099 05:46:27.075627 Wrote pid 106836 to log/24/server/ftp_sockdata.pid 05:46:27.076290 Received PING (on stdin) 05:46:27.076390 Received PORT (on stdin) 05:46:27.076777 ====> Client connect 05:46:27.077637 Received DATA (on stdin) 05:46:27.077653 > 17 bytes data, server => client 05:46:27.077663 'WE ROOLZ: 81530\r\n' 05:46:27.077691 Received DISC (on stdin) 05:46:27.077815 ====> Client forcibly disconnected 05:46:27.077852 Received QUIT (on stdin) 05:46:27.077864 quits 05:46:27.077920 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 542 === End of file server.cmd === Start of file stderr542 URL: ftp://127.0.0.1:38499/542 === End of file stderr542 === Start of file valgrind542 ==106926== ==106926== Process terminating with default action of signal 4 (SIGILL) ==106926== Illegal opcode at address 0x51D8933 ==106926== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106926== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106926== by 0x51D8933: Curl_open (url.c:503) ==106926== by 0x514E50F: curl_easy_init (easy.c:350) ==106926== by 0x40140EA: test_lib542.lto_priv.0 (lib542.c:41) ==106926== by 0x40034B5: main (first.c:279) === End of file valgrind542 test 0541...[FTP upload and upload same file again without rewind] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:34211/541 log/2/upload541 > log/2/stdout541 2> log/2/stderr541 541: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:34211/541 log/2/upload541 > log/2/stdout541 2> log/2/stderr541 === End of file commands.log === Start of file ftp_server.log 05:46:27.452385 ====> Client connect 05:46:27.452596 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:27.469252 < "USER anonymous" 05:46:27.469324 > "331 We are happy you popped in![CR][LF]" 05:46:27.469576 < "PASS ftp@example.com" 05:46:27.469609 > "230 Welcome you silly person[CR][LF]" 05:46:27.469794 < "PWD" 05:46:27.469837 > "257 "/" is current directory[CR][LF]" 05:46:27.470018 < "EPSV" 05:46:27.470047 ====> Passive DATA channel requested by client 05:46:27.470062 DATA sockfilt for passive data channel starting... 05:46:27.478912 DATA sockfilt for passive data channel started (pid 106803) 05:46:27.479153 DATA sockfilt for passive data channel listens on port 32801 05:46:27.479216 > "229 Entering Passive Mode (|||32801|)[CR][LF]" 05:46:27.479242 Client has been notified that DATA conn will be accepted on port 32801 05:46:27.479609 Client connects to port 32801 05:46:27.479642 ====> Client established passive DATA connection on port 32801 05:46:27.479759 < "TYPE I" 05:46:27.479801 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:27.479988 < "SIZE verifiedserver" 05:46:27.480035 > "213 17[CR][LF]" 05:46:27.480207 < "RETR verifiedserver" 05:46:27.480247 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:27.480355 =====> Closing passive DATA coCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34551/544 > log/11/stdout544 2> log/11/stderr544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind543 ./libtest/libtests lib543 - > log/10/stdout543 2> log/10/stderr543 nnection... 05:46:27.480375 Server disconnects passive DATA connection 05:46:27.480647 Server disconnected passive DATA connection 05:46:27.480680 DATA sockfilt for passive data channel quits (pid 106803) 05:46:27.481013 DATA sockfilt for passive data channel quit (pid 106803) 05:46:27.481043 =====> Closed passive DATA connection 05:46:27.481074 > "226 File transfer complete[CR][LF]" 05:46:27.529170 < "QUIT" 05:46:27.529226 > "221 bye bye baby[CR][LF]" 05:46:27.530475 MAIN sockfilt said DISC 05:46:27.530510 ====> Client disconnected 05:46:27.530583 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:27.913683 ====> Client connect 05:46:27.914082 Received DATA (on stdin) 05:46:27.914100 > 146 bytes data, server => client 05:46:27.914112 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:27.914123 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:27.914132 '220 \___|\___/|_| \_\_____|\r\n' 05:46:27.930410 < 16 bytes data, client => server 05:46:27.930460 'USER anonymous\r\n' 05:46:27.930799 Received DATA (on stdin) 05:46:27.930813 > 33 bytes data, server => client 05:46:27.930824 '331 We are happy you popped in!\r\n' 05:46:27.930931 < 22 bytes data, client => server 05:46:27.930945 'PASS ftp@example.com\r\n' 05:46:27.931076 Received DATA (on stdin) 05:46:27.931090 > 30 bytes data, server => client 05:46:27.931101 '230 Welcome you silly person\r\n' 05:46:27.931159 < 5 bytes data, client => server 05:46:27.931173 'PWD\r\n' 05:46:27.931301 Received DATA (on stdin) 05:46:27.931313 > 30 bytes data, server => client 05:46:27.931323 '257 "/" is current directory\r\n' 05:46:27.931387 < 6 bytes data, client => server 05:46:27.931400 'EPSV\r\n' 05:46:27.940720 Received DATA (on stdin) 05:46:27.940744 > 39 bytes data, server => client 05:46:27.940757 '229 Entering Passive Mode (|||32801|)\r\n' 05:46:27.940978 < 8 bytes data, client => server 05:46:27.940996 'TYPE I\r\n' 05:46:27.941271 Received DATA (on stdin) 05:46:27.941285 > 33 bytes data, server => client 05:46:27.941296 '200 I modify TYPE as you wanted\r\n' 05:46:27.941354 < 21 bytes data, client => server 05:46:27.941369 'SIZE verifiedserver\r\n' 05:46:27.941503 Received DATA (on stdin) 05:46:27.941516 > 8 bytes data, server => client 05:46:27.941526 '213 17\r\n' 05:46:27.941579 < 21 bytes data, client => server 05:46:27.941591 'RETR verifiedserver\r\n' 05:46:27.941842 Received DATA (on stdin) 05:46:27.941854 > 29 bytes data, server => client 05:46:27.941864 '150 Binary junk (17 bytes).\r\n' 05:46:27.942538 Received DATA (on stdin) 05:46:27.942551 > 28 bytes data, server => client 05:46:27.942561 '226 File transfer complete\r\n' 05:46:27.990455 < 6 bytes data, client => server 05:46:27.990485 'QUIT\r\n' 05:46:27.990692 Received DATA (on stdin) 05:46:27.990703 > 18 bytes data, server => client 05:46:27.990714 '221 bye bye baby\r\n' 05:46:27.991881 ====> Client disconnect 05:46:27.992043 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:27.935125 Running IPv4 version 05:46:27.935230 Listening on port 32801 05:46:27.935277 Wrote pid 106803 to log/2/server/ftp_sockdata.pid 05:46:27.937736 Received PING (on stdin) 05:46:27.940472 Received PORT (on stdin) 05:46:27.941019 ====> Client connect 05:46:27.941927 Received DATA (on stdin) 05:46:27.941942 > 17 bytes data, server => client 05:46:27.941953 'WE ROOLZ: 81084\r\n' 05:46:27.941981 Received DISC (on stdin) 05:46:27.941993 ====> Client forcibly disconnected 05:46:27.942156 Received QUIT (on stdin) 05:46:27.942168 quits 05:46:27.942244 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 541 === End of file server.cmd === Start of file stderr541 URL: ftp://127.0.0.1:34211/541 === End of file stderr541 === Start of file upload541 Contents of a file to verify ftp upload works? === End of file upload541 === Start of file valgrind541 ==106815== ==106815== Process terminating with default action of signal 4 (SIGILL) ==106815== Illegal opcode at address 0x51D8933 ==106815== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106815== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106815== by 0x51D8933: Curl_open (url.c:503) ==106815== by 0x514E50F: curl_easy_init (easy.c:350) ==106815== by 0x4016E16: test_lib541.lto_priv.0 (lib541.c:76) ==106815== by 0x40034B5: main (first.c:279) === End of file valgrind541 test 0544...[HTTP POST text data using CURLOPT_COPYPOSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34551/544 > log/11/stdout544 2> log/11/stderr544 544: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 544 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34551/544 > log/11/stdout544 2> log/11/stderr544 === End of file commands.log === Start of file http_server.log 05:46:28.199019 ====> Client connect 05:46:28.199054 accept_connection 3 returned 4 05:46:28.199072 accept_connection 3 returned 0 05:46:28.199087 Read 93 bytes 05:46:28.199097 Process 93 bytes request 05:46:28.199109 Got request: GET /verifiedserver HTTP/1.1 05:46:28.199118 Are-we-friendly question received 05:46:28.199146 Wrote request (93 bytes) input to log/11/server.input 05:46:28.199164 Identifying ourselves as friends 05:46:28.199223 Response sent (56 bytes) and written to log/11/server.response 05:46:28.199233 special request received, no persistency 05:46:28.199242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 35036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 544 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:34551/544 === End of file stderr544 === Start of file valgrind544 ==106960== ==106960== Process terminating with default action of signal 4 (SIGILL) ==106960== Illegal opcode at address 0x51D8933 ==106960== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106960== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106960== by 0x51D8933: Curl_open (url.c:503) ==106960== by 0x514E50F: curl_easy_init (easy.c:350) ==106960== by 0x4018397: test_lib544.lto_priv.0 (lib544.c:47) ==106960== by 0x40034B5: main (first.c:279) === End of file valgrind544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind557 ./libtest/libtests lib557 - > log/8/stdout557 2> log/8/stderr557 test 0543...[curl_easy_escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind543 ./libtest/libtests lib543 - > log/10/stdout543 2> log/10/stderr543 543: stdout FAILED: --- log/10/check-expected 2026-03-14 05:46:30.124616035 +0000 +++ log/10/check-generated 2026-03-14 05:46:30.124616035 +0000 @@ -1,3 +0,0 @@ -%9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] -IN: '' OUT: ''[LF] -IN: ' 12' OUT: '%2012'[LF] == Contents of files in the log/10/ directory after test 543 === Start of file check-expected %9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] IN: '' OUT: ''[LF] IN: ' 12' OUT: '%2012'[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind543 ./libtest/libtests lib543 - > log/10/stdout543 2> log/10/stderr543 === End of file commands.log === Start of file server.cmd Testnum 543 === End of file server.cmd === Start of file stderr543 URL: - === End of file stderr543 === Start of file valgrind543 ==106853== ==106853== Process terminating with default action of signal 4 (SIGILL) ==106853== Illegal opcode at address 0x51D8933 ==106853== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106853== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106853== by 0x51D8933: Curl_open (url.c:503) ==106853== by 0x514E50F: curl_easy_init (easy.c:350) ==106853== by 0x40176E9: UnknownInlinedFun (lib543.c:41) ==106853== by 0x40176E9: test_lib543.lto_priv.0 (lib543.c:28) ==106853== by 0x40034B5: main (first.c:279) === End of file valgrind543 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:38765 > log/1/stdout549 2> log/1/stderr549 test 0557...[curl_mprintf() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind557 ./libtest/libtests lib557 - > log/8/stdout557 2> log/8/stderr557 557: stdout FAILED: --- log/8/check-expected 2026-03-14 05:46:30.244616035 +0000 +++ log/8/check-generated 2026-03-14 05:46:30.244616035 +0000 @@ -1,10 +0,0 @@ -All curl_mprintf() unsigned short tests OK![LF] -All curl_mprintf() signed short tests OK![LF] -All curl_mprintf() unsigned int tests OK![LF] -All curl_mprintf() signed int tests OK![LF] -All curl_mprintf() unsigned long tests OK![LF] -All curl_mprintf() signed long tests OK![LF] -All curl_mprintf() curl_off_t tests OK![LF] -All curl_mprintf() strings tests OK![LF] -All float strings tests OK![LF] -All curl_mprintf() octal and hexadecimal tests OK![LF] == Contents of files in the log/8/ directory after test 557 === Start of file check-expected All curl_mprintf() unsigned short tests OK![LF] All curl_mprintf() signed short tests OK![LF] All curl_mprintf() unsigned int tests OK![LF] All curl_mprintf() signed int tests OK![LF] All curl_mprintf() unsigned long tests OK![LF] All curl_mprintf() signed long tests OK![LF] All curl_mprintf() curl_off_t tests OK![LF] All curl_mprintf() strings tests OK![LF] All float strings tests OK![LF] All curl_mprintf() octal and hexadecimal tests OK![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind557 ./libtest/libtests lib557 - > log/8/stdout557 2> log/8/stderr557 === End of file commands.log === Start of file server.cmd Testnum 557 === End of file server.cmd === Start of file stderr557 URL: - === End of file stderr557 === Start of file valgrind557 ==107880== ==107880== Process terminating with default action of signal 4 (SIGILL) ==107880== Illegal opcode at address 0x401924A ==107880== at 0x401924A: UnknownInlinedFun (lib557.c:1086) ==107880== by 0x401924A: test_weird_arguments (lib557.c:1211) ==107880== by 0x401AF21: test_lib557.lto_priv.0 (lib557.c:1526) ==107880== by 0x40034B5: main (first.c:279) === End of file valgrind557 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:39591 testuser:testpass > log/3/stdout548 2> log/3/stderr548 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:35701 s1lly:pers0n > log/19/stdout551 2> log/19/stderr551 test 0549...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:38765 > log/1/stdout549 2> log/1/stderr549 549: stdout FAILED: --- log/1/check-expected 2026-03-14 05:46:30.261282701 +0000 +++ log/1/check-generated 2026-03-14 05:46:30.261282701 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/1/ directory after test 549 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:38765 > log/1/stdout549 2> log/1/stderr549 === End of file commands.log === Start of file http_server.log 05:46:28.633112 ====> Client connect 05:46:28.633149 accept_connection 3 returned 4 05:46:28.633167 accept_connection 3 returned 0 05:46:28.633183 Read 93 bytes 05:46:28.633192 Process 93 bytes request 05:46:28.633206 Got request: GET /verifiedserver HTTP/1.1 05:46:28.633215 Are-we-friendly question received 05:46:28.633238 Wrote request (93 bytes) input to log/1/server.input 05:46:28.633256 Identifying ourselves as friends 05:46:28.633315 Response sent (56 bytes) and written to log/1/server.response 05:46:28.633325 special request received, no persistency 05:46:28.633334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 53880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 549 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==107296== ==107296== Process terminating with default action of signal 4 (SIGILL) ==107296== Illegal opcode at address 0x51D8933 ==107296== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107296== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107296== by 0x51D8933: Curl_open (url.c:503) ==107296== by 0x514E50F: curl_easy_init (easy.c:350) ==107296== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107296== by 0x40034B5: main (first.c:279) === End of file valgrind549 test 0548...[HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:39591 testuser:testpass > log/3/stdout548 2> log/3/stderr548 548: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 548 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:39591 testuser:testpass > log/3/stdout548 2> log/3/stderr548 === End of file commands.log === Start of file http_server.log 05:46:28.570379 ====> Client connect 05:46:28.570418 accept_connection 3 returned 4 05:46:28.570438 accept_connection 3 returned 0 05:46:28.570456 Read 93 bytes 05:46:28.570467 Process 93 bytes request 05:46:28.570483 Got request: GET /verifiedserver HTTP/1.1 05:46:28.570493 Are-we-friendly question received 05:46:28.570523 Wrote request (93 bytes) input to log/3/server.input 05:46:28.570544 Identifying ourselves as friends 05:46:28.570623 Response sent (56 bytes) and written to log/3/server.response 05:46:28.570636 special request received, no persistency 05:46:28.570645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 42362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr548 URL: http://test.remote.example.com/path/548 === End of file stderr548 === Start of file valgrind548 ==107273== ==107273== Process terminating with default action of signal 4 (SIGILL) ==107273== Illegal opcode at address 0x51D8933 ==107273== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107273== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107273== by 0x51D8933: Curl_open (url.c:503) ==107273== by 0x514E50F: curl_easy_init (easy.c:350) ==107273== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107273== by 0x40034B5: main (first.c:279) === End of file valgrind548 test 0551...[HTTP proxy auth Digest with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:35701 s1lly:pers0n > log/19/stdout551 2> log/19/stderr551 551: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:35701 s1lly:pers0n > log/19/stdout551 2> log/19/stderr551 === End of file commands.log === Start of file http_server.log 05:46:27.727072 ====> Client connect 05:46:27.727117 accept_connection 3 returned 4 05:46:27.727135 accept_connection 3 returned 0 05:46:27.727151 Read 93 bytes 05:46:27.727161 Process 93 bytes request 05:46:27.727174 Got request: GET /verifiedserver HTTP/1.1 05:46:27.727184 Are-we-friendly question received 05:46:27.727208 Wrote request (93 bytes) input to log/19/server.input 05:46:27.727224 Identifying ourselves as friends 05:46:27.727301 Response sent (56 bytes) and written to log/19/server.response 05:46:27.727311 special request received, no persistency 05:46:27.727320 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 58194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:44673 testuser:testpass > log/16/stdout547 2> log/16/stderr547 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:41477 testuser:testpass > log/22/stdout555 2> log/22/stderr555 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:39013 ascii > log/7/stdout550 2> log/7/stderr550 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr551 URL: http://test.remote.example.com/path/551 === End of file stderr551 === Start of file valgrind551 ==107459== ==107459== Process terminating with default action of signal 4 (SIGILL) ==107459== Illegal opcode at address 0x51D8933 ==107459== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107459== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107459== by 0x51D8933: Curl_open (url.c:503) ==107459== by 0x514E50F: curl_easy_init (easy.c:350) ==107459== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107459== by 0x40034B5: main (first.c:279) === End of file valgrind551 test 0547...[HTTP proxy auth NTLM with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:44673 testuser:testpass > log/16/stdout547 2> log/16/stderr547 547: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 547 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:44673 testuser:testpass > log/16/stdout547 2> log/16/stderr547 === End of file commands.log === Start of file http_server.log 05:46:28.516070 ====> Client connect 05:46:28.516104 accept_connection 3 returned 4 05:46:28.516120 accept_connection 3 returned 0 05:46:28.516134 Read 93 bytes 05:46:28.516143 Process 93 bytes request 05:46:28.516155 Got request: GET /verifiedserver HTTP/1.1 05:46:28.516163 Are-we-friendly question received 05:46:28.516186 Wrote request (93 bytes) input to log/16/server.input 05:46:28.516201 Identifying ourselves as friends 05:46:28.516256 Response sent (56 bytes) and written to log/16/server.response 05:46:28.516265 special request received, no persistency 05:46:28.516272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 48244 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 547 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file stderr547 URL: http://test.remote.example.com/path/547 === End of file stderr547 === Start of file valgrind547 ==107255== ==107255== Process terminating with default action of signal 4 (SIGILL) ==107255== Illegal opcode at address 0x51D8933 ==107255== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107255== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107255== by 0x51D8933: Curl_open (url.c:503) ==107255== by 0x514E50F: curl_easy_init (easy.c:350) ==107255== by 0x401421E: test_lib547.lto_priv.0 (lib547.c:76) ==107255== by 0x40034B5: main (first.c:279) === End of file valgrind547 test 0555...[HTTP proxy auth NTLM with POST data from read callback multi-if] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:41477 testuser:testpass > log/22/stdout555 2> log/22/stderr555 555: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 555 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:41477 testuser:testpass > log/22/stdout555 2> log/22/stderr555 === End of file commands.log === Start of file http_server.log 05:46:28.882803 ====> Client connect 05:46:28.882837 accept_connection 3 returned 4 05:46:28.882853 accept_connection 3 returned 0 05:46:28.882869 Read 93 bytes 05:46:28.882879 Process 93 bytes request 05:46:28.882892 Got request: GET /verifiedserver HTTP/1.1 05:46:28.882902 Are-we-friendly question received 05:46:28.882929 Wrote request (93 bytes) input to log/22/server.input 05:46:28.882947 Identifying ourselves as friends 05:46:28.883006 Response sent (56 bytes) and written to log/22/server.response 05:46:28.883017 special request received, no persistency 05:46:28.883026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 53626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file stderr555 URL: http://test.remote.example.com/path/555 === End of file stderr555 === Start of file valgrind555 ==107692== ==107692== Process terminating with default action of signal 4 (SIGILL) ==107692== Illegal opcode at address 0x51D8933 ==107692== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107692== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107692== by 0x51D8933: Curl_open (url.c:503) ==107692== by 0x514E50F: curl_easy_init (easy.c:350) ==107692== by 0x4015961: test_lib555.lto_priv.0 (lib555.c:81) ==107692== by 0x40034B5: main (first.c:279) === End of file valgrind555 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:33217/537 > log/23/stdout537 2> log/23/stderr537 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:41505/ > log/17/stdout552 2> log/17/stderr552 test 0550...[FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:39013 ascii > log/7/stdout550 2> log/7/stderr550 550: stdout FAILED: --- log/7/check-expected 2026-03-14 05:46:30.571282701 +0000 +++ log/7/check-generated 2026-03-14 05:46:30.571282701 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ directory after test 550 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:39013 ascii > log/7/stdout550 2> log/7/stderr550 === End of file commands.log === Start of file http_server.log 05:46:27.718464 ====> Client connect 05:46:27.718500 accept_connection 3 returned 4 05:46:27.718518 accept_connection 3 returned 0 05:46:27.718531 Read 93 bytes 05:46:27.718541 Process 93 bytes request 05:46:27.718554 Got request: GET /verifiedserver HTTP/1.1 05:46:27.718562 Are-we-friendly question received 05:46:27.718589 Wrote request (93 bytes) input to log/7/server.input 05:46:27.718606 Identifying ourselves as friends 05:46:27.718667 Response sent (56 bytes) and written to log/7/server.response 05:46:27.718678 special request received, no persistency 05:46:27.718687 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 56574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 550 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==107407== ==107407== Process terminating with default action of signal 4 (SIGILL) ==107407== Illegal opcode at address 0x51D8933 ==107407== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107407== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107407== by 0x51D8933: Curl_open (url.c:503) ==107407== by 0x514E50F: curl_easy_init (easy.c:350) ==107407== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107407== by 0x40034B5: main (first.c:279) === End of file valgrind550 prechecked ./libtest/libtests lib537 check test 0537...[HTTP GET with a HUGE number of file descriptors open] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:33217/537 > log/23/stdout537 2> log/23/stderr537 537: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 537 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:33217/537 > log/23/stdout537 2> log/23/stderr537 === End of file commands.log === Start of file http_server.log 05:46:27.306507 ====> Client connect 05:46:27.306545 accept_connection 3 returned 4 05:46:27.306562 accept_connection 3 returned 0 05:46:27.306576 Read 93 bytes 05:46:27.306587 Process 93 bytes request 05:46:27.306602 Got request: GET /verifiedserver HTTP/1.1 05:46:27.306612 Are-we-friendly question received 05:46:27.306639 Wrote request (93 bytes) input to log/23/server.input 05:46:27.306657 Identifying ourselves as friends 05:46:27.306817 Response sent (56 bytes) and written to log/23/server.response 05:46:27.306828 special request received, no persistency 05:46:27.306838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 53488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file precheck-537 URL: check initial soft limit: 1024 initial hard limit: 524288 raising soft limit up to hard limit current soft limit: 524288 current hard limit: 524288 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 524277 file descriptors initializing testfd array trying to open 524277 file descriptors 524277 file descriptors open Test ended with result 0 === End of file precheck-537 === Start of file server.cmd Testnum 537 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:33217/537 initial soft limit: 1024 initial hard limit: 1024 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 1013 file descriptors initializing testfd array trying to open 1013 file descriptors 1013 file descriptors open === End of file stderr537 === Start of file valgrind537 ==106995== ==106995== Process terminating with default action of signal 4 (SIGILL) ==106995== Illegal opcode at address 0x51D8933 ==106995== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106995== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106995== by 0x51D8933: Curl_open (url.c:503) ==106995== by 0x514E50F: curl_easy_init (easy.c:350) ==106995== by 0x40138F2: UnknownInlinedFun (lib537.c:462) ==106995== by 0x40138F2: test_lib537.lto_priv.0 (lib537.c:434) ==106995== by 0x40034B5: main (first.c:279) === End of file valgrind537 test 0552...[HTTP proxy auth Digest with 70K POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:41505/ > log/17/stdout552 2> log/17/stderr552 552: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:41505/ > log/17/stdout552 2> log/17/stderr552 === End of file commands.log === Start of file http_server.log 05:46:28.733738 ====> Client connect 05:46:28.733782 accept_connection 3 returned 4 05:46:28.733804 accept_connection 3 returned 0 05:46:28.733822 Read 93 bytes 05:46:28.733833 Process 93 bytes request 05:46:28.733847 Got request: GET /verifiedserver HTTP/1.1 05:46:28.733857 Are-we-friendly questioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:35621/path/553 > log/5/stdout553 2> log/5/stderr553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:35549 > log/14/stdout556 2> log/14/stderr556 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:43413/559 > log/15/stdout559 2> log/15/stderr559 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:40253/545 > log/4/stdout545 2> log/4/stderr545 n received 05:46:28.733886 Wrote request (93 bytes) input to log/17/server.input 05:46:28.733907 Identifying ourselves as friends 05:46:28.733984 Response sent (56 bytes) and written to log/17/server.response 05:46:28.733997 special request received, no persistency 05:46:28.734007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 55164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 552 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file stderr552 URL: http://test.remote.example.com/path/552 === End of file stderr552 === Start of file valgrind552 ==107457== ==107457== Process terminating with default action of signal 4 (SIGILL) ==107457== Illegal opcode at address 0x51D8933 ==107457== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107457== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107457== by 0x51D8933: Curl_open (url.c:503) ==107457== by 0x514E50F: curl_easy_init (easy.c:350) ==107457== by 0x4014C98: UnknownInlinedFun (lib552.c:80) ==107457== by 0x4014C98: test_lib552.lto_priv.0 (lib552.c:69) ==107457== by 0x40034B5: main (first.c:279) === End of file valgrind552 test 0553...[HTTP post with huge request headers and post data from callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:35621/path/553 > log/5/stdout553 2> log/5/stderr553 553: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:35621/path/553 > log/5/stdout553 2> log/5/stderr553 === End of file commands.log === Start of file http_server.log 05:46:28.770382 ====> Client connect 05:46:28.770416 accept_connection 3 returned 4 05:46:28.770432 accept_connection 3 returned 0 05:46:28.770447 Read 93 bytes 05:46:28.770456 Process 93 bytes request 05:46:28.770470 Got request: GET /verifiedserver HTTP/1.1 05:46:28.770479 Are-we-friendly question received 05:46:28.770501 Wrote request (93 bytes) input to log/5/server.input 05:46:28.770518 Identifying ourselves as friends 05:46:28.770582 Response sent (56 bytes) and written to log/5/server.response 05:46:28.770591 special request received, no persistency 05:46:28.770599 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 56850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 553 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:35621/path/553 === End of file stderr553 === Start of file valgrind553 ==107501== ==107501== Process terminating with default action of signal 4 (SIGILL) ==107501== Illegal opcode at address 0x51D8933 ==107501== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107501== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107501== by 0x51D8933: Curl_open (url.c:503) ==107501== by 0x514E50F: curl_easy_init (easy.c:350) ==107501== by 0x4018851: test_lib553.lto_priv.0 (lib553.c:70) ==107501== by 0x40034B5: main (first.c:279) === End of file valgrind553 test 0545...[HTTP POST binary with embedded zero and no trailing zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:40253/545 > log/4/stdout545 2> log/4/stderr545 545: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:40253/545 > log/4/stdout545 2> log/4/stderr545 === End of file commands.log === Start of file http_server.log 05:46:27.182886 ====> Client connect 05:46:27.182915 accept_connection 3 returned 4 05:46:27.182930 accept_connection 3 returned 0 05:46:27.182944 Read 93 bytes 05:46:27.182953 Process 93 bytes request 05:46:27.182967 Got request: GET /verifiedserver HTTP/1.1 05:46:27.182976 Are-we-friendly question received 05:46:27.182999 Wrote request (93 bytes) input to log/4/server.input 05:46:27.183015 Identifying ourselves as friends 05:46:27.183066 Response sent (56 bytes) and written to log/4/server.response 05:46:27.183076 special request received, no persistency 05:46:27.183084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 50256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:40253/545 === End of file stderr545 === Start of file valgrind545 ==106967== ==106967== Process terminating with default action of signal 4 (SIGILL) ==106967== Illegal opcode at address 0x51D8933 ==106967== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==106967== by 0x51D8933: UnknownInlinedFun (request.c:40) ==106967== by 0x51D8933: Curl_open (url.c:503) ==106967== by 0x514E50F: curl_easy_init (easy.c:350) ==106967== by 0x4018397: test_lib544.lto_priv.0 (lib544.c:47) ==106967== by 0x40034B5: main (first.c:279) === End of file valgrind545 test 0556...[send and recv HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:35549 > log/14/stdout556 2> log/14/stderr556 556: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 556 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:35549 > log/14/stdout556 2> log/14/stderr556 === End of file commands.log === Start of file http_server.log 05:46:28.987082 ====> Client connect 05:46:28.987174 accept_connection 3 returned 4 05:46:28.987197 accept_connection 3 returned 0 05:46:28.987215 Read 93 bytes 05:46:28.987226 Process 93 bytes request 05:46:28.987241 Got request: GET /verifiedserver HTTP/1.1 05:46:28.987251 Are-we-friendly question received 05:46:28.987282 Wrote request (93 bytes) input to log/14/server.input 05:46:28.987302 Identifying ourselves as friends 05:46:28.987396 Response sent (56 bytes) and written to log/14/server.response 05:46:28.987410 special request received, no persistency 05:46:28.987419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 44446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:35549 === End of file stderr556 === Start of file valgrind556 ==107778== ==107778== Process terminating with default action of signal 4 (SIGILL) ==107778== Illegal opcode at address 0x51D8933 ==107778== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107778== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107778== by 0x51D8933: Curl_open (url.c:503) ==107778== by 0x514E50F: curl_easy_init (easy.c:350) ==107778== by 0x4018F40: test_lib556.lto_priv.0 (lib556.c:37) ==107778== by 0x40034B5: main (first.c:279) === End of file valgrind556 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:36353/554 > log/12/stdout554 2> log/12/stderr554 test 0559...[use tiny CURLOPT_BUFFERSIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:43413/559 > log/15/stdout559 2> log/15/stderr559 559: data FAILED: --- log/15/check-expected 2026-03-14 05:46:30.714616034 +0000 +++ log/15/check-generated 2026-03-14 05:46:30.714616034 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 2049[LF] -Connection: close[LF] -Content-Type: text/html[LF] -Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] -[LF] -ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] == Contents of files in the log/15/ directory after test 559 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 2049[LF] Connection: close[LF] Content-Type: text/html[LF] Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] [LF] ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:43413/559 > log/15/stdout559 2> log/15/stderr559 === End of file commands.log === Start of file http_server.log 05:46:29.460393 ====> Client connect 05:46:29.460430 accept_connection 3 returned 4 05:46:29.460446 accept_connection 3 returned 0 05:46:29.460460 Read 93 bytes 05:46:29.460469 Process 93 bytes request 05:46:29.460482 Got request: GET /verifiedserver HTTP/1.1 05:46:29.460491 Are-we-friendly question received 05:46:29.460515 Wrote request (93 bytes) input to log/15/server.input 05:46:29.460530 Identifying ourselves as friends 05:46:29.460588 Response sent (56 bytes) and written to log/15/server.response 05:46:29.460597 special request received, no persistency 05:46:29.460606 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 559 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:43413/559 === End of file stderr559 === Startcannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 34063 > log/21/stdout563 2> log/21/stderr563 of file valgrind559 ==107950== ==107950== Process terminating with default action of signal 4 (SIGILL) ==107950== Illegal opcode at address 0x51D8933 ==107950== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107950== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107950== by 0x51D8933: Curl_open (url.c:503) ==107950== by 0x514E50F: curl_easy_init (easy.c:350) ==107950== by 0x40145CA: test_lib559.lto_priv.0 (lib559.c:36) ==107950== by 0x40034B5: main (first.c:279) === End of file valgrind559 test 0554...[HTTP multi-part formpost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:36353/554 > log/12/stdout554 2> log/12/stderr554 554: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 554 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:36353/554 > log/12/stdout554 2> log/12/stderr554 === End of file commands.log === Start of file http_server.log 05:46:28.838243 ====> Client connect 05:46:28.838276 accept_connection 3 returned 4 05:46:28.838292 accept_connection 3 returned 0 05:46:28.838307 Read 93 bytes 05:46:28.838317 Process 93 bytes request 05:46:28.838330 Got request: GET /verifiedserver HTTP/1.1 05:46:28.838338 Are-we-friendly question received 05:46:28.838363 Wrote request (93 bytes) input to log/12/server.input 05:46:28.838379 Identifying ourselves as friends 05:46:28.838434 Response sent (56 bytes) and written to log/12/server.response 05:46:28.838444 special request received, no persistency 05:46:28.838452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 52574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:36353/554 === End of file stderr554 === Start of file valgrind554 ==107601== ==107601== Process terminating with default action of signal 4 (SIGILL) ==107601== Illegal opcode at address 0x51D8933 ==107601== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107601== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107601== by 0x51D8933: Curl_open (url.c:503) ==107601== by 0x514E50F: curl_easy_init (easy.c:350) ==107601== by 0x4018C28: t554_test_once (lib554.c:145) ==107601== by 0x4018EAB: test_lib554.lto_priv.0 (lib554.c:202) ==107601== by 0x40034B5: main (first.c:279) === End of file valgrind554 setenv ftp_proxy = http://127.0.0.1:42891/ test 0563...[FTP type=A URL and CURLOPT_PORT set and proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 34063 > log/21/stdout563 2> log/21/stderr563 563: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 34063 > log/21/stdout563 2> log/21/stderr563 === End of file commands.log === Start of file ftp_server.log 05:46:29.482380 ====> Client connect 05:46:29.482563 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:29.482870 < "USER anonymous" 05:46:29.482904 > "331 We are happy you popped in![CR][LF]" 05:46:29.483069 < "PASS ftp@example.com" 05:46:29.483097 > "230 Welcome you silly person[CR][LF]" 05:46:29.483254 < "PWD" 05:46:29.483283 > "257 "/" is current directory[CR][LF]" 05:46:29.483452 < "EPSV" 05:46:29.483479 ====> Passive DATA channel requested by client 05:46:29.483494 DATA sockfilt for passive data channel starting... 05:46:29.487066 DATA sockfilt for passive data channel started (pid 108134) 05:46:29.487191 DATA sockfilt for passive data channel listens on port 40449 05:46:29.487238 > "229 Entering Passive Mode (|||40449|)[CR][LF]" 05:46:29.487259 Client has been notified that DATA conn will be accepted on port 40449 05:46:29.487536 Client connects to port 40449 05:46:29.487566 ====> Client established passive DATA connection on port 40449 05:46:29.487644 < "TYPE I" 05:46:29.487670 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:29.487814 < "SIZE verifiedserver" 05:46:29.487851 > "213 17[CR][LF]" 05:46:29.487980 < "RETR verifiedserver" 05:46:29.488008 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:29.488080 =====> Closing passive DATA connection... 05:46:29.488094 Server disconnects passive DATA connection 05:46:29.488256 Server disconnected passive DATA connection 05:46:29.488276 DATA sockfilt for passive data channel quits (pid 108134) 05:46:29.488528 DATA sockfilt for passive data channel quit (pid 108134) 05:46:29.488551 =====> Closed passive DATA connection 05:46:29.488574 > "226 File transfer complete[CR][LF]" 05:46:29.529858 < "QUIT" 05:46:29.529924 > "221 bye bye baby[CR][LF]" 05:46:29.531195 MAIN sockfilt said DISC 05:46:29.531230 ====> Client disconnected 05:46:29.531313 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:29.943696 ====> Client connect 05:46:29.944039 Received DATA (on stdin) 05:46:29.944053 > 146 bytes data, server => client 05:46:29.944065 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:29.944076 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:29.944085 '220 \___|\___/|_| \_\_____|\r\n' 05:46:29.944196 < 16 bytes data, client => server 05:46:29.944211 'USER anonymous\r\n' 05:46:29.944368 Received DATA (on stdin) 05:46:29.944380 > 33 bytes data, server => client 05:46:29.944390 '331 We are happy you popped in!\r\n' 05:46:29.944442 < 22 bytes data, client => server 05:46:29.944454 'PASS ftp@example.com\r\n' 05:46:29.944558 Received DATA (on stdin) 05:46:29.944570 > 30 bytes data, server => client 05:46:29.944580 '230 Welcome you silly person\r\n' 05:46:29.944629 < 5 bytes data, client => server 05:46:29.944641 'PWD\r\n' 05:46:29.944744 Received DATA (on stdin) 05:46:29.944755 > 30 bytes data, server => client 05:46:29.944767 '257 "/" is current directory\r\n' 05:46:29.944830 < 6 bytes data, client => server 05:46:29.944841 'EPSV\r\n' 05:46:29.948731 Received DATA (on stdin) 05:46:29.948747 > 39 bytes data, server => client 05:46:29.948758 '229 Entering Passive Mode (|||40449|)\r\n' 05:46:29.948918 < 8 bytes data, client => server 05:46:29.948934 'TYPE I\r\n' 05:46:29.949132 Received DATA (on stdin) 05:46:29.949143 > 33 bytes data, server => client 05:46:29.949153 '200 I modify TYPE as you wanted\r\n' 05:46:29.949200 < 21 bytes data, client => server 05:46:29.949210 'SIZE verifiedserver\r\n' 05:46:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38929 ascii > log/20/stdout561 2> log/20/stderr561 29.949309 Received DATA (on stdin) 05:46:29.949319 > 8 bytes data, server => client 05:46:29.949327 '213 17\r\n' 05:46:29.949367 < 21 bytes data, client => server 05:46:29.949377 'RETR verifiedserver\r\n' 05:46:29.949553 Received DATA (on stdin) 05:46:29.949563 > 29 bytes data, server => client 05:46:29.949572 '150 Binary junk (17 bytes).\r\n' 05:46:29.950034 Received DATA (on stdin) 05:46:29.950045 > 28 bytes data, server => client 05:46:29.950054 '226 File transfer complete\r\n' 05:46:29.991109 < 6 bytes data, client => server 05:46:29.991143 'QUIT\r\n' 05:46:29.991397 Received DATA (on stdin) 05:46:29.991409 > 18 bytes data, server => client 05:46:29.991420 '221 bye bye baby\r\n' 05:46:29.992599 ====> Client disconnect 05:46:29.992779 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:29.948194 Running IPv4 version 05:46:29.948269 Listening on port 40449 05:46:29.948307 Wrote pid 108134 to log/21/server/ftp_sockdata.pid 05:46:29.948466 Received PING (on stdin) 05:46:29.948555 Received PORT (on stdin) 05:46:29.948953 ====> Client connect 05:46:29.949621 Received DATA (on stdin) 05:46:29.949632 > 17 bytes data, server => client 05:46:29.949640 'WE ROOLZ: 81542\r\n' 05:46:29.949662 Received DISC (on stdin) 05:46:29.949672 ====> Client forcibly disconnected 05:46:29.949783 Received QUIT (on stdin) 05:46:29.949793 quits 05:46:29.949847 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:46:28.840400 ====> Client connect 05:46:28.840438 accept_connection 3 returned 4 05:46:28.840456 accept_connection 3 returned 0 05:46:28.840472 Read 93 bytes 05:46:28.840482 Process 93 bytes request 05:46:28.840496 Got request: GET /verifiedserver HTTP/1.1 05:46:28.840506 Are-we-friendly question received 05:46:28.840533 Wrote request (93 bytes) input to log/21/server.input 05:46:28.840551 Identifying ourselves as friends 05:46:28.840631 Response sent (56 bytes) and written to log/21/server.response 05:46:28.840643 special request received, no persistency 05:46:28.840653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 33886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr563 URL: ftp://127.0.0.1:23456/563;type=A === End of file stderr563 === Start of file valgrind563 ==108170== ==108170== Process terminating with default action of signal 4 (SIGILL) ==108170== Illegal opcode at address 0x51D8933 ==108170== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108170== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108170== by 0x51D8933: Curl_open (url.c:503) ==108170== by 0x514E50F: curl_easy_init (easy.c:350) ==108170== by 0x401DE50: test_lib562.lto_priv.0 (lib562.c:48) ==108170== by 0x40034B5: main (first.c:279) === End of file valgrind563 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:33035/565 > log/6/stdout565 2> log/6/stderr565 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 46845 > log/13/stdout562 2> log/13/stderr562 test 0561...[FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38929 ascii > log/20/stdout561 2> log/20/stderr561 561: stdout FAILED: --- log/20/check-expected 2026-03-14 05:46:31.477949367 +0000 +++ log/20/check-generated 2026-03-14 05:46:31.477949367 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/20/ directory after test 561 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:38929 ascii > log/20/stdout561 2> log/20/stderr561 === End of file commands.log === Start of file http_server.log 05:46:28.483959 ====> Client connect 05:46:28.483990 accept_connection 3 returned 4 05:46:28.484005 accept_connection 3 returned 0 05:46:28.484018 Read 93 bytes 05:46:28.484026 Process 93 bytes request 05:46:28.484037 Got request: GET /verifiedserver HTTP/1.1 05:46:28.484045 Are-we-friendly question received 05:46:28.484065 Wrote request (93 bytes) input to log/20/server.input 05:46:28.484079 Identifying ourselves as friends 05:46:28.484127 Response sent (56 bytes) and written to log/20/server.response 05:46:28.484135 special request received, no persistency 05:46:28.484142 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 39062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 561 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr561 URL: ftp://www.example.com/moo/561;type=i === End of file stderr561 === Start of file valgrind561 ==107963== ==107963== Process terminating with default action of signal 4 (SIGILL) ==107963== Illegal opcode at address 0x51D8933 ==107963== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==107963== by 0x51D8933: UnknownInlinedFun (request.c:40) ==107963== by 0x51D8933: Curl_open (url.c:503) ==107963== by 0x514E50F: curl_easy_init (easy.c:350) ==107963== by 0x401448A: test_lib549.lto_priv.0 (lib549.c:41) ==107963== by 0x40034B5: main (first.c:279) === End of file valgrind561 test 0565...[send HTTP POST using read callback, chunked transfer-encoding and Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:33035/565 > log/6/stdout565 2> log/6/stderr565 565: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:33035/565 > log/6/stdout565 2> log/6/stderr565 === End of file commands.log === Start of file http_server.log 05:46:29.136383 ====> Client connect 05:46:29.136421 accept_connection 3 returned 4 05:46:29.136438 accept_connection 3 returned 0 05:46:29.136453 Read 93 bytes 05:46:29.136463 Process 93 bytes request 05:46:29.136477 Got request: GET /verifiedserver HTTP/1.1 05:46:29.136486 Are-we-friendly question received 05:46:29.136513 Wrote request (93 bytes) input to log/6/server.input 05:46:29.136530 Identifying ourselves as friends 05:46:29.136589 Response sent (56 bytes) and written to log/6/server.response 05:46:29.136599 special request received, no persistency 05:46:29.136608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 60196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stderr565 URL: http://127.0.0.1:33035/565 === End of file stderr565 === Start of file valgrind565 ==108268== ==108268== Process terminating with default action of signal 4 (SIGILL) ==108268== Illegal opcode at address 0x51D8933 ==108268== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108268== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108268== by 0x51D8933: Curl_open (url.c:503) ==108268== by 0x514E50F: curl_easy_init (easy.c:350) ==108268== by 0x400A400: test_lib510.lto_priv.0 (lib510.c:74) ==108268== by 0x40034B5: main (first.c:279) === End of file valgrind565 test 0562...[FTP a type=A URL and CURLOPT_PORT set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 46845 > log/13/stdout562 2> log/13/stderr562 562: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 562 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 46845 > log/13/stdout562 2> log/13/stderr562 === End of file commands.log === Start of file ftp_server.log 05:46:29.355688 ====> Client connect 05:46:29.355869 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:29.362644 < "USER anonymous" 05:46:29.362699 > "331 We are happy you popped in![CR][LF]" 05:46:29.364503 < "PASS ftp@example.com" 05:46:29.364538 > "230 Welcome you silly person[CR][LF]" 05:46:29.364694 < "PWD" 05:46:29.364725 > "257 "/" is current directory[CR][LF]" 05:46:29.364873 < "EPSV" 05:46:29.364896 ====> Passive DATA channel requested by client 05:46:29.364910 DATA sockfilt for passive data channel starting... 05:46:29.379172 DATA sockfilt for passive data channel started (pid 108103) 05:46:29.379368 DATA sockfilt for passive data channel listens on port 36877 05:46:29.379419 > "229 Entering Passive Mode (|||36877|)[CR][LF]" 05:46:29.379437 Client has been notified that DATA conn will be accepted on port 36877 05:46:29.379710 Client connects to port 36877 05:46:29.379739 ====> Client established passive DATA connection on port 36877 05:46:29.379845 < "TYPE I" 05:46:29.379877 > "200 I modify TYPE as CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:33885/566 log/9/ip566 > log/9/stdout566 2> log/9/stderr566 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:39591/573 > log/3/stdout573 2> log/3/stderr573 you wanted[CR][LF]" 05:46:29.380026 < "SIZE verifiedserver" 05:46:29.380065 > "213 17[CR][LF]" 05:46:29.380211 < "RETR verifiedserver" 05:46:29.380241 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:29.380331 =====> Closing passive DATA connection... 05:46:29.380347 Server disconnects passive DATA connection 05:46:29.380535 Server disconnected passive DATA connection 05:46:29.380563 DATA sockfilt for passive data channel quits (pid 108103) 05:46:29.380880 DATA sockfilt for passive data channel quit (pid 108103) 05:46:29.380906 =====> Closed passive DATA connection 05:46:29.380933 > "226 File transfer complete[CR][LF]" 05:46:29.439035 < "QUIT" 05:46:29.439100 > "221 bye bye baby[CR][LF]" 05:46:29.440438 MAIN sockfilt said DISC 05:46:29.440480 ====> Client disconnected 05:46:29.440573 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:29.817016 ====> Client connect 05:46:29.817341 Received DATA (on stdin) 05:46:29.817353 > 146 bytes data, server => client 05:46:29.817364 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:29.817374 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:29.817382 '220 \___|\___/|_| \_\_____|\r\n' 05:46:29.823799 < 16 bytes data, client => server 05:46:29.823842 'USER anonymous\r\n' 05:46:29.824163 Received DATA (on stdin) 05:46:29.824175 > 33 bytes data, server => client 05:46:29.824185 '331 We are happy you popped in!\r\n' 05:46:29.824235 < 22 bytes data, client => server 05:46:29.824246 'PASS ftp@example.com\r\n' 05:46:29.826001 Received DATA (on stdin) 05:46:29.826013 > 30 bytes data, server => client 05:46:29.826024 '230 Welcome you silly person\r\n' 05:46:29.826075 < 5 bytes data, client => server 05:46:29.826085 'PWD\r\n' 05:46:29.826184 Received DATA (on stdin) 05:46:29.826194 > 30 bytes data, server => client 05:46:29.826204 '257 "/" is current directory\r\n' 05:46:29.826258 < 6 bytes data, client => server 05:46:29.826267 'EPSV\r\n' 05:46:29.840908 Received DATA (on stdin) 05:46:29.840926 > 39 bytes data, server => client 05:46:29.840937 '229 Entering Passive Mode (|||36877|)\r\n' 05:46:29.841094 < 8 bytes data, client => server 05:46:29.841107 'TYPE I\r\n' 05:46:29.841340 Received DATA (on stdin) 05:46:29.841351 > 33 bytes data, server => client 05:46:29.841361 '200 I modify TYPE as you wanted\r\n' 05:46:29.841409 < 21 bytes data, client => server 05:46:29.841419 'SIZE verifiedserver\r\n' 05:46:29.841524 Received DATA (on stdin) 05:46:29.841534 > 8 bytes data, server => client 05:46:29.841544 '213 17\r\n' 05:46:29.841594 < 21 bytes data, client => server 05:46:29.841604 'RETR verifiedserver\r\n' 05:46:29.841808 Received DATA (on stdin) 05:46:29.841818 > 29 bytes data, server => client 05:46:29.841828 '150 Binary junk (17 bytes).\r\n' 05:46:29.842396 Received DATA (on stdin) 05:46:29.842408 > 28 bytes data, server => client 05:46:29.842418 '226 File transfer complete\r\n' 05:46:29.897021 < 6 bytes data, client => server 05:46:29.897066 'QUIT\r\n' 05:46:29.900574 Received DATA (on stdin) 05:46:29.900592 > 18 bytes data, server => client 05:46:29.900603 '221 bye bye baby\r\n' 05:46:29.901835 ====> Client disconnect 05:46:29.902041 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:29.831030 Running IPv4 version 05:46:29.831119 Listening on port 36877 05:46:29.831163 Wrote pid 108103 to log/13/server/ftp_sockdata.pid 05:46:29.836996 Received PING (on stdin) 05:46:29.840705 Received PORT (on stdin) 05:46:29.841126 ====> Client connect 05:46:29.841889 Received DATA (on stdin) 05:46:29.841901 > 17 bytes data, server => client 05:46:29.841911 'WE ROOLZ: 81411\r\n' 05:46:29.841935 Received DISC (on stdin) 05:46:29.841946 ====> Client forcibly disconnected 05:46:29.842079 Received QUIT (on stdin) 05:46:29.842090 quits 05:46:29.842147 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 562 === End of file server.cmd === Start of file stderr562 URL: ftp://127.0.0.1:23456/562;type=A === End of file stderr562 === Start of file valgrind562 ==108136== ==108136== Process terminating with default action of signal 4 (SIGILL) ==108136== Illegal opcode at address 0x51D8933 ==108136== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108136== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108136== by 0x51D8933: Curl_open (url.c:503) ==108136== by 0x514E50F: curl_easy_init (easy.c:350) ==108136== by 0x401DE50: test_lib562.lto_priv.0 (lib562.c:48) ==108136== by 0x40034B5: main (first.c:279) === End of file valgrind562 test 0566...[HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:33885/566 log/9/ip566 > log/9/stdout566 2> log/9/stderr566 566: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:33885/566 log/9/ip566 > log/9/stdout566 2> log/9/stderr566 === End of file commands.log === Start of file http_server.log 05:46:29.388485 ====> Client connect 05:46:29.388523 accept_connection 3 returned 4 05:46:29.388541 accept_connection 3 returned 0 05:46:29.388556 Read 93 bytes 05:46:29.388567 Process 93 bytes request 05:46:29.388580 Got request: GET /verifiedserver HTTP/1.1 05:46:29.388589 Are-we-friendly question received 05:46:29.388617 Wrote request (93 bytes) input to log/9/server.input 05:46:29.388636 Identifying ourselves as friends 05:46:29.388699 Response sent (56 bytes) and written to log/9/server.response 05:46:29.388712 special request received, no persistency 05:46:29.388721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 58984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:33885/566 === End of file stderr566 === Start of file valgrind566 ==108345== ==108345== Process terminating with default action of signal 4 (SIGILL) ==108345== Illegal opcode at address 0x51D8933 ==108345== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108345== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108345== by 0x51D8933: Curl_open (url.c:503) ==108345== by 0x514E50F: curl_easy_init (easy.c:350) ==108345== by 0x401E0C2: test_lib566.lto_priv.0 (lib566.c:38) ==108345== by 0x40034B5: main (first.c:279) === End of file valgrind566 test 0573...[verify connect time with multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:39591/573 > log/3/stdout573 2> log/3/stderr573 573: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 573 === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:35869/path/564 127.0.0.1:43381 > log/18/stdout564 2> log/18/stderr564 art of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:39591/573 > log/3/stdout573 2> log/3/stderr573 === End of file commands.log === Start of file http_server.log 05:46:30.906645 ====> Client connect 05:46:30.906691 accept_connection 3 returned 4 05:46:30.906710 accept_connection 3 returned 0 05:46:30.906864 Read 93 bytes 05:46:30.906881 Process 93 bytes request 05:46:30.906896 Got request: GET /verifiedserver HTTP/1.1 05:46:30.906906 Are-we-friendly question received 05:46:30.906937 Wrote request (93 bytes) input to log/3/server.input 05:46:30.906958 Identifying ourselves as friends 05:46:30.907034 Response sent (56 bytes) and written to log/3/server.response 05:46:30.907047 special request received, no persistency 05:46:30.907057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 42370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:39591/573 === End of file stderr573 === Start of file valgrind573 ==108448== ==108448== Process terminating with default action of signal 4 (SIGILL) ==108448== Illegal opcode at address 0x51D8933 ==108448== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108448== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108448== by 0x51D8933: Curl_open (url.c:503) ==108448== by 0x514E50F: curl_easy_init (easy.c:350) ==108448== by 0x401E2F0: test_lib573.lto_priv.0 (lib573.c:50) ==108448== by 0x40034B5: main (first.c:279) === End of file valgrind573 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:44417/568 log/2/file568.txt > log/2/stdout568 2> log/2/stderr568 startnew: ./server/servers socksd --port 0 --pidfile log/18/server/socks_server.pid --portfile log/18/server/socks_server.port --reqfile log/18/socksd-request.log --logfile log/18/socks_server.log --backend 127.0.0.1 --config log/18/server.cmd RUN: SOCKS server is now running PID 108201 * pid socks => 108201 108201 test 0564...[FTP RETR a file over a SOCKS proxy using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:35869/path/564 127.0.0.1:43381 > log/18/stdout564 2> log/18/stderr564 564: stdout FAILED: --- log/18/check-expected 2026-03-14 05:46:32.604616033 +0000 +++ log/18/check-generated 2026-03-14 05:46:32.604616033 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/18/ directory after test 564 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:35869/path/564 127.0.0.1:43381 > log/18/stdout564 2> log/18/stderr564 === End of file commands.log === Start of file ftp_server.log 05:46:29.558979 ====> Client connect 05:46:29.559122 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:29.569168 < "USER anonymous" 05:46:29.569229 > "331 We are happy you popped in![CR][LF]" 05:46:29.569446 < "PASS ftp@example.com" 05:46:29.569477 > "230 Welcome you silly person[CR][LF]" 05:46:29.569639 < "PWD" 05:46:29.569674 > "257 "/" is current directory[CR][LF]" 05:46:29.569845 < "EPSV" 05:46:29.569872 ====> Passive DATA channel requested by client 05:46:29.569886 DATA sockfilt for passive data channel starting... 05:46:29.579161 DATA sockfilt for passive data channel started (pid 108166) 05:46:29.579319 DATA sockfilt for passive data channel listens on port 45741 05:46:29.579376 > "229 Entering Passive Mode (|||45741|)[CR][LF]" 05:46:29.579396 Client has been notified that DATA conn will be accepted on port 45741 05:46:29.579713 Client connects to port 45741 05:46:29.579743 ====> Client established passive DATA connection on port 45741 05:46:29.579838 < "TYPE I" 05:46:29.579872 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:29.580042 < "SIZE verifiedserver" 05:46:29.580080 > "213 17[CR][LF]" 05:46:29.580239 < "RETR verifiedserver" 05:46:29.580275 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:29.580373 =====> Closing passive DATA connection... 05:46:29.580392 Server disconnects passive DATA connection 05:46:29.580640 Server disconnected passive DATA connection 05:46:29.580668 DATA sockfilt for passive data channel quits (pid 108166) 05:46:29.580958 DATA sockfilt for passive data channel quit (pid 108166) 05:46:29.580985 =====> Closed passive DATA connection 05:46:29.581012 > "226 File transfer complete[CR][LF]" 05:46:29.629191 < "QUIT" 05:46:29.629247 > "221 bye bye baby[CR][LF]" 05:46:29.630357 MAIN sockfilt said DISC 05:46:29.630385 ====> Client disconnected 05:46:29.630472 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:29.020341 ====> Client connect 05:46:29.020593 Received DATA (on stdin) 05:46:29.020607 > 146 bytes data, server => client 05:46:29.020618 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:29.020629 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:29.020638 '220 \___|\___/|_| \_\_____|\r\n' 05:46:29.030339 < 16 bytes data, client => server 05:46:29.030376 'USER anonymous\r\n' 05:46:29.030697 Received DATA (on stdin) 05:46:29.030710 > 33 bytes data, server => client 05:46:29.030721 '331 We are happy you popped in!\r\n' 05:46:29.030812 < 22 bytes data, client => server 05:46:29.030826 'PASS ftp@example.com\r\n' 05:46:29.030939 Received DATA (on stdin) 05:46:29.030951 > 30 bytes data, server => client 05:46:29.030965 '230 Welcome you silly person\r\n' 05:46:29.031014 < 5 bytes data, client => server 05:46:29.031025 'PWD\r\n' 05:46:29.031136 Received DATA (on stdin) 05:46:29.031147 > 30 bytes data, server => client 05:46:29.031158 '257 "/" is current directory\r\n' 05:46:29.031220 < 6 bytes data, client => server 05:46:29.031232 'EPSV\r\n' 05:46:29.040868 Received DATA (on stdin) 05:46:29.040886 > 39 bytes data, server => client 05:46:29.040898 '229 Entering Passive Mode (|||45741|)\r\n' 05:46:29.041091 < 8 bytes data, client => server 05:46:29.041107 'TYPE I\r\n' 05:46:29.041338 Received DATA (on stdin) 05:46:29.041351 > 33 bytes data, server => client 05:46:29.041361 '200 I modify TYPE as you wanted\r\n' 05:46:29.041415 < 21 bytes data, client => server 05:46:29.041427 'SIZE verifiedserver\r\n' 05:46:29.041542 Received DATA (on stdin) 05:46:29.041553 > 8 bytes data, server => client 05:46:29.041563 '213 17\r\n' 05:46:29.041613 < 21 bytes data, client => server 05:46:29.041625 'RETR verifiedserver\r\n' 05:46:29.041856 Received DATA (on stdin) 05:46:29.041868 > 29 bytes data, server => client 05:46:29.041879 '150 Binary junk (17 bytes).\r\n' 05:46:29.042476 Received DATA (on stdin) 05:46:29.042545 > 28 bytes data, server => client 05:46:29.042558 '226 File transfer complete\r\n' 05:46:29.090452 < 6 bytes data, client => server 05:46:29.090490 'QUIT\r\n' 05:46:29.090709 Received DATA (on stdin) 05:46:29.090719 > 18 bytes data, server => client 05:46:29.090728 '221 bye bye baby\r\n' 05:46:29.091771 ====> Client disconnect 05:46:29.091929 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:29.035382 Running IPv4 version 05:46:29.035471 Listening on port 45741 05:46:29.035518 Wrote pid 108166 to log/18/server/ftp_sockdata.pid 05:46:29.040534 Received PING (on stdin) 05:46:29.040671 Received PORT (on stdin) 05:46:29.041127 ====> Client connect 05:46:29.041936 Received DATA (on stdin) 05:46:29.041951 > 17 bytes data, server => client 05:46:29.041961 'WE ROOLZ: 81205\r\n' 05:46:29.041988 Received DISC (on stdin) 05:46:29.042000 ====> Client forcibly disconnected 05:46:29.042139 Received QUIT (on stdin) 05:46:29.042150 quits 05:46:29.042220 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 564 === End of file server.cmd === Start of file socks_server.log 05:46:29.097289 Running IPv4 version 05:46:29.097366 Listening on port 43381 05:46:29.097410 Wrote pid 108201 to log/18/server/socks_server.pid 05:46:29.097440 Wrote port 43381 to log/18/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:35869/path/564 === End of file stderr564 === Start of file valgrind564 ==108567== ==108567== Process terminating with default action of signal 4 (SIGILL) ==108567== Illegal opcode at address 0x51D8933 ==108567== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108567== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108567== by 0x51D8933: Curl_open (url.c:503) ==108567== by 0x514E50F: curl_easy_init (easy.c:350) ==108567== by 0x40617B5: test_lib564.part.0.lto_priv.0 (lib564.c:42) ==108567== by 0x40034B5: main (first.c:279) === End of file valgrind564 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/2/server/rtsp_server.pid" --portfile "log/2/server/rtsp_server.port" --logfile "log/2/rtsp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108357 port 44417 * pid rtsp => 108357 108357 test 0568...[RTSP Announce (PUT and POST style) test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41347/fully_simulated/UNIX/* > log/22/stdout576 2> log/22/stderr576 --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:44417/568 log/2/file568.txt > log/2/stdout568 2> log/2/stderr568 568: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:44417/568 log/2/file568.txt > log/2/stdout568 2> log/2/stderr568 === End of file commands.log === Start of file file568.txt v=0 o=mhandley 2890844526 2890845468 IN IP4 126.16.64.4 s=SDP Seminar i=A Seminar on the session description protocol u=something something something something something e=once upon the time we knew 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 === End of file file568.txt === Start of file rtsp_server.log 05:46:30.487418 Running IPv4 version on port 44417 05:46:30.487534 Wrote pid 108357 to log/2/server/rtsp_server.pid 05:46:30.487567 Wrote port 44417 to log/2/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 568 === End of file server.cmd === Start of file stderr568 URL: rtsp://127.0.0.1:44417/568 === End of file stderr568 === Start of file valgrind568 ==109042== ==109042== Process terminating with default action of signal 4 (SIGILL) ==109042== Illegal opcode at address 0x51D8933 ==109042== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109042== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109042== by 0x51D8933: Curl_open (url.c:503) ==109042== by 0x514E50F: curl_easy_init (easy.c:350) ==109042== by 0x401F67E: test_lib568.lto_priv.0 (lib568.c:48) ==109042== by 0x40034B5: main (first.c:279) === End of file valgrind568 test 0576...[FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41347/fully_simulated/UNIX/* > log/22/stdout576 2> log/22/stderr576 576: stdout FAILED: --- log/22/check-expected 2026-03-14 05:46:32.784616032 +0000 +++ log/22/check-generated 2026-03-14 05:46:32.781282700 +0000 @@ -1,152 +0,0 @@ -=============================================================[LF] -Remains: 14[LF] -Filename: .[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 5:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 13[LF] -Filename: ..[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 12[LF] -Filename: chmod1[LF] -Permissions: r--r--r-- (parsed => 444)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 11 10:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: chmod2[LF] -Permissions: rw-rw-rw- (parsed => 666)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod3[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod4[LF] -Permissions: --S--S--t (parsed => 7001)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod5[LF] -Permissions: --s--s--T (parsed => 7110)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: empty_file.dat[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: file.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 35B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: link[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:42[LF] -Filetype: symlink[LF] -Target: file.txt[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: link_absolute[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:45[LF] -Filetype: symlink[LF] -Target: /data/ftp/file.txt[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 23 2:05[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 47B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Permissions: rwxr-xrwx (parsed => 757)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/22/ directory after test 576 === Start of file check-expected =============================================================[LF] Remains: 14[LF] Filename: .[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 5:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 13[LF] Filename: ..[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 12[LF] Filename: chmod1[LF] Permissions: r--r--r-- (parsed => 444)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 11 10:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 11[LF] Filename: chmod2[LF] Permissions: rw-rw-rw- (parsed => 666)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod3[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod4[LF] Permissions: --S--S--t (parsed => 7001)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod5[LF] Permissions: --s--s--T (parsed => 7110)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 7[LF] Filename: empty_file.dat[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 6[LF] Filename: file.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 35B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 5[LF] Filename: link[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:42[LF] Filetype: symlink[LF] Target: file.txt[LF] =============================================================[LF] Remains: 4[LF] Filename: link_absolute[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:45[LF] Filetype: symlink[LF] Target: /data/ftp/file.txt[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 23 2:05[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 47B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Permissions: rwxr-xrwx (parsed => 757)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41347/fully_simulated/UNIX/* > log/22/stdout576 2> log/22/stderr576 === End of file commands.log === Start of file ftp_server.log 05:46:30.602370 ====> Client connect 05:46:30.602535 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:30.602818 < "USER anonymous" 05:46:30.602860 > "331 We are happy you popped in![CR][LF]" 05:46:30.603051 < "PASS ftp@example.com" 05:46:30.603084 > "230 Welcome you silly person[CR][LF]" 05:46:30.603262 < "PWD" 05:46:30.603298 > "257 "/" is current directory[CR][LF]" 05:46:30.603481 < "EPSV" 05:46:30.603508 ====> Passive DATA channel requested by client 05:46:30.603524 DATA sockfilt for passive data channel starting... 05:46:30.619983 DATA sockfilt for passive data channel started (pid 108535) 05:46:30.620116 DATA sockfilt for passive data channel listens on port 45631 05:46:30.620164 > "229 Entering Passive Mode (|||45631|)[CR][LF]" 05:46:30.620181 Client has been notified that DATA conn will be accepted on port 45631 05:46:30.620491 Client connects to port 45631 05:46:30.620529 ====> Client established passive DATA connection on port 45631 05:46:30.620622 < "TYPE I" 05:46:30.620659 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:30.620826 < "SIZE verifiedserver" 05:46:30.620867 > "213 17[CR][LF]" 05:46:30.621010 < "RETR verifiedserver" 05:46:30.621045 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:30.621129 =====> Closing passive DATA connection... 05:46:30.621144 Server disconnects passive DATA connection 05:46:30.621360 Server disconnected passive DATA connection 05:46:30.621385 DATA sockfilt for passive data channel quits (pid 108535) 05:46:30.621671 DATA sockfilt for passive data channel quit (pid 108535) 05:46:30.621693 =====> Closed passive DATA connection 05:46:30.621721 > "226 File transfer complete[CR][LF]" 05:46:30.669099 < "QUIT" 05:46:30.669158 > "221 bye bye baby[CR][LF]" 05:46:30.670105 MAIN sockfilt said DISC 05:46:30.670144 ====> Client disconnected 05:46:30.670323 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:30.063686 ====> Client connect 05:46:30.064005 Received DATA (on stdin) 05:46:30.064017 > 146 bytes data, server => client 05:46:30.064027 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:30.064036 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:30.064044 '220 \___|\___/|_| \_\_____|\r\n' 05:46:30.064127 < 16 bytes data, client => server 05:46:30.064143 'USER anonymous\r\n' 05:46:30.064328 Received DATA (on stdin) 05:46:30.064341 > 33 bytes data, server => client 05:46:30.064352 '331 We are happy you popped in!\r\n' 05:46:30.064409 < 22 bytes data, client => server 05:46:30.064425 'PASS ftp@example.com\r\n' 05:46:30.064549 Received DATA (on stdin) 05:46:30.064562 > 30 bytes data, server => client 05:46:30.064573 '230 Welcome you silly person\r\n' 05:46:30.064629 < 5 bytes data, client => server 05:46:30.064644 'PWD\r\n' 05:46:30.064761 Received DATA (on stdin) 05:46:30.064773 > 30 bytes data, server => client 05:46:30.064784 '257 "/" is current directory\r\n' 05:46:30.064848 < 6 bytes data, client => server 05:46:30.064862 'EPSV\r\n' 05:46:30.081654 Received DATA (on stdin) 05:46:30.081672 > 39 bytes data, server => client 05:46:30.081683 '229 Entering Passive Mode (|||45631|)\r\n' 05:46:30.081870 < 8 bytes data, client => server 05:46:30.081884 'TYPE I\r\n' 05:46:30.082122 Received DATA (on stdin) 05:46:30.082133 > 33 bytes data, server => client 05:46:30.082142 '200 I modify TYPE as you wanted\r\n' 05:46:30.082201 < 21 bytes data, client => server 05:46:30.082211 'SIZE verifiedserver\r\n' 05:46:30.082327 Received DATA (on stdin) 05:46:30.082338 > 8 bytes data, server => client 05:46:30.082346 '213 17\r\n' 05:46:30.082392 < 21 bytes data, client => server 05:46:30.082402 'RETR verifiedserver\r\n' 05:46:30.082605 Received DATA (on stdin) 05:46:30.082616 > 29 bytes data, server => client 05:46:30.082625 '150 Binary junk (17 bytes).\r\n' 05:46:30.083182 Received DATA (on stdin) 05:46:30.083193 > 28 bytes data, server => client 05:46:30.083203 '226 File transfer complete\r\n' 05:46:30.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:33217/578 log/23/ip578 > log/23/stdout578 2> log/23/stderr578 130342 < 6 bytes data, client => server 05:46:30.130383 'QUIT\r\n' 05:46:30.130624 Received DATA (on stdin) 05:46:30.130636 > 18 bytes data, server => client 05:46:30.130646 '221 bye bye baby\r\n' 05:46:30.131507 ====> Client disconnect 05:46:30.131622 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:30.081109 Running IPv4 version 05:46:30.081171 Listening on port 45631 05:46:30.081206 Wrote pid 108535 to log/22/server/ftp_sockdata.pid 05:46:30.081383 Received PING (on stdin) 05:46:30.081477 Received PORT (on stdin) 05:46:30.081904 ====> Client connect 05:46:30.082650 Received DATA (on stdin) 05:46:30.082661 > 17 bytes data, server => client 05:46:30.082671 'WE ROOLZ: 81140\r\n' 05:46:30.082693 Received DISC (on stdin) 05:46:30.082704 ====> Client forcibly disconnected 05:46:30.082854 Received QUIT (on stdin) 05:46:30.082864 quits 05:46:30.082950 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 576 === End of file server.cmd === Start of file stderr576 URL: ftp://127.0.0.1:41347/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==108712== ==108712== Process terminating with default action of signal 4 (SIGILL) ==108712== Illegal opcode at address 0x51D8933 ==108712== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108712== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108712== by 0x51D8933: Curl_open (url.c:503) ==108712== by 0x514E50F: curl_easy_init (easy.c:350) ==108712== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==108712== by 0x40034B5: main (first.c:279) === End of file valgrind576 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:41717/fully_simulated/UNIX/* > log/16/stdout575 2> log/16/stderr575 test 0578...[HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:33217/578 log/23/ip578 > log/23/stdout578 2> log/23/stderr578 578: data FAILED: --- log/23/check-expected 2026-03-14 05:46:32.807949366 +0000 +++ log/23/check-generated 2026-03-14 05:46:32.807949366 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/23/ directory after test 578 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:33217/578 log/23/ip578 > log/23/stdout578 2> log/23/stderr578 === End of file commands.log === Start of file http_server.log 05:46:31.132423 ====> Client connect 05:46:31.132471 accept_connection 3 returned 4 05:46:31.132488 accept_connection 3 returned 0 05:46:31.132501 Read 93 bytes 05:46:31.132510 Process 93 bytes request 05:46:31.132523 Got request: GET /verifiedserver HTTP/1.1 05:46:31.132532 Are-we-friendly question received 05:46:31.132555 Wrote request (93 bytes) input to log/23/server.input 05:46:31.132571 Identifying ourselves as friends 05:46:31.132630 Response sent (56 bytes) and written to log/23/server.response 05:46:31.132641 special request received, no persistency 05:46:31.132650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 50498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:33217/578 === End of file stderr578 === Start of file valgrind578 ==108598== ==108598== Process terminating with default action of signal 4 (SIGILL) ==108598== Illegal opcode at address 0x51D8933 ==108598== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108598== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108598== by 0x51D8933: Curl_open (url.c:503) ==108598== by 0x514E50F: curl_easy_init (easy.c:350) ==108598== by 0x4014B0A: test_lib578.lto_priv.0 (lib578.c:61) ==108598== by 0x40034B5: main (first.c:279) === End of file valgrind578 test 0575...[FTP wildcard download - dup_handle and multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:41717/fully_simulated/UNIX/* > log/16/stdout575 2> log/16/stderr575 575: stdout FAILED: --- log/16/check-expected 2026-03-14 05:46:32.924616032 +0000 +++ log/16/check-generated 2026-03-14 05:46:32.924616032 +0000 @@ -1,15 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/16/ directory after test 575 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:41717/fully_simulated/UNIX/* > log/16/stdout575 2> log/16/stderr575 === End of file commands.log === Start of file ftp_server.log 05:46:30.600175 ====> Client connect 05:46:30.600362 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:30.605693 < "USER anonymous" 05:46:30.605752 > "331 We are happy you popped in![CR][LF]" 05:46:30.609780 < "PASS ftp@example.com" 05:46:30.609834 > "230 Welcome you silly person[CR][LF]" 05:46:30.611601 < "PWD" 05:46:30.611652 > "257 "/" is current directory[CR][LF]" 05:46:30.615940 < "EPSV" 05:46:30.615995 ====> Passive DATA channel requested by client 05:46:30.616012 DATA sockfilt for passive data channel starting... 05:46:30.623392 DATA sockfilt for passive data channel started (pid 108537) 05:46:30.623552 DATA sockfilt for passive data channel listens on port 40559 05:46:30.623623 > "229 Entering Passive Mode (|||40559|)[CR][LF]" 05:46:30.623651 Client has been notified that DATA conn will be accepted on port 40559 05:46:30.623957 Client connects to port 40559 05:46:30.623989 ====> Client established passive DATA connection on port 40559 05:46:30.624084 < "TYPE I" 05:46:30.624123 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:30.624312 < "SIZE verifiedserver" 05:46:30.624363 > "213 17[CR][LF]" 05:46:30.624556 < "RETR verifiedserver" 05:46:30.624599 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:30.624688 =====> Closing passive DATA connection... 05:46:30.624710 Server disconnects passive DATA connection 05:46:30.624924 Server disconnected passive DATA connection 05:46:30.624954 DATA sockfilt for passive data channel quits (pid 108537) 05:46:30.625302 DATA sockfilt for passive data channel quit (pid 108537) 05:46:30.625335 =====> Closed passive DATA connection 05:46:30.625368 > "226 File transfer complete[CR][LF]" 05:46:30.669150 < "QUIT" 05:46:30.669212 > "221 bye bye baby[CR][LF]" 05:46:30.670104 MAIN sockfilt said DISC 05:46:30.670142 ====> Client disconnected 05:46:30.670397 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:31.060632 ====> Client connect 05:46:31.063685 Received DATA (on stdin) 05:46:31.063730 > 146 bytes data, server => client 05:46:31.063742 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:31.063751 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:31.063758 '220 \___|\___/|_| \_\_____|\r\n' 05:46:31.063859 < 16 bytes data, client => server 05:46:31.063870 'USER anonymous\r\n' 05:46:31.070340 Received DATA (on stdin) 05:46:31.070384 > 33 bytes data, server => client 05:46:31.070395 '331 We are happy you popped in!\r\n' 05:46:31.070503 < 22 bytes data, client => server 05:46:31.070516 'PASS ftp@example.com\r\n' 05:46:31.071479 Received DATA (on stdin) 05:46:31.071500 > 30 bytes data, server => client 05:46:31.071512 '230 Welcome you silly person\r\n' 05:46:31.071575 < 5 bytes data, client => server 05:46:31.071587 'PWD\r\n' 05:46:31.077008 Received DATA (on stdin) 05:46:31.077057 > 30 bytes data, server => client 05:46:31.077071 '257 "/" is current directory\r\n' 05:46:31.077210 < 6 bytes data, client => server 05:46:31.077227 'EPSV\r\n' 05:46:31.085133 Received DATA (on stdin) 05:46:31.085155 > 39 bytes data, server => client 05:46:31.085168 '229 Entering Passive Mode (|||40559|)\r\n' 05:46:31.085328 < 8 bytes data, client => server 05:46:31.085347 'TYPE I\r\n' 05:46:31.085588 Received DATA (on stdin) 05:46:31.085603 > 33 bytes data, server => client 05:46:31.085614 '200 I modify TYPE as you wanted\r\n' 05:46:31.085673 < 21 bytes data, client => server 05:46:31.085685 'SIZE verifiedserver\r\n' 05:46:31.085835 Received DATA (on stdin) 05:46:31.085849 > 8 bytes data, server => client 05:46:31.085860 '213 17\r\n' 05:46:31.085919 < 21 bytes data, client => server 05:46:31.085932 'RETR verifiedserver\r\n' 05:46:31.086176 Received DATA (on stdin) 05:46:31.086191 > 29 bytes data, server => client 05:46:31.086203 '150 Binary junk (17 bytes).\r\n' 05:46:31.086833 Received DATA (on stdin) 05:46:31.086846 > 28 bytes data, server => client 05:46:31.086857 '226 File transfer complete\r\n' 05:46:31.130415 < 6 bytes data, client => server 05:46:31.130443 'QUIT\r\n' 05:46:31.130686 Received DATA (on stdin) 05:46:31.130702 > 18 bytes data, server => client 05:46:31.130713 '221 bye bye baby\r\n' 05:46:31.131511 ====> Client disconnect 05:46:31.131638 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:30.084469 Running IPv4 version 05:46:30.084543 Listening on port 40559 05:46:30.084585 Wrote pid 108537 to log/16/server/ftp_sockdata.pid 05:46:30.084782 Received PING (on stdin) 05:46:30.084900 Received PORT (on stdin) 05:46:30.085371 ====> Client connect 05:46:30.086262 Received DATA (on stdin) 05:46:30.086280 > 17 bytes data, server => client 05:46:30.086292 'WE ROOLZ: 80884\r\n' 05:46:30.086320 Received DISC (on stdin) 05:46:30.086334 ====> Client forcibly disconnected 05:46:30.086485 Received QUIT (on stdin) 05:46:30.086501 quits 05:46:30.086584 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 575 === End of file server.cmd === Start of file stderr575 URL: ftp://127.0.0.1:41717/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==108609== ==108609== Process terminating with default action of signal 4 (SIGILL) ==108609== Illegal opcode at address 0x51D8933 ==108609== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108609== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108609== by 0x51D8933: Curl_open (url.c:503) ==108609== by 0x514E50F: curl_easy_init (easy.c:350) ==108609== by 0x40179B9: test_lib575.lto_priv.0 (lib575.c:44) =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:45453/fully_simulated/UNIX/*.txt > log/19/stdout574 2> log/19/stderr574 =108609== by 0x40034B5: main (first.c:279) === End of file valgrind575 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:35621/580 > log/5/stdout580 2> log/5/stderr580 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:40253/584 > log/4/stdout584 2> log/4/stderr584 test 0574...[FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:45453/fully_simulated/UNIX/*.txt > log/19/stdout574 2> log/19/stderr574 574: stdout FAILED: --- log/19/check-expected 2026-03-14 05:46:32.941282699 +0000 +++ log/19/check-generated 2026-03-14 05:46:32.941282699 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/19/ directory after test 574 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:45453/fully_simulated/UNIX/*.txt > log/19/stdout574 2> log/19/stderr574 === End of file commands.log === Start of file ftp_server.log 05:46:30.527695 ====> Client connect 05:46:30.527844 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:30.528108 < "USER anonymous" 05:46:30.528139 > "331 We are happy you popped in![CR][LF]" 05:46:30.528281 < "PASS ftp@example.com" 05:46:30.528304 > "230 Welcome you silly person[CR][LF]" 05:46:30.528441 < "PWD" 05:46:30.528470 > "257 "/" is current directory[CR][LF]" 05:46:30.528608 < "EPSV" 05:46:30.528630 ====> Passive DATA channel requested by client 05:46:30.528643 DATA sockfilt for passive data channel starting... 05:46:30.541988 DATA sockfilt for passive data channel started (pid 108472) 05:46:30.544160 DATA sockfilt for passive data channel listens on port 44873 05:46:30.544235 > "229 Entering Passive Mode (|||44873|)[CR][LF]" 05:46:30.544257 Client has been notified that DATA conn will be accepted on port 44873 05:46:30.544573 Client connects to port 44873 05:46:30.544603 ====> Client established passive DATA connection on port 44873 05:46:30.544695 < "TYPE I" 05:46:30.544725 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:30.544865 < "SIZE verifiedserver" 05:46:30.544902 > "213 17[CR][LF]" 05:46:30.545028 < "RETR verifiedserver" 05:46:30.545059 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:30.545157 =====> Closing passive DATA connection... 05:46:30.545172 Server disconnects passive DATA connection 05:46:30.545312 Server disconnected passive DATA connection 05:46:30.545331 DATA sockfilt for passive data channel quits (pid 108472) 05:46:30.545604 DATA sockfilt for passive data channel quit (pid 108472) 05:46:30.545626 =====> Closed passive DATA connection 05:46:30.545652 > "226 File transfer complete[CR][LF]" 05:46:30.589842 < "QUIT" 05:46:30.589898 > "221 bye bye baby[CR][LF]" 05:46:30.591126 MAIN sockfilt said DISC 05:46:30.591157 ====> Client disconnected 05:46:30.591238 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:29.989037 ====> Client connect 05:46:29.989312 Received DATA (on stdin) 05:46:29.989326 > 146 bytes data, server => client 05:46:29.989337 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:29.989346 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:29.989354 '220 \___|\___/|_| \_\_____|\r\n' 05:46:29.989434 < 16 bytes data, client => server 05:46:29.989444 'USER anonymous\r\n' 05:46:29.989600 Received DATA (on stdin) 05:46:29.989610 > 33 bytes data, server => client 05:46:29.989619 '331 We are happy you popped in!\r\n' 05:46:29.989665 < 22 bytes data, client => server 05:46:29.989674 'PASS ftp@example.com\r\n' 05:46:29.989761 Received DATA (on stdin) 05:46:29.989775 > 30 bytes data, server => client 05:46:29.989784 '230 Welcome you silly person\r\n' 05:46:29.989828 < 5 bytes data, client => server 05:46:29.989838 'PWD\r\n' 05:46:29.989927 Received DATA (on stdin) 05:46:29.989937 > 30 bytes data, server => client 05:46:29.989946 '257 "/" is current directory\r\n' 05:46:29.989996 < 6 bytes data, client => server 05:46:29.990005 'EPSV\r\n' 05:46:30.005732 Received DATA (on stdin) 05:46:30.005751 > 39 bytes data, server => client 05:46:30.005764 '229 Entering Passive Mode (|||44873|)\r\n' 05:46:30.005956 < 8 bytes data, client => server 05:46:30.005968 'TYPE I\r\n' 05:46:30.006186 Received DATA (on stdin) 05:46:30.006195 > 33 bytes data, server => client 05:46:30.006204 '200 I modify TYPE as you wanted\r\n' 05:46:30.006252 < 21 bytes data, client => server 05:46:30.006261 'SIZE verifiedserver\r\n' 05:46:30.006359 Received DATA (on stdin) 05:46:30.006369 > 8 bytes data, server => client 05:46:30.006377 '213 17\r\n' 05:46:30.006418 < 21 bytes data, client => server 05:46:30.006427 'RETR verifiedserver\r\n' 05:46:30.006633 Received DATA (on stdin) 05:46:30.006643 > 29 bytes data, server => client 05:46:30.006652 '150 Binary junk (17 bytes).\r\n' 05:46:30.007112 Received DATA (on stdin) 05:46:30.007123 > 28 bytes data, server => client 05:46:30.007132 '226 File transfer complete\r\n' 05:46:30.051116 < 6 bytes data, client => server 05:46:30.051149 'QUIT\r\n' 05:46:30.051362 Received DATA (on stdin) 05:46:30.051372 > 18 bytes data, server => client 05:46:30.051382 '221 bye bye baby\r\n' 05:46:30.052534 ====> Client disconnect 05:46:30.052696 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:30.991528 Running IPv4 version 05:46:31.000401 Listening on port 44873 05:46:31.000450 Wrote pid 108472 to log/19/server/ftp_sockdata.pid 05:46:31.000476 Received PING (on stdin) 05:46:31.005460 Received PORT (on stdin) 05:46:31.005987 ====> Client connect 05:46:31.006673 Received DATA (on stdin) 05:46:31.006683 > 17 bytes data, server => client 05:46:31.006692 'WE ROOLZ: 81129\r\n' 05:46:31.006715 Received DISC (on stdin) 05:46:31.006725 ====> Client forcibly disconnected 05:46:31.006793 Received QUIT (on stdin) 05:46:31.006806 quits 05:46:31.006873 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 574 === End of file server.cmd === Start of file stderr574 URL: ftp://127.0.0.1:45453/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==108542== ==108542== Process terminating with default action of signal 4 (SIGILL) ==108542== Illegal opcode at address 0x51D8933 ==108542== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108542== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108542== by 0x51D8933: Curl_open (url.c:503) ==108542== by 0x514E50F: curl_easy_init (easy.c:350) ==108542== by 0x4014866: test_lib574.lto_priv.0 (lib574.c:44) ==108542== by 0x40034B5: main (first.c:279) === End of file valgrind574 test 0584...[CURLOPT_MIMEPOST first set then set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:40253/584 > log/4/stdout584 2> log/4/stderr584 584CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:41265/569 log/11/idfile569.txt > log/11/stdout569 2> log/11/stderr569 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:42533/570 > log/10/stdout570 2> log/10/stderr570 : protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 584 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:40253/584 > log/4/stdout584 2> log/4/stderr584 === End of file commands.log === Start of file http_server.log 05:46:30.367283 ====> Client connect 05:46:30.367347 accept_connection 3 returned 4 05:46:30.367362 accept_connection 3 returned 0 05:46:30.367377 Read 93 bytes 05:46:30.367386 Process 93 bytes request 05:46:30.367400 Got request: GET /verifiedserver HTTP/1.1 05:46:30.367409 Are-we-friendly question received 05:46:30.367432 Wrote request (93 bytes) input to log/4/server.input 05:46:30.367448 Identifying ourselves as friends 05:46:30.367505 Response sent (56 bytes) and written to log/4/server.response 05:46:30.367514 special request received, no persistency 05:46:30.367523 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 50264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 584 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:40253/584 === End of file stderr584 === Start of file valgrind584 ==108919== ==108919== Process terminating with default action of signal 4 (SIGILL) ==108919== Illegal opcode at address 0x51D8933 ==108919== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108919== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108919== by 0x51D8933: Curl_open (url.c:503) ==108919== by 0x514E50F: curl_easy_init (easy.c:350) ==108919== by 0x402252A: test_lib589.lto_priv.0 (lib589.c:38) ==108919== by 0x40034B5: main (first.c:279) === End of file valgrind584 test 0580...[multi interface, multiple Location: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:35621/580 > log/5/stdout580 2> log/5/stderr580 580: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:35621/580 > log/5/stdout580 2> log/5/stderr580 === End of file commands.log === Start of file http_server.log 05:46:31.223980 ====> Client connect 05:46:31.224013 accept_connection 3 returned 4 05:46:31.224029 accept_connection 3 returned 0 05:46:31.224044 Read 93 bytes 05:46:31.224054 Process 93 bytes request 05:46:31.224067 Got request: GET /verifiedserver HTTP/1.1 05:46:31.224076 Are-we-friendly question received 05:46:31.224100 Wrote request (93 bytes) input to log/5/server.input 05:46:31.224118 Identifying ourselves as friends 05:46:31.224175 Response sent (56 bytes) and written to log/5/server.response 05:46:31.224185 special request received, no persistency 05:46:31.224193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 56862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:35621/580 === End of file stderr580 === Start of file valgrind580 ==108763== ==108763== Process terminating with default action of signal 4 (SIGILL) ==108763== Illegal opcode at address 0x519F3C0 ==108763== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==108763== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==108763== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==108763== by 0x40626D5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108763== by 0x40034B5: main (first.c:279) ==108763== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==108763== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108763== by 0x519F354: Curl_multi_handle (multi.c:235) ==108763== by 0x40626D5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108763== by 0x40034B5: main (first.c:279) ==108763== === End of file valgrind580 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/11/server/rtsp_server.pid" --portfile "log/11/server/rtsp_server.port" --logfile "log/11/rtsp_server.log" --logdir "log/11" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108367 port 41265 * pid rtsp => 108367 108367 test 0569...[RTSP Session ID parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:41265/569 log/11/idfile569.txt > log/11/stdout569 2> log/11/stderr569 569: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:41265/569 log/11/idfile569.txt > log/11/stdout569 2> log/11/stderr569 === End of file commands.log === Start of file rtsp_server.log 05:46:30.494405 Running IPv4 version on port 41265 05:46:30.494541 Wrote pid 108367 to log/11/server/rtsp_server.pid 05:46:30.494588 Wrote port 41265 to log/11/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 569 === End of file server.cmd === Start of file stderr569 URL: rtsp://127.0.0.1:41265/569 === End of file stderr569 === Start of file valgrind569 ==109048== ==109048== Process terminating with default action of signal 4 (SIGILL) ==109048== Illegal opcode at address 0x51D8933 ==109048== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109048== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109048== by 0x51D8933: Curl_open (url.c:503) ==109048== by 0x514E50F: curl_easy_init (easy.c:350) ==109048== by 0x401EB5E: test_lib569.lto_priv.0 (lib569.c:51) ==109048== by 0x40034B5: main (first.c:279) === End of file valgrind569 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/10/server/rtsp_server.pid" --portfile "log/10/server/rtsp_server.port" --logfile "log/10/rtsp_servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:43413/581 > log/15/stdout581 2> log/15/stderr581 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:41685/567 > log/24/stdout567 2> log/24/stderr567 cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:41505/579 log/17/ip579 > log/17/stdout579 2> log/17/stderr579 er.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108404 port 42533 * pid rtsp => 108404 108404 test 0570...[RTSP CSeq and Session Mismatch checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:42533/570 > log/10/stdout570 2> log/10/stderr570 570: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:42533/570 > log/10/stdout570 2> log/10/stderr570 === End of file commands.log === Start of file rtsp_server.log 05:46:30.636216 Running IPv4 version on port 42533 05:46:30.636343 Wrote pid 108404 to log/10/server/rtsp_server.pid 05:46:30.636379 Wrote port 42533 to log/10/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 570 === End of file server.cmd === Start of file stderr570 URL: rtsp://127.0.0.1:42533/570 === End of file stderr570 === Start of file valgrind570 ==109151== ==109151== Process terminating with default action of signal 4 (SIGILL) ==109151== Illegal opcode at address 0x51D8933 ==109151== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109151== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109151== by 0x51D8933: Curl_open (url.c:503) ==109151== by 0x514E50F: curl_easy_init (easy.c:350) ==109151== by 0x401EECA: test_lib570.lto_priv.0 (lib570.c:40) ==109151== by 0x40034B5: main (first.c:279) === End of file valgrind570 test 0581...[multi interface, multiple Content-Type: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:43413/581 > log/15/stdout581 2> log/15/stderr581 581: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:43413/581 > log/15/stdout581 2> log/15/stderr581 === End of file commands.log === Start of file http_server.log 05:46:31.340493 ====> Client connect 05:46:31.340525 accept_connection 3 returned 4 05:46:31.343688 accept_connection 3 returned 0 05:46:31.343722 Read 93 bytes 05:46:31.343733 Process 93 bytes request 05:46:31.343747 Got request: GET /verifiedserver HTTP/1.1 05:46:31.343756 Are-we-friendly question received 05:46:31.343795 Wrote request (93 bytes) input to log/15/server.input 05:46:31.343817 Identifying ourselves as friends 05:46:31.343923 Response sent (56 bytes) and written to log/15/server.response 05:46:31.343935 special request received, no persistency 05:46:31.343945 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:43413/581 === End of file stderr581 === Start of file valgrind581 ==108895== ==108895== Process terminating with default action of signal 4 (SIGILL) ==108895== Illegal opcode at address 0x519F3C0 ==108895== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==108895== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==108895== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==108895== by 0x40626D5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108895== by 0x40034B5: main (first.c:279) ==108895== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==108895== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==108895== by 0x519F354: Curl_multi_handle (multi.c:235) ==108895== by 0x40626D5: test_lib507.part.0.lto_priv.0 (lib507.c:39) ==108895== by 0x40034B5: main (first.c:279) ==108895== === End of file valgrind581 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/24/server/rtsp_server.pid" --portfile "log/24/server/rtsp_server.port" --logfile "log/24/rtsp_server.log" --logdir "log/24" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108309 port 41685 * pid rtsp => 108309 108309 test 0567...[simple RTSP OPTIONS command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:41685/567 > log/24/stdout567 2> log/24/stderr567 567: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:41685/567 > log/24/stdout567 2> log/24/stderr567 === End of file commands.log === Start of file rtsp_server.log 05:46:29.350976 Running IPv4 version on port 41685 05:46:29.351081 Wrote pid 108309 to log/24/server/rtsp_server.pid 05:46:29.351115 Wrote port 41685 to log/24/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 567 === End of file server.cmd === Start of file stderr567 URL: rtsp://127.0.0.1:41685/567 === End of file stderr567 === Start of file valgrind567 ==108859== ==108859== Process terminating with default action of signal 4 (SIGILL) ==108859== Illegal opcode at address 0x51D8933 ==108859== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108859== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108859== by 0x51D8933: Curl_open (url.c:503) ==108859== by 0x514E50F: curl_easy_init (easy.c:350) ==108859== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==108859== by 0x40034B5: main (first.c:279) === End of file valgrind567 cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:43445/571 log/8/protofile571.txt > log/8/stdout571 2> log/8/stderr571 test 0579...[small chunked HTTP POSTs with digest auth and progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:41505/579 log/17/ip579 > log/17/stdout579 2> log/17/stderr579 579: data FAILED: --- log/17/check-expected 2026-03-14 05:46:33.347949366 +0000 +++ log/17/check-generated 2026-03-14 05:46:33.347949366 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 100 Continue[CR][LF] -Server: Microsoft-IIS/5.0[CR][LF] -Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] -X-Powered-By: ASP.NET[CR][LF] -[CR][LF] -HTTP/1.1 401 authentication please swsbounce[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -HTTP/1.1 200 A OK[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] == Contents of files in the log/17/ directory after test 579 === Start of file check-expected HTTP/1.1 100 Continue[CR][LF] Server: Microsoft-IIS/5.0[CR][LF] Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] X-Powered-By: ASP.NET[CR][LF] [CR][LF] HTTP/1.1 401 authentication please swsbounce[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 0[CR][LF] [CR][LF] HTTP/1.1 200 A OK[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:41505/579 log/17/ip579 > log/17/stdout579 2> log/17/stderr579 === End of file commands.log === Start of file http_server.log 05:46:31.243710 ====> Client connect 05:46:31.243775 accept_connection 3 returned 4 05:46:31.243799 accept_connection 3 returned 0 05:46:31.243817 Read 93 bytes 05:46:31.243826 Process 93 bytes request 05:46:31.243839 Got request: GET /verifiedserver HTTP/1.1 05:46:31.243848 Are-we-friendly question received 05:46:31.243871 Wrote request (93 bytes) input to log/17/server.input 05:46:31.243887 Identifying ourselves as friends 05:46:31.243968 Response sent (56 bytes) and written to log/17/server.response 05:46:31.243977 special request received, no persistency 05:46:31.243985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 55180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:41505/579 === End of file stderr579 === Start of file valgrind579 ==108786== ==108786== Process terminating with default action of signal 4 (SIGILL) ==108786== Illegal opcode at address 0x51D8933 ==108786== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==108786== by 0x51D8933: UnknownInlinedFun (request.c:40) ==108786== by 0x51D8933: Curl_open (url.c:503) ==108786== by 0x514E50F: curl_easy_init (easy.c:350) ==108786== by 0x4017140: test_lib579.lto_priv.0 (lib579.c:114) ==108786== by 0x40034B5: main (first.c:279) === End of file valgrind579 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:33035/587 > log/6/stdout587 2> log/6/stderr587 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:36351/572 log/1/file572.txt > log/1/stdout572 2> log/1/stderr572 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:38903/577 > log/7/stdout577 2> log/7/stderr577 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/8/server/rtsp_server.pid" --portfile "log/8/server/rtsp_server.port" --logfile "log/8/rtsp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108414 port 43445 * pid rtsp => 108414 108414 test 0571...[RTSP RTP Interleaving Test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:43445/571 log/8/protofile571.txt > log/8/stdout571 2> log/8/stderr571 571: stdout FAILED: --- log/8/check-expected 2026-03-14 05:46:33.444616032 +0000 +++ log/8/check-generated 2026-03-14 05:46:33.444616032 +0000 @@ -1,20 +0,0 @@ -RTP: message size 10, channel 1[LF] -RTP: message size 500, channel 0[LF] -RTP: message size 196, channel 0[LF] -RTP: message size 124, channel 0[LF] -RTP: message size 824, channel 0[LF] -RTP: message size 12, channel 0[LF] -RTP: message size 10, channel 1[LF] -RTP: message size 50, channel 0[LF] -RTP: message size 798, channel 0[LF] -RTP: message size 42, channel 0[LF] -RTP: message size 30, channel 1[LF] -RTP: message size 2048, channel 0[LF] -RTP: message size 85, channel 0[LF] -RTP: message size 24, channel 1[LF] -RTP: message size 13, channel 0[LF] -RTP: message size 33, channel 0[LF] -RTP: message size 127, channel 0[LF] -RTP: message size 35, channel 1[LF] -RTP PAYLOAD END CORRUPTED (11), [$][LF] -RTP: message size 63, channel 0[LF] == Contents of files in the log/8/ directory after test 571 === Start of file check-expected RTP: message size 10, channel 1[LF] RTP: message size 500, channel 0[LF] RTP: message size 196, channel 0[LF] RTP: message size 124, channel 0[LF] RTP: message size 824, channel 0[LF] RTP: message size 12, channel 0[LF] RTP: message size 10, channel 1[LF] RTP: message size 50, channel 0[LF] RTP: message size 798, channel 0[LF] RTP: message size 42, channel 0[LF] RTP: message size 30, channel 1[LF] RTP: message size 2048, channel 0[LF] RTP: message size 85, channel 0[LF] RTP: message size 24, channel 1[LF] RTP: message size 13, channel 0[LF] RTP: message size 33, channel 0[LF] RTP: message size 127, channel 0[LF] RTP: message size 35, channel 1[LF] RTP PAYLOAD END CORRUPTED (11), [$][LF] RTP: message size 63, channel 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:43445/571 log/8/protofile571.txt > log/8/stdout571 2> log/8/stderr571 === End of file commands.log === Start of file rtsp_server.log 05:46:30.752520 Running IPv4 version on port 43445 05:46:30.752639 Wrote pid 108414 to log/8/server/rtsp_server.pid 05:46:30.752672 Wrote port 43445 to log/8/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd 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 2 channel 0 size 18 size_err -6 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 rtp: part 4 channel 0 size 17 size_err -4 rtp: part 4 channel 0 size 33 rtp: part 4 channel 0 size 127 rtp: part 4 channel 1 size 24 size_err 11 rtp: part 4 channel 0 size 37 rtp: part 4 channel 0 size 63 Testnum 571 === End of file server.cmd === Start of file stderr571 URL: rtsp://127.0.0.1:43445/571 === End of file stderr571 === Start of file valgrind571 ==109246== ==109246== Process terminating with default action of signal 4 (SIGILL) ==109246== Illegal opcode at address 0x51D8933 ==109246== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109246== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109246== by 0x51D8933: Curl_open (url.c:503) ==109246== by 0x514E50F: curl_easy_init (easy.c:350) ==109246== by 0x401F20E: test_lib571.lto_priv.0 (lib571.c:113) ==109246== by 0x40034B5: main (first.c:279) === End of file valgrind571 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/1/server/rtsp_server.pid" --portfile "log/1/server/rtsp_server.port" --logfile "log/1/rtsp_server.log" --logdir "log/1" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108419 port 36351 * pid rtsp => 108419 108419 test 0572...[RTSP GET_PARAMETER (Put/Heartbeat/Post)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:36351/572 log/1/file572.txt > log/1/stdout572 2> log/1/stderr572 572: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:36351/572 log/1/file572.txt > log/1/stdout572 2> log/1/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 05:46:30.777861 Running IPv4 version on port 36351 05:46:30.777998 Wrote pid 108419 to log/1/server/rtsp_server.pid 05:46:30.778036 Wrote port 36351 to log/1/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 572 === End of file server.cmd === Start of file stderr572 URL: rtsp://127.0.0.1:36351/572 === End of file stderr572 === Start of file valgrind572 ==109286== ==109286== Process terminating with default action of signal 4 (SIGILL) ==109286== Illegal opcode at address 0x51D8933 ==109286== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109286== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109286== by 0x51D8933: Curl_open (url.c:503) ==109286== by 0x514E50F: curl_easy_init (easy.c:350) ==109286== by 0x401FC1E: test_lib572.lto_priv.0 (lib572.c:48) ==109286== by 0x40034B5: main (first.c:279) === End of file valgrind572 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/7/server/rtsp_server.pid" --portfile "log/7/server/rtsp_server.port" --logfile "log/7/rtsp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 108516 port 38903 * pid rtsp => 108516 108516 test 0577...[Funny RTSP version in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:38903/577 > log/7/stdout577 2> log/7/stderr577 577: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:38903/577 > log/7/stdout577 2> log/7/stderr577 === End of file commands.log === Start of file rtsp_server.log 05:46:30.077581 Running IPv4 version on port 38903 05:46:30.080252 Wrote pid 108516 to log/7/server/rtsp_server.pid 05:46:30.080328 Wrote port 38903 to log/7/server/rtsp_server.port === End of file rtsp_server.log === Start of ficannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:46185/586 > log/20/stdout586 2> log/20/stderr586 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:42891/585 > log/21/stdout585 2> log/21/stderr585 le server.cmd Testnum 577 === End of file server.cmd === Start of file stderr577 URL: rtsp://127.0.0.1:38903/577 === End of file stderr577 === Start of file valgrind577 ==109452== ==109452== Process terminating with default action of signal 4 (SIGILL) ==109452== Illegal opcode at address 0x51D8933 ==109452== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109452== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109452== by 0x51D8933: Curl_open (url.c:503) ==109452== by 0x514E50F: curl_easy_init (easy.c:350) ==109452== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==109452== by 0x40034B5: main (first.c:279) === End of file valgrind577 test 0586...[FTP and open/close socket callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:46185/586 > log/20/stdout586 2> log/20/stderr586 586: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 586 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:46185/586 > log/20/stdout586 2> log/20/stderr586 === End of file commands.log === Start of file ftp_server.log 05:46:31.585728 ====> Client connect 05:46:31.585889 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:31.586170 < "USER anonymous" 05:46:31.586203 > "331 We are happy you popped in![CR][LF]" 05:46:31.586358 < "PASS ftp@example.com" 05:46:31.586387 > "230 Welcome you silly person[CR][LF]" 05:46:31.586525 < "PWD" 05:46:31.586555 > "257 "/" is current directory[CR][LF]" 05:46:31.586704 < "EPSV" 05:46:31.586729 ====> Passive DATA channel requested by client 05:46:31.586743 DATA sockfilt for passive data channel starting... 05:46:31.602257 DATA sockfilt for passive data channel started (pid 109442) 05:46:31.612318 DATA sockfilt for passive data channel listens on port 42985 05:46:31.612419 > "229 Entering Passive Mode (|||42985|)[CR][LF]" 05:46:31.612441 Client has been notified that DATA conn will be accepted on port 42985 05:46:31.612793 Client connects to port 42985 05:46:31.612822 ====> Client established passive DATA connection on port 42985 05:46:31.612916 < "TYPE I" 05:46:31.612949 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:31.613106 < "SIZE verifiedserver" 05:46:31.613145 > "213 17[CR][LF]" 05:46:31.613292 < "RETR verifiedserver" 05:46:31.613325 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:31.613425 =====> Closing passive DATA connection... 05:46:31.613443 Server disconnects passive DATA connection 05:46:31.613601 Server disconnected passive DATA connection 05:46:31.613623 DATA sockfilt for passive data channel quits (pid 109442) 05:46:31.613914 DATA sockfilt for passive data channel quit (pid 109442) 05:46:31.613939 =====> Closed passive DATA connection 05:46:31.613967 > "226 File transfer complete[CR][LF]" 05:46:31.662522 < "QUIT" 05:46:31.662580 > "221 bye bye baby[CR][LF]" 05:46:31.663752 MAIN sockfilt said DISC 05:46:31.663786 ====> Client disconnected 05:46:31.663872 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:32.047045 ====> Client connect 05:46:32.047360 Received DATA (on stdin) 05:46:32.047374 > 146 bytes data, server => client 05:46:32.047386 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:32.047397 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:32.047406 '220 \___|\___/|_| \_\_____|\r\n' 05:46:32.047489 < 16 bytes data, client => server 05:46:32.047501 'USER anonymous\r\n' 05:46:32.047665 Received DATA (on stdin) 05:46:32.047677 > 33 bytes data, server => client 05:46:32.047687 '331 We are happy you popped in!\r\n' 05:46:32.047736 < 22 bytes data, client => server 05:46:32.047746 'PASS ftp@example.com\r\n' 05:46:32.047845 Received DATA (on stdin) 05:46:32.047855 > 30 bytes data, server => client 05:46:32.047865 '230 Welcome you silly person\r\n' 05:46:32.047909 < 5 bytes data, client => server 05:46:32.047919 'PWD\r\n' 05:46:32.048013 Received DATA (on stdin) 05:46:32.048023 > 30 bytes data, server => client 05:46:32.048033 '257 "/" is current directory\r\n' 05:46:32.048088 < 6 bytes data, client => server 05:46:32.048098 'EPSV\r\n' 05:46:32.073915 Received DATA (on stdin) 05:46:32.073937 > 39 bytes data, server => client 05:46:32.073948 '229 Entering Passive Mode (|||42985|)\r\n' 05:46:32.074158 < 8 bytes data, client => server 05:46:32.074173 'TYPE I\r\n' 05:46:32.074413 Received DATA (on stdin) 05:46:32.074424 > 33 bytes data, server => client 05:46:32.074435 '200 I modify TYPE as you wanted\r\n' 05:46:32.074486 < 21 bytes data, client => server 05:46:32.074497 'SIZE verifiedserver\r\n' 05:46:32.074607 Received DATA (on stdin) 05:46:32.074617 > 8 bytes data, server => client 05:46:32.074627 '213 17\r\n' 05:46:32.074674 < 21 bytes data, client => server 05:46:32.074684 'RETR verifiedserver\r\n' 05:46:32.074906 Received DATA (on stdin) 05:46:32.074917 > 29 bytes data, server => client 05:46:32.074927 '150 Binary junk (17 bytes).\r\n' 05:46:32.075429 Received DATA (on stdin) 05:46:32.075441 > 28 bytes data, server => client 05:46:32.075452 '226 File transfer complete\r\n' 05:46:32.123775 < 6 bytes data, client => server 05:46:32.123814 'QUIT\r\n' 05:46:32.124047 Received DATA (on stdin) 05:46:32.124058 > 18 bytes data, server => client 05:46:32.124068 '221 bye bye baby\r\n' 05:46:32.125162 ====> Client disconnect 05:46:32.125333 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:31.054371 Running IPv4 version 05:46:31.054430 Listening on port 42985 05:46:31.054464 Wrote pid 109442 to log/20/server/ftp_sockdata.pid 05:46:31.060336 Received PING (on stdin) 05:46:31.070334 Received PORT (on stdin) 05:46:31.074199 ====> Client connect 05:46:31.074951 Received DATA (on stdin) 05:46:31.074963 > 17 bytes data, server => client 05:46:31.074974 'WE ROOLZ: 89997\r\n' 05:46:31.074997 Received DISC (on stdin) 05:46:31.075009 ====> Client forcibly disconnected 05:46:31.075092 Received QUIT (on stdin) 05:46:31.075102 quits 05:46:31.075174 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 586 === End of file server.cmd === Start of file stderr586 URL: ftp://127.0.0.1:46185/586 === End of file stderr586 === Start of file valgrind586 ==109484== ==109484== Process terminating with default action of signal 4 (SIGILL) ==109484== Illegal opcode at address 0x51D8933 ==109484== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109484== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109484== by 0x51D8933: Curl_open (url.c:503) ==109484== by 0x514E50F: curl_easy_init (easy.c:350) ==109484== by 0x4009BC1: test_lib500.lto_priv.0 (lib500.c:65) ==109484== by 0x40034B5: main (first.c:279) === End of file valgrind586 test 0585...[socket open/close callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:42891/585 > log/21/stdout585 2> log/21/stderr585 585: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrindcannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46845/path/588 log/13/upload588 > log/13/stdout588 2> log/13/stderr588 585 ./libtest/libtests lib500 http://127.0.0.1:42891/585 > log/21/stdout585 2> log/21/stderr585 === End of file commands.log === Start of file http_server.log 05:46:30.810392 ====> Client connect 05:46:30.810445 accept_connection 3 returned 4 05:46:30.810465 accept_connection 3 returned 0 05:46:30.810481 Read 93 bytes 05:46:30.810489 Process 93 bytes request 05:46:30.810502 Got request: GET /verifiedserver HTTP/1.1 05:46:30.810510 Are-we-friendly question received 05:46:30.810531 Wrote request (93 bytes) input to log/21/server.input 05:46:30.810546 Identifying ourselves as friends 05:46:30.810631 Response sent (56 bytes) and written to log/21/server.response 05:46:30.810640 special request received, no persistency 05:46:30.810648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 33896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:42891/585 === End of file stderr585 === Start of file valgrind585 ==109313== ==109313== Process terminating with default action of signal 4 (SIGILL) ==109313== Illegal opcode at address 0x51D8933 ==109313== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109313== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109313== by 0x51D8933: Curl_open (url.c:503) ==109313== by 0x514E50F: curl_easy_init (easy.c:350) ==109313== by 0x4009BC1: test_lib500.lto_priv.0 (lib500.c:65) ==109313== by 0x40034B5: main (first.c:279) === End of file valgrind585 test 0588...[FTP PORT upload using multi interface, EPRT does not work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46845/path/588 log/13/upload588 > log/13/stdout588 2> log/13/stderr588 588: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 588 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46845/path/588 log/13/upload588 > log/13/stdout588 2> log/13/stderr588 === End of file commands.log === Start of file ftp_server.log 05:46:32.041347 ====> Client connect 05:46:32.041555 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:32.041848 < "USER anonymous" 05:46:32.041885 > "331 We are happy you popped in![CR][LF]" 05:46:32.042068 < "PASS ftp@example.com" 05:46:32.042100 > "230 Welcome you silly person[CR][LF]" 05:46:32.042283 < "PWD" 05:46:32.042320 > "257 "/" is current directory[CR][LF]" 05:46:32.042507 < "EPSV" 05:46:32.042531 ====> Passive DATA channel requested by client 05:46:32.042545 DATA sockfilt for passive data channel starting... 05:46:32.058923 DATA sockfilt for passive data channel started (pid 109627) 05:46:32.062655 DATA sockfilt for passive data channel listens on port 39291 05:46:32.062732 > "229 Entering Passive Mode (|||39291|)[CR][LF]" 05:46:32.062758 Client has been notified that DATA conn will be accepted on port 39291 05:46:32.068917 Client connects to port 39291 05:46:32.069011 ====> Client established passive DATA connection on port 39291 05:46:32.069154 < "TYPE I" 05:46:32.069202 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:32.069467 < "SIZE verifiedserver" 05:46:32.069512 > "213 17[CR][LF]" 05:46:32.069669 < "RETR verifiedserver" 05:46:32.069707 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:32.069809 =====> Closing passive DATA connection... 05:46:32.069825 Server disconnects passive DATA connection 05:46:32.072388 Server disconnected passive DATA connection 05:46:32.072425 DATA sockfilt for passive data channel quits (pid 109627) 05:46:32.072706 DATA sockfilt for passive data channel quit (pid 109627) 05:46:32.072738 =====> Closed passive DATA connection 05:46:32.072774 > "226 File transfer complete[CR][LF]" 05:46:32.129099 < "QUIT" 05:46:32.129154 > "221 bye bye baby[CR][LF]" 05:46:32.133499 MAIN sockfilt said DISC 05:46:32.133555 ====> Client disconnected 05:46:32.133641 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:32.502663 ====> Client connect 05:46:32.503034 Received DATA (on stdin) 05:46:32.503049 > 146 bytes data, server => client 05:46:32.503061 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:32.503072 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:32.503081 '220 \___|\___/|_| \_\_____|\r\n' 05:46:32.503158 < 16 bytes data, client => server 05:46:32.503170 'USER anonymous\r\n' 05:46:32.503350 Received DATA (on stdin) 05:46:32.503364 > 33 bytes data, server => client 05:46:32.503375 '331 We are happy you popped in!\r\n' 05:46:32.503432 < 22 bytes data, client => server 05:46:32.503447 'PASS ftp@example.com\r\n' 05:46:32.503564 Received DATA (on stdin) 05:46:32.503576 > 30 bytes data, server => client 05:46:32.503586 '230 Welcome you silly person\r\n' 05:46:32.503638 < 5 bytes data, client => server 05:46:32.503670 'PWD\r\n' 05:46:32.503787 Received DATA (on stdin) 05:46:32.503800 > 30 bytes data, server => client 05:46:32.503811 '257 "/" is current directory\r\n' 05:46:32.503877 < 6 bytes data, client => server 05:46:32.503891 'EPSV\r\n' 05:46:32.524237 Received DATA (on stdin) 05:46:32.524257 > 39 bytes data, server => client 05:46:32.524268 '229 Entering Passive Mode (|||39291|)\r\n' 05:46:32.524489 < 8 bytes data, client => server 05:46:32.524507 'TYPE I\r\n' 05:46:32.530678 Received DATA (on stdin) 05:46:32.530696 > 33 bytes data, server => client 05:46:32.530708 '200 I modify TYPE as you wanted\r\n' 05:46:32.530825 < 21 bytes data, client => server 05:46:32.530843 'SIZE verifiedserver\r\n' 05:46:32.530974 Received DATA (on stdin) 05:46:32.530986 > 8 bytes data, server => client 05:46:32.530995 '213 17\r\n' 05:46:32.531046 < 21 bytes data, client => server 05:46:32.531057 'RETR verifiedserver\r\n' 05:46:32.531289 Received DATA (on stdin) 05:46:32.531301 > 29 bytes data, server => client 05:46:32.531312 '150 Binary junk (17 bytes).\r\n' 05:46:32.534214 Received DATA (on stdin) 05:46:32.534230 > 28 bytes data, server => client 05:46:32.534241 '226 File transfer complete\r\n' 05:46:32.590354 < 6 bytes data, client => server 05:46:32.590396 'QUIT\r\n' 05:46:32.590618 Received DATA (on stdin) 05:46:32.590629 > 18 bytes data, server => client 05:46:32.590639 '221 bye bye baby\r\n' 05:46:32.594879 ====> Client disconnect 05:46:32.595104 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:32.511261 Running IPv4 version 05:46:32.511367 Listening on port 39291 05:46:32.511407 Wrote pid 109627 to log/13/server/ftp_sockdata.pid 05:46:32.517011 Received PING (on stdin) 05:46:32.523672 Received PORT (on stdin) 05:46:32.527007 ====> Client connect 05:46:32.533691 Received DATA (on stdin) 05:46:32.533720 > 17 bytes data, server => client 05:46:32.533732 'WE ROOLZ: 81411\r\n' 05:46:32.533771 Received DISC (on stdin) 05:46:32.533788 ====> Client forcibly disconnected 05:46:32.533901 Received QUIcannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:33885/589 > log/9/stdout589 2> log/9/stderr589 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:35869/path/591 8 log/18/upload591 > log/18/stdout591 2> log/18/stderr591 T (on stdin) 05:46:32.533913 quits 05:46:32.533998 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now Testnum 588 === End of file server.cmd === Start of file stderr588 URL: ftp://127.0.0.1:46845/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==109658== ==109658== Process terminating with default action of signal 4 (SIGILL) ==109658== Illegal opcode at address 0x51D8933 ==109658== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109658== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109658== by 0x51D8933: Curl_open (url.c:503) ==109658== by 0x514E50F: curl_easy_init (easy.c:350) ==109658== by 0x40104FC: test_lib525.lto_priv.0 (lib525.c:69) ==109658== by 0x40034B5: main (first.c:279) === End of file valgrind588 test 0589...[make an HTTP MIME POST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:33885/589 > log/9/stdout589 2> log/9/stderr589 589: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 589 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:33885/589 > log/9/stdout589 2> log/9/stderr589 === End of file commands.log === Start of file http_server.log 05:46:31.577076 ====> Client connect 05:46:31.577137 accept_connection 3 returned 4 05:46:31.577158 accept_connection 3 returned 0 05:46:31.577174 Read 93 bytes 05:46:31.577184 Process 93 bytes request 05:46:31.577197 Got request: GET /verifiedserver HTTP/1.1 05:46:31.577206 Are-we-friendly question received 05:46:31.577235 Wrote request (93 bytes) input to log/9/server.input 05:46:31.577254 Identifying ourselves as friends 05:46:31.577320 Response sent (56 bytes) and written to log/9/server.response 05:46:31.577330 special request received, no persistency 05:46:31.577339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 58990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 589 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:33885/589 === End of file stderr589 === Start of file valgrind589 ==109652== ==109652== Process terminating with default action of signal 4 (SIGILL) ==109652== Illegal opcode at address 0x51D8933 ==109652== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109652== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109652== by 0x51D8933: Curl_open (url.c:503) ==109652== by 0x514E50F: curl_easy_init (easy.c:350) ==109652== by 0x402252A: test_lib589.lto_priv.0 (lib589.c:38) ==109652== by 0x40034B5: main (first.c:279) === End of file valgrind589 test 0591...[FTP multi PORT and 425 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:35869/path/591 8 log/18/upload591 > log/18/stdout591 2> log/18/stderr591 591: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:35869/path/591 8 log/18/upload591 > log/18/stdout591 2> log/18/stderr591 === End of file commands.log === Start of file ftp_server.log 05:46:32.666359 ====> Client connect 05:46:32.666533 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:32.666838 < "USER anonymous" 05:46:32.666873 > "331 We are happy you popped in![CR][LF]" 05:46:32.667059 < "PASS ftp@example.com" 05:46:32.667091 > "230 Welcome you silly person[CR][LF]" 05:46:32.667259 < "PWD" 05:46:32.667293 > "257 "/" is current directory[CR][LF]" 05:46:32.667474 < "EPSV" 05:46:32.667505 ====> Passive DATA channel requested by client 05:46:32.667521 DATA sockfilt for passive data channel starting... 05:46:32.669516 DATA sockfilt for passive data channel started (pid 109819) 05:46:32.669640 DATA sockfilt for passive data channel listens on port 33825 05:46:32.669687 > "229 Entering Passive Mode (|||33825|)[CR][LF]" 05:46:32.669708 Client has been notified that DATA conn will be accepted on port 33825 05:46:32.669947 Client connects to port 33825 05:46:32.669975 ====> Client established passive DATA connection on port 33825 05:46:32.670056 < "TYPE I" 05:46:32.670087 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:32.670254 < "SIZE verifiedserver" 05:46:32.670296 > "213 17[CR][LF]" 05:46:32.670457 < "RETR verifiedserver" 05:46:32.670489 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:32.670577 =====> Closing passive DATA connection... 05:46:32.670598 Server disconnects passive DATA connection 05:46:32.670834 Server disconnected passive DATA connection 05:46:32.670865 DATA sockfilt for passive data channel quits (pid 109819) 05:46:32.671102 DATA sockfilt for passive data channel quit (pid 109819) 05:46:32.671127 =====> Closed passive DATA connection 05:46:32.671153 > "226 File transfer complete[CR][LF]" 05:46:32.719225 < "QUIT" 05:46:32.719285 > "221 bye bye baby[CR][LF]" 05:46:32.720530 MAIN sockfilt said DISC 05:46:32.720567 ====> Client disconnected 05:46:32.720652 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:32.127681 ====> Client connect 05:46:32.128015 Received DATA (on stdin) 05:46:32.128032 > 146 bytes data, server => client 05:46:32.128046 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:32.128056 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:32.128065 '220 \___|\___/|_| \_\_____|\r\n' 05:46:32.128146 < 16 bytes data, client => server 05:46:32.128161 'USER anonymous\r\n' 05:46:32.128338 Received DATA (on stdin) 05:46:32.128350 > 33 bytes data, server => client 05:46:32.128362 '331 We are happy you popped in!\r\n' 05:46:32.128417 < 22 bytes data, client => server 05:46:32.128432 'PASS ftp@example.com\r\n' 05:46:32.128555 Received DATA (on stdin) 05:46:32.128567 > 30 bytes data, server => client 05:46:32.128578 '230 Welcome you silly person\r\n' 05:46:32.128632 < 5 bytes data, client => server 05:46:32.128644 'PWD\r\n' 05:46:32.128753 Received DATA (on stdin) 05:46:32.128763 > 30 bytes data, server => client 05:46:32.128774 '257 "/" is current directory\r\n' 05:46:32.128835 < 6 bytes data, client => server 05:46:32.128849 'EPSV\r\n' 05:46:32.131178 Received DATA (on stdin) 05:46:32.131190 > 39 bytes data, server => client 05:46:32.131202 '229 Entering Passive Mode (|||33825|)\r\n' 05:46:32.131329 < 8 bytes data, client => server 05:46:32cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:39591 > log/3/stdout590 2> log/3/stderr590 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:34211/path/592 8 log/2/upload592 > log/2/stdout592 2> log/2/stderr592 .131342 'TYPE I\r\n' 05:46:32.131550 Received DATA (on stdin) 05:46:32.131563 > 33 bytes data, server => client 05:46:32.131574 '200 I modify TYPE as you wanted\r\n' 05:46:32.131626 < 21 bytes data, client => server 05:46:32.131638 'SIZE verifiedserver\r\n' 05:46:32.131762 Received DATA (on stdin) 05:46:32.131774 > 8 bytes data, server => client 05:46:32.131784 '213 17\r\n' 05:46:32.131836 < 21 bytes data, client => server 05:46:32.131847 'RETR verifiedserver\r\n' 05:46:32.132064 Received DATA (on stdin) 05:46:32.132077 > 29 bytes data, server => client 05:46:32.132087 '150 Binary junk (17 bytes).\r\n' 05:46:32.132613 Received DATA (on stdin) 05:46:32.132624 > 28 bytes data, server => client 05:46:32.132633 '226 File transfer complete\r\n' 05:46:32.180470 < 6 bytes data, client => server 05:46:32.180513 'QUIT\r\n' 05:46:32.180749 Received DATA (on stdin) 05:46:32.180760 > 18 bytes data, server => client 05:46:32.180771 '221 bye bye baby\r\n' 05:46:32.181936 ====> Client disconnect 05:46:32.182113 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:32.130649 Running IPv4 version 05:46:32.130712 Listening on port 33825 05:46:32.130755 Wrote pid 109819 to log/18/server/ftp_sockdata.pid 05:46:32.130910 Received PING (on stdin) 05:46:32.131008 Received PORT (on stdin) 05:46:32.131361 ====> Client connect 05:46:32.132115 Received DATA (on stdin) 05:46:32.132128 > 17 bytes data, server => client 05:46:32.132138 'WE ROOLZ: 81205\r\n' 05:46:32.132162 Received DISC (on stdin) 05:46:32.132174 ====> Client forcibly disconnected 05:46:32.132337 Received QUIT (on stdin) 05:46:32.132349 quits 05:46:32.132415 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 REPLY EPRT 500 we don't like EPRT now Testnum 591 === End of file server.cmd === Start of file stderr591 URL: ftp://127.0.0.1:35869/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==109857== ==109857== Process terminating with default action of signal 4 (SIGILL) ==109857== Illegal opcode at address 0x51D8933 ==109857== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109857== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109857== by 0x51D8933: Curl_open (url.c:503) ==109857== by 0x514E50F: curl_easy_init (easy.c:350) ==109857== by 0x4023015: test_lib591.lto_priv.0 (lib591.c:59) ==109857== by 0x40034B5: main (first.c:279) === End of file valgrind591 test 0590...[HTTP proxy offers Negotiate+NTLM, use only NTLM] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:39591 > log/3/stdout590 2> log/3/stderr590 590: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 590 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:39591 > log/3/stdout590 2> log/3/stderr590 === End of file commands.log === Start of file http_server.log 05:46:33.049831 ====> Client connect 05:46:33.049870 accept_connection 3 returned 4 05:46:33.049888 accept_connection 3 returned 0 05:46:33.050048 Read 93 bytes 05:46:33.050065 Process 93 bytes request 05:46:33.050080 Got request: GET /verifiedserver HTTP/1.1 05:46:33.050089 Are-we-friendly question received 05:46:33.050119 Wrote request (93 bytes) input to log/3/server.input 05:46:33.050139 Identifying ourselves as friends 05:46:33.050207 Response sent (56 bytes) and written to log/3/server.response 05:46:33.050221 special request received, no persistency 05:46:33.050230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 42386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 590 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr590 URL: http://test.remote.example.com/path/590 === End of file stderr590 === Start of file valgrind590 ==109793== ==109793== Process terminating with default action of signal 4 (SIGILL) ==109793== Illegal opcode at address 0x51D8933 ==109793== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109793== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109793== by 0x51D8933: Curl_open (url.c:503) ==109793== by 0x514E50F: curl_easy_init (easy.c:350) ==109793== by 0x402299F: test_lib590.lto_priv.0 (lib590.c:51) ==109793== by 0x40034B5: main (first.c:279) === End of file valgrind590 test 0592...[FTP multi PORT and 421 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:34211/path/592 8 log/2/upload592 > log/2/stdout592 2> log/2/stderr592 592: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:34211/path/592 8 log/2/upload592 > log/2/stdout592 2> log/2/stderr592 === End of file commands.log === Start of file ftp_server.log 05:46:32.846263 ====> Client connect 05:46:32.846433 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:32.846741 < "USER anonymous" 05:46:32.846786 > "331 We are happy you popped in![CR][LF]" 05:46:32.846979 < "PASS ftp@example.com" 05:46:32.847010 > "230 Welcome you silly person[CR][LF]" 05:46:32.848991 < "PWD" 05:46:32.849034 > "257 "/" is current directory[CR][LF]" 05:46:32.850384 < "EPSV" 05:46:32.850415 ====> Passive DATA channel requested by client 05:46:32.850431 DATA sockfilt for passive data channel starting... 05:46:32.856340 DATA sockfilt for passive data channel started (pid 109916) 05:46:32.856496 DATA sockfilt for passive data channel listens on port 35447 05:46:32.856544 > "229 Entering Passive Mode (|||35447|)[CR][LF]" 05:46:32.856563 Client has been notified that DATA conn will be accepted on port 35447 05:46:32.859161 Client connects to port 35447 05:46:32.859201 ====> Client established passive DATA connection on port 35447 05:46:32.859353 < "TYPE I" 05:46:32.859389 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:32.859608 < "SIZE verifiedserver" 05:46:32.859654 > "213 17[CR][LF]" 05:46:32.859810 < "RETR verifiedserver" 05:46:32.859849 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:32.859942 =====> Closing passive DATA connection... 05:46:32.859960 Server disconnects passive DATA connection 05:46:32.860075 Server disconnected passive DATA connection 05:46:32.860097 DATA sockfilt for passive data channel quits (pid 109916) 05:46:32.8603CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41717/596 log/16/ip596 activeftp > log/16/stdout596 2> log/16/stderr596 37 DATA sockfilt for passive data channel quit (pid 109916) 05:46:32.860360 =====> Closed passive DATA connection 05:46:32.860388 > "226 File transfer complete[CR][LF]" 05:46:32.902607 < "QUIT" 05:46:32.902668 > "221 bye bye baby[CR][LF]" 05:46:32.903847 MAIN sockfilt said DISC 05:46:32.903882 ====> Client disconnected 05:46:32.903958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:33.307583 ====> Client connect 05:46:33.307912 Received DATA (on stdin) 05:46:33.307928 > 146 bytes data, server => client 05:46:33.307941 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:33.307951 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:33.307960 '220 \___|\___/|_| \_\_____|\r\n' 05:46:33.308041 < 16 bytes data, client => server 05:46:33.308055 'USER anonymous\r\n' 05:46:33.308257 Received DATA (on stdin) 05:46:33.308271 > 33 bytes data, server => client 05:46:33.308281 '331 We are happy you popped in!\r\n' 05:46:33.308336 < 22 bytes data, client => server 05:46:33.308348 'PASS ftp@example.com\r\n' 05:46:33.308473 Received DATA (on stdin) 05:46:33.308485 > 30 bytes data, server => client 05:46:33.308495 '230 Welcome you silly person\r\n' 05:46:33.310338 < 5 bytes data, client => server 05:46:33.310357 'PWD\r\n' 05:46:33.310498 Received DATA (on stdin) 05:46:33.310510 > 30 bytes data, server => client 05:46:33.310520 '257 "/" is current directory\r\n' 05:46:33.310587 < 6 bytes data, client => server 05:46:33.310599 'EPSV\r\n' 05:46:33.320329 Received DATA (on stdin) 05:46:33.320358 > 39 bytes data, server => client 05:46:33.320370 '229 Entering Passive Mode (|||35447|)\r\n' 05:46:33.320689 < 8 bytes data, client => server 05:46:33.320704 'TYPE I\r\n' 05:46:33.320854 Received DATA (on stdin) 05:46:33.320865 > 33 bytes data, server => client 05:46:33.320875 '200 I modify TYPE as you wanted\r\n' 05:46:33.320972 < 21 bytes data, client => server 05:46:33.320984 'SIZE verifiedserver\r\n' 05:46:33.321116 Received DATA (on stdin) 05:46:33.321126 > 8 bytes data, server => client 05:46:33.321136 '213 17\r\n' 05:46:33.321185 < 21 bytes data, client => server 05:46:33.321195 'RETR verifiedserver\r\n' 05:46:33.321852 Received DATA (on stdin) 05:46:33.321865 > 29 bytes data, server => client 05:46:33.321875 '150 Binary junk (17 bytes).\r\n' 05:46:33.321897 Received DATA (on stdin) 05:46:33.321907 > 28 bytes data, server => client 05:46:33.321917 '226 File transfer complete\r\n' 05:46:33.363861 < 6 bytes data, client => server 05:46:33.363902 'QUIT\r\n' 05:46:33.364134 Received DATA (on stdin) 05:46:33.364145 > 18 bytes data, server => client 05:46:33.364155 '221 bye bye baby\r\n' 05:46:33.365256 ====> Client disconnect 05:46:33.365419 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:32.314507 Running IPv4 version 05:46:32.314576 Listening on port 35447 05:46:32.317712 Wrote pid 109916 to log/2/server/ftp_sockdata.pid 05:46:32.317737 Received PING (on stdin) 05:46:32.317847 Received PORT (on stdin) 05:46:32.320564 ====> Client connect 05:46:32.321424 Received DATA (on stdin) 05:46:32.321437 > 17 bytes data, server => client 05:46:32.321447 'WE ROOLZ: 81084\r\n' 05:46:32.321474 Received DISC (on stdin) 05:46:32.321485 ====> Client forcibly disconnected 05:46:32.321565 Received QUIT (on stdin) 05:46:32.321575 quits 05:46:32.321642 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 REPLY EPRT 500 we don't like EPRT now Testnum 592 === End of file server.cmd === Start of file stderr592 URL: ftp://127.0.0.1:34211/path/592 === End of file stderr592 === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 ==109969== ==109969== Process terminating with default action of signal 4 (SIGILL) ==109969== Illegal opcode at address 0x51D8933 ==109969== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109969== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109969== by 0x51D8933: Curl_open (url.c:503) ==109969== by 0x514E50F: curl_easy_init (easy.c:350) ==109969== by 0x4023015: test_lib591.lto_priv.0 (lib591.c:59) ==109969== by 0x40034B5: main (first.c:279) === End of file valgrind592 test 0596...[verify close callbacks with active FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41717/596 log/16/ip596 activeftp > log/16/stdout596 2> log/16/stderr596 596: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 596 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41717/596 log/16/ip596 activeftp > log/16/stdout596 2> log/16/stderr596 === End of file commands.log === Start of file ftp_server.log 05:46:33.000860 ====> Client connect 05:46:33.001015 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:33.001265 < "USER anonymous" 05:46:33.001295 > "331 We are happy you popped in![CR][LF]" 05:46:33.001433 < "PASS ftp@example.com" 05:46:33.001456 > "230 Welcome you silly person[CR][LF]" 05:46:33.001580 < "PWD" 05:46:33.001607 > "257 "/" is current directory[CR][LF]" 05:46:33.001738 < "EPSV" 05:46:33.001762 ====> Passive DATA channel requested by client 05:46:33.001775 DATA sockfilt for passive data channel starting... 05:46:33.004200 DATA sockfilt for passive data channel started (pid 110033) 05:46:33.004331 DATA sockfilt for passive data channel listens on port 43513 05:46:33.004376 > "229 Entering Passive Mode (|||43513|)[CR][LF]" 05:46:33.004393 Client has been notified that DATA conn will be accepted on port 43513 05:46:33.004678 Client connects to port 43513 05:46:33.004705 ====> Client established passive DATA connection on port 43513 05:46:33.004785 < "TYPE I" 05:46:33.004814 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:33.004946 < "SIZE verifiedserver" 05:46:33.004979 > "213 17[CR][LF]" 05:46:33.005107 < "RETR verifiedserver" 05:46:33.005136 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:33.005220 =====> Closing passive DATA connection... 05:46:33.005234 Server disconnects passive DATA connection 05:46:33.005431 Server disconnected passive DATA connection 05:46:33.005454 DATA sockfilt for passive data channel quits (pid 110033) 05:46:33.006119 DATA sockfilt for passive data channel quit (pid 110033) 05:46:33.006145 =====> Closed passive DATA connection 05:46:33.006170 > "226 File transfer complete[CR][LF]" 05:46:33.052582 < "QUIT" 05:46:33.052644 > "221 bye bye baby[CR][LF]" 05:46:33.053784 MAIN sockfilt said DISC 05:46:33.053819 ====> Client disconnected 05:46:33.053908 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:33.462187 ====> Client connect 05:46:33.462484 Received DATA (on stdin) 05:46:33.462497 > 146 bytes data, server => client 05:46:33.462511 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:33.462520 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:33.462528 '220 \___|\___/|_| \_\_____|\r\n' 05:46:33.462595 < 16 bytes data, client => server 05:46:33.462604 'USER anonymous\r\n' 05:46:33.462755 Received DATA (on stdin) 05:46:33.462765 > 33 bytes data, server => client 05:46:33.462774 '331 We are happy you popped in!\r\n' 05:46:33.462818 < 22 bytes data, client => server 05:46:33.462827 'PASS ftp@example.com\r\n' 05:46:33.462913 Received DATA (on stdin) 05:46:33.462922 > 30 bytes data, server => client 05:46:33.462931 '230 Wecannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:41347/path/593 8 log/22/upload593 > log/22/stdout593 2> log/22/stderr593 lcome you silly person\r\n' 05:46:33.462971 < 5 bytes data, client => server 05:46:33.462979 'PWD\r\n' 05:46:33.463064 Received DATA (on stdin) 05:46:33.463073 > 30 bytes data, server => client 05:46:33.463082 '257 "/" is current directory\r\n' 05:46:33.463129 < 6 bytes data, client => server 05:46:33.463137 'EPSV\r\n' 05:46:33.465860 Received DATA (on stdin) 05:46:33.465877 > 39 bytes data, server => client 05:46:33.465886 '229 Entering Passive Mode (|||43513|)\r\n' 05:46:33.466064 < 8 bytes data, client => server 05:46:33.466075 'TYPE I\r\n' 05:46:33.466272 Received DATA (on stdin) 05:46:33.466282 > 33 bytes data, server => client 05:46:33.466291 '200 I modify TYPE as you wanted\r\n' 05:46:33.466334 < 21 bytes data, client => server 05:46:33.466343 'SIZE verifiedserver\r\n' 05:46:33.466435 Received DATA (on stdin) 05:46:33.466444 > 8 bytes data, server => client 05:46:33.466453 '213 17\r\n' 05:46:33.466493 < 21 bytes data, client => server 05:46:33.466501 'RETR verifiedserver\r\n' 05:46:33.466693 Received DATA (on stdin) 05:46:33.466702 > 29 bytes data, server => client 05:46:33.466711 '150 Binary junk (17 bytes).\r\n' 05:46:33.467630 Received DATA (on stdin) 05:46:33.467641 > 28 bytes data, server => client 05:46:33.467650 '226 File transfer complete\r\n' 05:46:33.513818 < 6 bytes data, client => server 05:46:33.513858 'QUIT\r\n' 05:46:33.514112 Received DATA (on stdin) 05:46:33.514125 > 18 bytes data, server => client 05:46:33.514136 '221 bye bye baby\r\n' 05:46:33.515191 ====> Client disconnect 05:46:33.515379 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:33.465303 Running IPv4 version 05:46:33.465405 Listening on port 43513 05:46:33.465438 Wrote pid 110033 to log/16/server/ftp_sockdata.pid 05:46:33.465606 Received PING (on stdin) 05:46:33.465697 Received PORT (on stdin) 05:46:33.466094 ====> Client connect 05:46:33.466732 Received DATA (on stdin) 05:46:33.466742 > 17 bytes data, server => client 05:46:33.466751 'WE ROOLZ: 80884\r\n' 05:46:33.466771 Received DISC (on stdin) 05:46:33.466780 ====> Client forcibly disconnected 05:46:33.466919 Received QUIT (on stdin) 05:46:33.466928 quits 05:46:33.467047 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 596 === End of file server.cmd === Start of file stderr596 URL: ftp://127.0.0.1:41717/596 === End of file stderr596 === Start of file valgrind596 ==110100== ==110100== Process terminating with default action of signal 4 (SIGILL) ==110100== Illegal opcode at address 0x51D8933 ==110100== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110100== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110100== by 0x51D8933: Curl_open (url.c:503) ==110100== by 0x514E50F: curl_easy_init (easy.c:350) ==110100== by 0x4009BC1: test_lib500.lto_priv.0 (lib500.c:65) ==110100== by 0x40034B5: main (first.c:279) === End of file valgrind596 test 0593...[FTP multi PORT upload, no data conn and no transient neg. reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:41347/path/593 8 log/22/upload593 > log/22/stdout593 2> log/22/stderr593 593: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:41347/path/593 8 log/22/upload593 > log/22/stdout593 2> log/22/stderr593 === End of file commands.log === Start of file ftp_server.log 05:46:32.873741 ====> Client connect 05:46:32.873905 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:32.874167 < "USER anonymous" 05:46:32.874199 > "331 We are happy you popped in![CR][LF]" 05:46:32.874359 < "PASS ftp@example.com" 05:46:32.874389 > "230 Welcome you silly person[CR][LF]" 05:46:32.874550 < "PWD" 05:46:32.874584 > "257 "/" is current directory[CR][LF]" 05:46:32.874757 < "EPSV" 05:46:32.874782 ====> Passive DATA channel requested by client 05:46:32.874797 DATA sockfilt for passive data channel starting... 05:46:32.882363 DATA sockfilt for passive data channel started (pid 109929) 05:46:32.882540 DATA sockfilt for passive data channel listens on port 33187 05:46:32.882601 > "229 Entering Passive Mode (|||33187|)[CR][LF]" 05:46:32.882622 Client has been notified that DATA conn will be accepted on port 33187 05:46:32.882960 Client connects to port 33187 05:46:32.882995 ====> Client established passive DATA connection on port 33187 05:46:32.883103 < "TYPE I" 05:46:32.883147 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:32.883338 < "SIZE verifiedserver" 05:46:32.883382 > "213 17[CR][LF]" 05:46:32.883569 < "RETR verifiedserver" 05:46:32.883612 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:32.883717 =====> Closing passive DATA connection... 05:46:32.883743 Server disconnects passive DATA connection 05:46:32.884005 Server disconnected passive DATA connection 05:46:32.884037 DATA sockfilt for passive data channel quits (pid 109929) 05:46:32.884316 DATA sockfilt for passive data channel quit (pid 109929) 05:46:32.884346 =====> Closed passive DATA connection 05:46:32.884377 > "226 File transfer complete[CR][LF]" 05:46:32.929174 < "QUIT" 05:46:32.929231 > "221 bye bye baby[CR][LF]" 05:46:32.930517 MAIN sockfilt said DISC 05:46:32.930545 ====> Client disconnected 05:46:32.930616 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:32.335086 ====> Client connect 05:46:32.335376 Received DATA (on stdin) 05:46:32.335390 > 146 bytes data, server => client 05:46:32.335400 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:32.335410 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:32.335419 '220 \___|\___/|_| \_\_____|\r\n' 05:46:32.335493 < 16 bytes data, client => server 05:46:32.335504 'USER anonymous\r\n' 05:46:32.335659 Received DATA (on stdin) 05:46:32.335670 > 33 bytes data, server => client 05:46:32.335680 '331 We are happy you popped in!\r\n' 05:46:32.335729 < 22 bytes data, client => server 05:46:32.335741 'PASS ftp@example.com\r\n' 05:46:32.335850 Received DATA (on stdin) 05:46:32.335862 > 30 bytes data, server => client 05:46:32.335872 '230 Welcome you silly person\r\n' 05:46:32.335922 < 5 bytes data, client => server 05:46:32.335935 'PWD\r\n' 05:46:32.336046 Received DATA (on stdin) 05:46:32.336057 > 30 bytes data, server => client 05:46:32.336068 '257 "/" is current directory\r\n' 05:46:32.336129 < 6 bytes data, client => server 05:46:32.336142 'EPSV\r\n' 05:46:32.344097 Received DATA (on stdin) 05:46:32.344115 > 39 bytes data, server => client 05:46:32.344126 '229 Entering Passive Mode (|||33187|)\r\n' 05:46:32.344329 < 8 bytes data, client => server 05:46:32.344347 'TYPE I\r\n' 05:46:32.344616 Received DATA (on stdin) 05:46:32.344630 > 33 bytes data, server => client 05:46:32.344641 '200 I modify TYPE as you wanted\r\n' 05:46:32.344698 < 21 bytes data, client => server 05:46:32.344713 'SIZE verifiedserver\r\n' 05:46:32.344848 Received DATA (on stdin) 05:46:32.344862 > 8 bytes data, server => client 05:46:32.344872 '213 17\r\n' 05:46:32.344931 < 21 bytes data, client => server 05:46:32.344947 'RETR verifiedserver\r\n' 05:46:32.345210 Received DATA (on stdin) 05:46:32.345223 > 29 bytes data, server => client 05:46:32.345234 '150 Binary junk (17 bytes).\r\n' 05:46:32.345842 Received DATA (on stdin) 05:46:32.345855 > 28 bytes data, server => client 05:46:32.345866 '226 File transfer complete\r\n' 05:46:32.390465 < 6 bytes data, cliecannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:40271/595 log/23/ip595 > log/23/stdout595 2> log/23/stderr595 nt => server 05:46:32.390491 'QUIT\r\n' 05:46:32.390697 Received DATA (on stdin) 05:46:32.390708 > 18 bytes data, server => client 05:46:32.390719 '221 bye bye baby\r\n' 05:46:32.391928 ====> Client disconnect 05:46:32.392074 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:32.340707 Running IPv4 version 05:46:32.340786 Listening on port 33187 05:46:32.340824 Wrote pid 109929 to log/22/server/ftp_sockdata.pid 05:46:32.343723 Received PING (on stdin) 05:46:32.343887 Received PORT (on stdin) 05:46:32.344371 ====> Client connect 05:46:32.345264 Received DATA (on stdin) 05:46:32.345279 > 17 bytes data, server => client 05:46:32.345290 'WE ROOLZ: 81140\r\n' 05:46:32.345318 Received DISC (on stdin) 05:46:32.345332 ====> Client forcibly disconnected 05:46:32.345510 Received QUIT (on stdin) 05:46:32.345524 quits 05:46:32.345594 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 REPLY EPRT 500 we don't like EPRT now Testnum 593 === End of file server.cmd === Start of file stderr593 URL: ftp://127.0.0.1:41347/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==109991== ==109991== Process terminating with default action of signal 4 (SIGILL) ==109991== Illegal opcode at address 0x51D8933 ==109991== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109991== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109991== by 0x51D8933: Curl_open (url.c:503) ==109991== by 0x514E50F: curl_easy_init (easy.c:350) ==109991== by 0x4023015: test_lib591.lto_priv.0 (lib591.c:59) ==109991== by 0x40034B5: main (first.c:279) === End of file valgrind593 test 0587...[HTTP multi-part formpost with aborted read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:33035/587 > log/6/stdout587 2> log/6/stderr587 libtests returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/6/ directory after test 587 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:33035/587 > log/6/stdout587 2> log/6/stderr587 === End of file commands.log === Start of file http_server.log 05:46:31.054334 ====> Client connect 05:46:31.054371 accept_connection 3 returned 4 05:46:31.054388 accept_connection 3 returned 0 05:46:31.057468 Read 93 bytes 05:46:31.057490 Process 93 bytes request 05:46:31.057505 Got request: GET /verifiedserver HTTP/1.1 05:46:31.057514 Are-we-friendly question received 05:46:31.057546 Wrote request (93 bytes) input to log/6/server.input 05:46:31.057564 Identifying ourselves as friends 05:46:31.057629 Response sent (56 bytes) and written to log/6/server.response 05:46:31.057639 special request received, no persistency 05:46:31.057647 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 60208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 587 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:33035/587 === End of file stderr587 === Start of file valgrind587 ==109450== ==109450== Process terminating with default action of signal 4 (SIGILL) ==109450== Illegal opcode at address 0x51D8933 ==109450== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==109450== by 0x51D8933: UnknownInlinedFun (request.c:40) ==109450== by 0x51D8933: Curl_open (url.c:503) ==109450== by 0x514E50F: curl_easy_init (easy.c:350) ==109450== by 0x4018C28: t554_test_once (lib554.c:145) ==109450== by 0x4018EAB: test_lib554.lto_priv.0 (lib554.c:202) ==109450== by 0x40034B5: main (first.c:279) === End of file valgrind587 test 0595...[verify close callbacks with passive FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:40271/595 log/23/ip595 > log/23/stdout595 2> log/23/stderr595 595: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 595 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:40271/595 log/23/ip595 > log/23/stdout595 2> log/23/stderr595 === End of file commands.log === Start of file ftp_server.log 05:46:32.921460 ====> Client connect 05:46:32.921660 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:32.921971 < "USER anonymous" 05:46:32.922006 > "331 We are happy you popped in![CR][LF]" 05:46:32.922574 < "PASS ftp@example.com" 05:46:32.922599 > "230 Welcome you silly person[CR][LF]" 05:46:32.922793 < "PWD" 05:46:32.922824 > "257 "/" is current directory[CR][LF]" 05:46:32.923129 < "EPSV" 05:46:32.923156 ====> Passive DATA channel requested by client 05:46:32.923171 DATA sockfilt for passive data channel starting... 05:46:32.935616 DATA sockfilt for passive data channel started (pid 109954) 05:46:32.935757 DATA sockfilt for passive data channel listens on port 41239 05:46:32.935813 > "229 Entering Passive Mode (|||41239|)[CR][LF]" 05:46:32.935833 Client has been notified that DATA conn will be accepted on port 41239 05:46:32.941214 Client connects to port 41239 05:46:32.941261 ====> Client established passive DATA connection on port 41239 05:46:32.941369 < "TYPE I" 05:46:32.941409 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:32.955722 < "SIZE verifiedserver" 05:46:32.955795 > "213 17[CR][LF]" 05:46:32.956043 < "RETR verifiedserver" 05:46:32.956084 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:32.956182 =====> Closing passive DATA connection... 05:46:32.956202 Server disconnects passive DATA connection 05:46:32.959013 Server disconnected passive DATA connection 05:46:32.959044 DATA sockfilt for passive data channel quits (pid 109954) 05:46:32.959302 DATA sockfilt for passive data channel quit (pid 109954) 05:46:32.959327 =====> Closed passive DATA connection 05:46:32.959360 > "226 File transfer complete[CR][LF]" 05:46:33.009086 < "QUIT" 05:46:33.009146 > "221 bye bye baby[CR][LF]" 05:46:33.010294 MAIN sockfilt said DISC 05:46:33.010329 ====> Client disconnected 05:46:33.010414 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:33.378340 ====> Client connect 05:46:33.383099 Received DATA (on stdin) 05:46:33.383129 > 146 bytes data, server => client 05:46:33.383142 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:33.383152 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:33.383162 '220 \___|\___/|_| \_\_____|\r\n' 05:46:33.383289 < 16 bytes data, client => server 05:46:33.383302 'USER anonymous\r\n' 05:46:33.383568 Received DATA (on stdin) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:40253/599 log/4/ip599 > log/4/stdout599 2> log/4/stderr599 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:35621/598 > log/5/stdout598 2> log/5/stderr598 05:46:33.383581 > 33 bytes data, server => client 05:46:33.383864 '331 We are happy you popped in!\r\n' 05:46:33.383924 < 22 bytes data, client => server 05:46:33.383934 'PASS ftp@example.com\r\n' 05:46:33.384100 Received DATA (on stdin) 05:46:33.384111 > 30 bytes data, server => client 05:46:33.384120 '230 Welcome you silly person\r\n' 05:46:33.384171 < 5 bytes data, client => server 05:46:33.384182 'PWD\r\n' 05:46:33.384285 Received DATA (on stdin) 05:46:33.384296 > 30 bytes data, server => client 05:46:33.384306 '257 "/" is current directory\r\n' 05:46:33.384497 < 6 bytes data, client => server 05:46:33.384511 'EPSV\r\n' 05:46:33.397315 Received DATA (on stdin) 05:46:33.397339 > 39 bytes data, server => client 05:46:33.397350 '229 Entering Passive Mode (|||41239|)\r\n' 05:46:33.397537 < 8 bytes data, client => server 05:46:33.397549 'TYPE I\r\n' 05:46:33.403600 Received DATA (on stdin) 05:46:33.413685 > 33 bytes data, server => client 05:46:33.413722 '200 I modify TYPE as you wanted\r\n' 05:46:33.413856 < 21 bytes data, client => server 05:46:33.413873 'SIZE verifiedserver\r\n' 05:46:33.417268 Received DATA (on stdin) 05:46:33.417291 > 8 bytes data, server => client 05:46:33.417301 '213 17\r\n' 05:46:33.417404 < 21 bytes data, client => server 05:46:33.417419 'RETR verifiedserver\r\n' 05:46:33.417668 Received DATA (on stdin) 05:46:33.417681 > 29 bytes data, server => client 05:46:33.417691 '150 Binary junk (17 bytes).\r\n' 05:46:33.423669 Received DATA (on stdin) 05:46:33.423697 > 28 bytes data, server => client 05:46:33.423708 '226 File transfer complete\r\n' 05:46:33.470346 < 6 bytes data, client => server 05:46:33.470380 'QUIT\r\n' 05:46:33.470613 Received DATA (on stdin) 05:46:33.470625 > 18 bytes data, server => client 05:46:33.470636 '221 bye bye baby\r\n' 05:46:33.471705 ====> Client disconnect 05:46:33.471879 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:32.390993 Running IPv4 version 05:46:32.391061 Listening on port 41239 05:46:32.391096 Wrote pid 109954 to log/23/server/ftp_sockdata.pid 05:46:32.396996 Received PING (on stdin) 05:46:32.397117 Received PORT (on stdin) 05:46:32.402607 ====> Client connect 05:46:32.420332 Received DATA (on stdin) 05:46:32.420358 > 17 bytes data, server => client 05:46:32.420368 'WE ROOLZ: 81405\r\n' 05:46:32.420406 Received DISC (on stdin) 05:46:32.420419 ====> Client forcibly disconnected 05:46:32.420515 Received QUIT (on stdin) 05:46:32.420526 quits 05:46:32.420597 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 595 === End of file server.cmd === Start of file stderr595 URL: ftp://127.0.0.1:40271/595 === End of file stderr595 === Start of file valgrind595 ==110069== ==110069== Process terminating with default action of signal 4 (SIGILL) ==110069== Illegal opcode at address 0x51D8933 ==110069== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110069== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110069== by 0x51D8933: Curl_open (url.c:503) ==110069== by 0x514E50F: curl_easy_init (easy.c:350) ==110069== by 0x4009BC1: test_lib500.lto_priv.0 (lib500.c:65) ==110069== by 0x40034B5: main (first.c:279) === End of file valgrind595 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:45453 > log/19/stdout597 2> log/19/stderr597 test 0599...[HTTP GET with progress callback and redirects changing content sizes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:40253/599 log/4/ip599 > log/4/stdout599 2> log/4/stderr599 599: data FAILED: --- log/4/check-expected 2026-03-14 05:46:34.777949365 +0000 +++ log/4/check-generated 2026-03-14 05:46:34.777949365 +0000 @@ -1,16 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Location: 5990001[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -this data is slightly larger than the first piece[LF] == Contents of files in the log/4/ directory after test 599 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Location: 5990001[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] this data is slightly larger than the first piece[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:40253/599 log/4/ip599 > log/4/stdout599 2> log/4/stderr599 === End of file commands.log === Start of file http_server.log 05:46:32.550415 ====> Client connect 05:46:32.550495 accept_connection 3 returned 4 05:46:32.550516 accept_connection 3 returned 0 05:46:32.550534 Read 93 bytes 05:46:32.550545 Process 93 bytes request 05:46:32.550560 Got request: GET /verifiedserver HTTP/1.1 05:46:32.550568 Are-we-friendly question received 05:46:32.550596 Wrote request (93 bytes) input to log/4/server.input 05:46:32.550614 Identifying ourselves as friends 05:46:32.550704 Response sent (56 bytes) and written to log/4/server.response 05:46:32.550717 special request received, no persistency 05:46:32.550725 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 50274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 599 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:40253/599 === End of file stderr599 === Start of file valgrind599 ==110138== ==110138== Process terminating with default action of signal 4 (SIGILL) ==110138== Illegal opcode at address 0x51D8933 ==110138== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110138== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110138== by 0x51D8933: Curl_open (url.c:503) ==110138== by 0x514E50F: curl_easy_init (easy.c:350) ==110138== by 0x4022B9F: test_lib599.lto_priv.0 (lib599.c:53) ==110138== by 0x40034B5: main (first.c:279) === End of file valgrind599 test 0598...[curl_easy_reset with referer and other strings set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:35621/598 > log/5/stdout598 2> log/5/stderr598 598: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:35621/598 > log/5/stdout598 2> log/5/stderr598 === End of file commands.log === Start of file http_server.log 05:46:33.516852 ====> Client connect 05:46:33.516887 accept_connection 3 returned 4 05:46:33.516904 accept_connection 3 returned 0 05:46:33.517071 Read 93 bytes 05:46:33.517086 Process 93 bytes request 05:46:33.517101 Got request: GET /verifiedserver HTTP/1.1 05:46:33.517111 Are-we-friendly question received 05:46:33.517138 Wrote request (93 bytes) input to log/5/server.input 05:46:33.517155 Identifying ourselves as friends 05:46:33.517211 Response sent (56 bytes) and written to log/5/server.response 05:46:33.517221 special request received, no persistency 05:46:33.517229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 56870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:35621/598 === End of file stderr598 === Start of file valgrind598 ==110132== ==110132== Process terminating with default action of signal 4 (SIGILL) ==110132== Illegal opcode at address 0x51D8933 ==110132== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110132== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110132== by 0x51D8933: Curl_open (url.c:503) ==110132== by 0x514E50F: curl_easy_init (easy.c:350) ==110132== by 0x4023BAC: test_lib598.lto_priv.0 (lib598.c:36) ==110132== by 0x40034B5: main (first.c:279) === End of file valgrind598 test 0597...[FTP connect only option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:45453 > log/19/stdout597 2> log/19/stderr597 597: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 597 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:45453 > log/19/stdout597 2> log/19/stderr597 === End of file commands.log === Start of file ftp_server.log 05:46:33.055700 ====> Client connect 05:46:33.055870 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:33.056171 < "USER anonymous" 05:46:33.056208 > "331 We are happy you popped in![CR][LF]" 05:46:33.062491 < "PASS ftp@examplcannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind632 ../src/curl -q --output log/12/curl632.out --include --trace-ascii log/12/trace632 --trace-time --hostpubmd5 00 --key log/12/server/curl_client_key --pubkey log/12/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/12/irrelevant-file --insecure > log/12/stdout632 2> log/12/stderr632 e.com" 05:46:33.062533 > "230 Welcome you silly person[CR][LF]" 05:46:33.062700 < "PWD" 05:46:33.062736 > "257 "/" is current directory[CR][LF]" 05:46:33.062912 < "EPSV" 05:46:33.062938 ====> Passive DATA channel requested by client 05:46:33.062953 DATA sockfilt for passive data channel starting... 05:46:33.069032 DATA sockfilt for passive data channel started (pid 110085) 05:46:33.069233 DATA sockfilt for passive data channel listens on port 46627 05:46:33.069295 > "229 Entering Passive Mode (|||46627|)[CR][LF]" 05:46:33.069319 Client has been notified that DATA conn will be accepted on port 46627 05:46:33.069616 Client connects to port 46627 05:46:33.069651 ====> Client established passive DATA connection on port 46627 05:46:33.069785 < "TYPE I" 05:46:33.069817 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:33.069988 < "SIZE verifiedserver" 05:46:33.070029 > "213 17[CR][LF]" 05:46:33.070614 < "RETR verifiedserver" 05:46:33.070651 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:33.070749 =====> Closing passive DATA connection... 05:46:33.070766 Server disconnects passive DATA connection 05:46:33.070995 Server disconnected passive DATA connection 05:46:33.071022 DATA sockfilt for passive data channel quits (pid 110085) 05:46:33.071276 DATA sockfilt for passive data channel quit (pid 110085) 05:46:33.071299 =====> Closed passive DATA connection 05:46:33.071326 > "226 File transfer complete[CR][LF]" 05:46:33.119234 < "QUIT" 05:46:33.119295 > "221 bye bye baby[CR][LF]" 05:46:33.120730 MAIN sockfilt said DISC 05:46:33.120767 ====> Client disconnected 05:46:33.120858 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:32.517022 ====> Client connect 05:46:32.517347 Received DATA (on stdin) 05:46:32.517363 > 146 bytes data, server => client 05:46:32.517376 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:32.517387 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:32.517397 '220 \___|\___/|_| \_\_____|\r\n' 05:46:32.517483 < 16 bytes data, client => server 05:46:32.517498 'USER anonymous\r\n' 05:46:32.523669 Received DATA (on stdin) 05:46:32.523697 > 33 bytes data, server => client 05:46:32.523710 '331 We are happy you popped in!\r\n' 05:46:32.523813 < 22 bytes data, client => server 05:46:32.523828 'PASS ftp@example.com\r\n' 05:46:32.523999 Received DATA (on stdin) 05:46:32.524011 > 30 bytes data, server => client 05:46:32.524022 '230 Welcome you silly person\r\n' 05:46:32.524072 < 5 bytes data, client => server 05:46:32.524084 'PWD\r\n' 05:46:32.524200 Received DATA (on stdin) 05:46:32.524212 > 30 bytes data, server => client 05:46:32.524222 '257 "/" is current directory\r\n' 05:46:32.524284 < 6 bytes data, client => server 05:46:32.524297 'EPSV\r\n' 05:46:32.530794 Received DATA (on stdin) 05:46:32.530812 > 39 bytes data, server => client 05:46:32.530823 '229 Entering Passive Mode (|||46627|)\r\n' 05:46:32.531133 < 8 bytes data, client => server 05:46:32.531145 'TYPE I\r\n' 05:46:32.531283 Received DATA (on stdin) 05:46:32.531294 > 33 bytes data, server => client 05:46:32.531305 '200 I modify TYPE as you wanted\r\n' 05:46:32.531358 < 21 bytes data, client => server 05:46:32.531370 'SIZE verifiedserver\r\n' 05:46:32.531493 Received DATA (on stdin) 05:46:32.531505 > 8 bytes data, server => client 05:46:32.531515 '213 17\r\n' 05:46:32.531565 < 21 bytes data, client => server 05:46:32.531991 'RETR verifiedserver\r\n' 05:46:32.532229 Received DATA (on stdin) 05:46:32.532240 > 29 bytes data, server => client 05:46:32.532251 '150 Binary junk (17 bytes).\r\n' 05:46:32.532787 Received DATA (on stdin) 05:46:32.532799 > 28 bytes data, server => client 05:46:32.532809 '226 File transfer complete\r\n' 05:46:32.580454 < 6 bytes data, client => server 05:46:32.580493 'QUIT\r\n' 05:46:32.580764 Received DATA (on stdin) 05:46:32.580775 > 18 bytes data, server => client 05:46:32.580786 '221 bye bye baby\r\n' 05:46:32.582132 ====> Client disconnect 05:46:32.582327 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:33.528579 Running IPv4 version 05:46:33.528661 Listening on port 46627 05:46:33.528697 Wrote pid 110085 to log/19/server/ftp_sockdata.pid 05:46:33.529569 Received PING (on stdin) 05:46:33.530547 Received PORT (on stdin) 05:46:33.531026 ====> Client connect 05:46:33.532276 Received DATA (on stdin) 05:46:33.532288 > 17 bytes data, server => client 05:46:33.532299 'WE ROOLZ: 81129\r\n' 05:46:33.532325 Received DISC (on stdin) 05:46:33.532335 ====> Client forcibly disconnected 05:46:33.532489 Received QUIT (on stdin) 05:46:33.532499 quits 05:46:33.532568 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 597 === End of file server.cmd === Start of file stderr597 URL: ftp://127.0.0.1:45453 === End of file stderr597 === Start of file valgrind597 ==110172== ==110172== Process terminating with default action of signal 4 (SIGILL) ==110172== Illegal opcode at address 0x51D8933 ==110172== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110172== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110172== by 0x51D8933: Curl_open (url.c:503) ==110172== by 0x514E50F: curl_easy_init (easy.c:350) ==110172== by 0x4061015: test_lib597.part.0.lto_priv.0 (lib597.c:48) ==110172== by 0x40034B5: main (first.c:279) === End of file valgrind597 Hmmm, the tests are taking a while to finish. Here is the status: runtests.pl internal state: 24 busy test runner(s) of 24 Runner 1 (id 74758) running test 606 in state 3 Runner 2 (id 74759) running test 614 in state 3 Runner 3 (id 74760) running test 613 in state 3 Runner 4 (id 74761) running test 619 in state 3 Runner 5 (id 74762) running test 620 in state 3 Runner 6 (id 74763) running test 617 in state 3 Runner 7 (id 74764) running test 607 in state 3 Runner 8 (id 74765) running test 605 in state 3 Runner 9 (id 74766) running test 611 in state 3 Runner 10 (id 74767) running test 601 in state 3 Runner 11 (id 74768) running test 600 in state 3 Runner 12 (id 74769) running test 582 in state 3 Runner 13 (id 74770) running test 610 in state 3 Runner 14 (id 74771) running test 583 in state 3 Runner 15 (id 74772) running test 603 in state 3 Runner 16 (id 74773) running test 615 in state 3 Runner 17 (id 74774) running test 604 in state 3 Runner 18 (id 74775) running test 612 in state 3 Runner 19 (id 74776) running test 621 in state 3 Runner 20 (id 74777) running test 608 in state 3 Runner 21 (id 74778) running test 609 in state 3 Runner 22 (id 74779) running test 616 in state 3 Runner 23 (id 74780) running test 618 in state 3 Runner 24 (id 74781) running test 602 in state 3 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/12/server/ssh_server.pid" --logdir "log/12" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 36669 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36669 test 0582 SKIPPED: failed starting SSH server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/14/server/ssh_server.pid" --logdir "log/14" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 36243 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36243 test 0583 SKIPPED: failed starting SSH server test 0622 SKIPPED: failed starting SSH server test 0632...[SFTP syntactically invalid host key] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind632 ../src/curl -q --output log/12/curl632.out --include --trace-ascii log/12/trace632 --trace-time --hostpubmd5 00 --key log/12/server/curl_client_key --pubkey log/12/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/12/irrelevant-file --insecure > log/12/stdout632 2> log/12/stderr632 curl returneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35549/643 > log/14/stdout643 2> log/14/stderr643 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:36353/645 > log/12/stdout645 2> log/12/stderr645 d 132, when expecting 2 632: exit FAILED == Contents of files in the log/12/ directory after test 632 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind632 ../src/curl -q --output log/12/curl632.out --include --trace-ascii log/12/trace632 --trace-time --hostpubmd5 00 --key log/12/server/curl_client_key --pubkey log/12/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/12/irrelevant-file --insecure > log/12/stdout632 2> log/12/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==110469== ==110469== Process terminating with default action of signal 4 (SIGILL) ==110469== Illegal opcode at address 0x4014883 ==110469== at 0x4014883: getparameter (tool_getparam.c:2899) ==110469== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==110469== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==110469== by 0x4004208: main (tool_main.c:189) === End of file valgrind632 test 0643...[HTTP multi-part mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35549/643 > log/14/stdout643 2> log/14/stderr643 643: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35549/643 > log/14/stdout643 2> log/14/stderr643 === End of file commands.log === Start of file http_server.log 05:46:47.361068 ====> Client connect 05:46:47.361102 accept_connection 3 returned 4 05:46:47.361118 accept_connection 3 returned 0 05:46:47.361133 Read 93 bytes 05:46:47.361142 Process 93 bytes request 05:46:47.361156 Got request: GET /verifiedserver HTTP/1.1 05:46:47.361166 Are-we-friendly question received 05:46:47.361193 Wrote request (93 bytes) input to log/14/server.input 05:46:47.361209 Identifying ourselves as friends 05:46:47.361303 Response sent (56 bytes) and written to log/14/server.response 05:46:47.361314 special request received, no persistency 05:46:47.361322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 56546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 643 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:35549/643 === End of file stderr643 === Start of file valgrind643 ==110499== ==110499== Process terminating with default action of signal 4 (SIGILL) ==110499== Illegal opcode at address 0x51D8933 ==110499== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110499== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110499== by 0x51D8933: Curl_open (url.c:503) ==110499== by 0x514E50F: curl_easy_init (easy.c:350) ==110499== by 0x4023DF3: t643_test_once (lib643.c:75) ==110499== by 0x40242B7: test_lib643.lto_priv.0 (lib643.c:255) ==110499== by 0x40034B5: main (first.c:279) === End of file valgrind643 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/11/server/ssh_server.pid" --logdir "log/11" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33135 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33135 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/10/server/ssh_server.pid" --logdir "log/10" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 43519 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43519 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/24/server/ssh_server.pid" --logdir "log/24" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35671 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35671 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/15/server/ssh_server.pid" --logdir "log/15" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 43985 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43985 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/17/server/ssh_server.pid" --logdir "log/17" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34149 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34149 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/8/server/ssh_server.pid" --logdir "log/8" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35343 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35343 test 0645...[HTTP multi-part chunked mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:36353/645 > log/12/stdout645 2> log/12/stderr645 645: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 645 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:36353/645 > log/12/stdout645 2> log/12/stderr645 === End of file commands.log === Start of file http_server.log 05:46:48.887120 ====> Client connect 05:46:48.887162 accept_connection 3 returned 4 05:46:48.887181 accept_connection 3 returned 0 05:46:48.887196 Read 93 bytes 05:46:48.887206 Process 93 bytes request 05:46:48.887220 Got request: GET /verifiedserver HTTP/1.1 05:46:48.887229 Are-we-friendly question received 05:46:48.887260 Wrote request (93 bytes) input to log/12/server.input 05:46:48.887279 Identifying ourselves as friends 05:46:48.887347 Response sent (56 bytes) and written to log/12/server.response 05:46:48.887358 special request received, no persistency 05:46:48.887368 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 37596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:41505/651 log/17/test651.filedata log/17/stdout651 2> log/17/stderr651 RUN: Process with pid 108201 signalled to die RUN: Process with pid 108201 gracefully died http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 645 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:36353/645 === End of file stderr645 === Start of file valgrind645 ==110608== ==110608== Process terminating with default action of signal 4 (SIGILL) ==110608== Illegal opcode at address 0x51D8933 ==110608== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110608== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110608== by 0x51D8933: Curl_open (url.c:503) ==110608== by 0x514E50F: curl_easy_init (easy.c:350) ==110608== by 0x4023DF3: t643_test_once (lib643.c:75) ==110608== by 0x40242B7: test_lib643.lto_priv.0 (lib643.c:255) ==110608== by 0x40034B5: main (first.c:279) === End of file valgrind645 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/1/server/ssh_server.pid" --logdir "log/1" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 46429 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46429 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/7/server/ssh_server.pid" --logdir "log/7" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 44843 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44843 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/21/server/ssh_server.pid" --logdir "log/21" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33761 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33761 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/20/server/ssh_server.pid" --logdir "log/20" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 36005 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36005 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/13/server/ssh_server.pid" --logdir "log/13" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 46331 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46331 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/9/server/ssh_server.pid" --logdir "log/9" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35219 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35219 test 0651...[curl_formadd with huge COPYCONTENTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:41505/651 log/17/test651.filedata log/17/stdout651 2> log/17/stderr651 651: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 651 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:41505/651 log/17/test651.filedata log/17/stdout651 2> log/17/stderr651 === End of file commands.log === Start of file http_server.log 05:46:49.982955 ====> Client connect 05:46:49.982989 accept_connection 3 returned 4 05:46:49.983006 accept_connection 3 returned 0 05:46:49.983023 Read 93 bytes 05:46:49.983033 Process 93 bytes request 05:46:49.983048 Got request: GET /verifiedserver HTTP/1.1 05:46:49.983058 Are-we-friendly question received 05:46:49.983085 Wrote request (93 bytes) input to log/17/server.input 05:46:49.983102 Identifying ourselves as friends 05:46:49.983168 Response sent (56 bytes) and written to log/17/server.response 05:46:49.983180 special request received, no persistency 05:46:49.983189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 51220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 651 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:41505/651 === End of file stderr651 === Start of file stdin-for-651 Some data from stdin === End of file stdin-for-651 === Start of file test651.filedata This is data from a file. === End of file test651.filedata === Start of file valgrind651 ==110734== ==110734== Process terminating with default action of signal 4 (SIGILL) ==110734== Illegal opcode at address 0x4025510 ==110734== at 0x4025510: UnknownInlinedFun (string_fortified.h:59) ==110734== by 0x4025510: test_lib651.lto_priv.0 (lib651.c:41) ==110734== by 0x40034B5: main (first.c:279) === End of file valgrind651 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/18/server/ssh_server.pid" --logdir "log/18" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 33641 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33641 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/3/server/ssh_server.pid" --logdir "log/3" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35099 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35099 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/2/server/ssh_server.pid" --logdir "log/2" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 35041 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35041 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/16/server/ssh_server.pid" --logdir "log/16" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 39623 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39623 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/6/server/ssh_server.pid" --logdir "log/6" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 34983 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34983 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/22/server/ssh_server.pid" --logdir "log/22" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 42333 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42333 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/23/server/ssh_server.pid" --logdir "log/23" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 45307 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45307 startnew: /usr/bin/perl -I. -ICMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind646 ../src/curl -q --output log/14/curl646.out --include --trace-ascii log/14/trace646 --trace-time smtp://127.0.0.1:36897/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/14/headers646" -F "=)" -F "=@log/14/test646.txt;headers=" log/14/stdout646 2> log/14/stderr646 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:43413/650 log/15/test650.filedata log/15/stdout650 2> log/15/stderr650 /startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/4/server/ssh_server.pid" --logdir "log/4" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 46065 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46065 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/5/server/ssh_server.pid" --logdir "log/5" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 38235 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38235 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/19/server/ssh_server.pid" --logdir "log/19" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 43471 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43471 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/smtp_server.pid" --logfile "log/14/smtp_server.log" --logdir "log/14" --portfile "log/14/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36897 (log/14/server/smtp_server.port) RUN: SMTP server is PID 110590 port 36897 * pid smtp => 110590 110590 test 0646...[SMTP multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind646 ../src/curl -q --output log/14/curl646.out --include --trace-ascii log/14/trace646 --trace-time smtp://127.0.0.1:36897/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/14/headers646" -F "=)" -F "=@log/14/test646.txt;headers=" log/14/stdout646 2> log/14/stderr646 646: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 646 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind646 ../src/curl -q --output log/14/curl646.out --include --trace-ascii log/14/trace646 --trace-time smtp://127.0.0.1:36897/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/14/headers646" -F "=)" -F "=@log/14/test646.txt;headers=" log/14/stdout646 2> log/14/stderr646 === End of file commands.log === Start of file headers646 # This line is a comment X-fileheader1: This is a header from a file # This line is another comment. It precedes a folded header. X-fileheader2: This is #a folded header === End of file headers646 === Start of file server.cmd Testnum 646 === End of file server.cmd === Start of file smtp_server.log 05:46:48.382338 SMTP server listens on port IPv4/36897 05:46:48.382522 logged pid 110590 in log/14/server/smtp_server.pid 05:46:48.382567 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:46:48.834356 Running IPv4 version 05:46:48.834464 Listening on port 36897 05:46:48.834515 Wrote pid 110602 to log/14/server/smtp_sockfilt.pid 05:46:48.834553 Wrote port 36897 to log/14/server/smtp_server.port 05:46:48.840323 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-646 From: different To: another body === End of file stdin-for-646 === Start of file test646.txt This is an attached file. It may contain any type of data. === End of file test646.txt === Start of file valgrind646 ==110663== ==110663== Process terminating with default action of signal 4 (SIGILL) ==110663== Illegal opcode at address 0x4014883 ==110663== at 0x4014883: getparameter (tool_getparam.c:2899) ==110663== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==110663== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==110663== by 0x4004208: main (tool_main.c:189) === End of file valgrind646 test 0650...[HTTP formpost using form API - with redirect and re-POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:43413/650 log/15/test650.filedata log/15/stdout650 2> log/15/stderr650 650: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 650 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:43413/650 log/15/test650.filedata log/15/stdout650 2> log/15/stderr650 === End of file commands.log === Start of file http_server.log 05:46:49.996089 ====> Client connect 05:46:49.996123 accept_connection 3 returned 4 05:46:49.996141 accept_connection 3 returned 0 05:46:49.996156 Read 93 bytes 05:46:49.996166 Process 93 bytes request 05:46:49.996183 Got request: GET /verifiedserver HTTP/1.1 05:46:49.996193 Are-we-friendly question received 05:46:49.996219 Wrote request (93 bytes) input to log/15/server.input 05:46:49.996236 Identifying ourselves as friends 05:46:49.996356 Response sent (56 bytes) and written to log/15/server.response 05:46:49.996368 special request received, no persistency 05:46:49.996378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 35286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 650 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:43413/650 === End of file stderr650 === Start of file stdin-for-650 Some data from stdin === End of file stdin-for-650 === Start of file test650.filedata This is data from a file. === End of file test650.filedata === Start of file valgrind650 ==110753== ==110753== Process terminating with default action of signal 4 (SIGILL) ==110753== Illegal opcode at address 0x518B915 ==110753== at 0x518B915: UnknownInlinedFun (string_fortified.h:59) ==110753== by 0x518B915: curl_mime_init (mime.c:1191) ==110753== by 0x5157308: Curl_getformdata.part.0 (formdata.c:731) ==110753== by 0x5157812: UnknownInlinedFun (formdata.c:728) ==110753== by 0x5157812: curl_formget (formdata.c:637) ==110753== by 0x40251BE: test_lib650.lto_priv.0 (lib650.c:143) ==110753== by 0x40034B5: main (first.c:279) ==110753== 96 bytes in 1 blocks are definitely lost in loss record 657 of 807 ==110753== at 0x51017A8: malloc CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:38765/654 log/1/file654.txt > log/1/stdout654 2> log/1/stderr654 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:36353/653 > log/12/stdout653 2> log/12/stderr653 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind647 ../src/curl -q --output log/11/curl647.out --include --trace-ascii log/11/trace647 --trace-time imap://127.0.0.1:39961/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/11/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/11/stdout647 2> log/11/stderr647 (vg_replace_malloc.c:446) ==110753== by 0x518B8EF: curl_mime_init (mime.c:1184) ==110753== by 0x5157308: Curl_getformdata.part.0 (formdata.c:731) ==110753== by 0x5157812: UnknownInlinedFun (formdata.c:728) ==110753== by 0x5157812: curl_formget (formdata.c:637) ==110753== by 0x40251BE: test_lib650.lto_priv.0 (lib650.c:143) ==110753== by 0x40034B5: main (first.c:279) ==110753== === End of file valgrind650 test 0654...[HTTP duplicate easy handle with mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:38765/654 log/1/file654.txt > log/1/stdout654 2> log/1/stderr654 654: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 654 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:38765/654 log/1/file654.txt > log/1/stdout654 2> log/1/stderr654 === End of file commands.log === Start of file file654.txt This is data from a file === End of file file654.txt === Start of file http_server.log 05:46:50.343942 ====> Client connect 05:46:50.343990 accept_connection 3 returned 4 05:46:50.344008 accept_connection 3 returned 0 05:46:50.344023 Read 93 bytes 05:46:50.344033 Process 93 bytes request 05:46:50.344047 Got request: GET /verifiedserver HTTP/1.1 05:46:50.344056 Are-we-friendly question received 05:46:50.344079 Wrote request (93 bytes) input to log/1/server.input 05:46:50.344097 Identifying ourselves as friends 05:46:50.344153 Response sent (56 bytes) and written to log/1/server.response 05:46:50.344164 special request received, no persistency 05:46:50.344173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 48460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 654 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:38765/654 === End of file stderr654 === Start of file valgrind654 ==110893== ==110893== Process terminating with default action of signal 4 (SIGILL) ==110893== Illegal opcode at address 0x51D8933 ==110893== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110893== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110893== by 0x51D8933: Curl_open (url.c:503) ==110893== by 0x514E50F: curl_easy_init (easy.c:350) ==110893== by 0x40269BB: test_lib654.lto_priv.0 (lib654.c:82) ==110893== by 0x40034B5: main (first.c:279) === End of file valgrind654 test 0653...[Reuse of handle after altering mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:36353/653 > log/12/stdout653 2> log/12/stderr653 653: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 653 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:36353/653 > log/12/stdout653 2> log/12/stderr653 === End of file commands.log === Start of file http_server.log 05:46:50.373721 ====> Client connect 05:46:50.373760 accept_connection 3 returned 4 05:46:50.373777 accept_connection 3 returned 0 05:46:50.373792 Read 93 bytes 05:46:50.373801 Process 93 bytes request 05:46:50.373815 Got request: GET /verifiedserver HTTP/1.1 05:46:50.373824 Are-we-friendly question received 05:46:50.373846 Wrote request (93 bytes) input to log/12/server.input 05:46:50.373862 Identifying ourselves as friends 05:46:50.373919 Response sent (56 bytes) and written to log/12/server.response 05:46:50.373928 special request received, no persistency 05:46:50.373936 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 37604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 653 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:36353/653 === End of file stderr653 === Start of file valgrind653 ==110909== ==110909== Process terminating with default action of signal 4 (SIGILL) ==110909== Illegal opcode at address 0x51D8933 ==110909== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110909== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110909== by 0x51D8933: Curl_open (url.c:503) ==110909== by 0x514E50F: curl_easy_init (easy.c:350) ==110909== by 0x40226F0: UnknownInlinedFun (lib653.c:34) ==110909== by 0x40226F0: test_lib653.lto_priv.0 (lib653.c:26) ==110909== by 0x40034B5: main (first.c:279) === End of file valgrind653 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/imap_server.pid" --logfile "log/11/imap_server.log" --logdir "log/11" --portfile "log/11/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39961 (log/11/server/imap_server.port) RUN: IMAP server is PID 110655 port 39961 * pid imap => 110655 110655 test 0647...[IMAP APPEND multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind647 ../src/curl -q --output log/11/curl647.out --include --trace-ascii log/11/trace647 --trace-time imap://127.0.0.1:39961/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/11/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/11/stdout647 2> log/11/stderr647 647: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 647 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind647 ../src/curl -q --output log/11/curl647.out --include --trace-ascii log/11/trace647 --trace-time imap://127.0.0.1:399CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:39013/655 > log/7/stdout655 2> log/7/stderr655 61/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/11/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/11/stdout647 2> log/11/stderr647 === End of file commands.log === Start of file imap_server.log 05:46:49.242566 IMAP server listens on port IPv4/39961 05:46:49.242723 logged pid 110655 in log/11/server/imap_server.pid 05:46:49.242766 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:46:49.697836 Running IPv4 version 05:46:49.697953 Listening on port 39961 05:46:49.698000 Wrote pid 110657 to log/11/server/imap_sockfilt.pid 05:46:49.698031 Wrote port 39961 to log/11/server/imap_server.port 05:46:49.703865 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 647 === End of file server.cmd === Start of file test647.txt This is an attached file. It may contain any type of data. === End of file test647.txt === Start of file valgrind647 ==111092== ==111092== Process terminating with default action of signal 4 (SIGILL) ==111092== Illegal opcode at address 0x4014883 ==111092== at 0x4014883: getparameter (tool_getparam.c:2899) ==111092== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==111092== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==111092== by 0x4004208: main (tool_main.c:189) === End of file valgrind647 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind648 ../src/curl -q --output log/10/curl648.out --include --trace-ascii log/10/trace648 --trace-time smtp://127.0.0.1:40765/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/10/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/10/stdout648 2> log/10/stderr648 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:42891/658 > log/21/stdout658 2> log/21/stderr658 test 0655...[resolver start callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:39013/655 > log/7/stdout655 2> log/7/stderr655 655: data FAILED: --- log/7/check-expected 2026-03-14 05:46:52.287949355 +0000 +++ log/7/check-generated 2026-03-14 05:46:52.287949355 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ directory after test 655 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:39013/655 > log/7/stdout655 2> log/7/stderr655 === End of file commands.log === Start of file http_server.log 05:46:49.430411 ====> Client connect 05:46:49.430463 accept_connection 3 returned 4 05:46:49.430483 accept_connection 3 returned 0 05:46:49.430501 Read 93 bytes 05:46:49.430513 Process 93 bytes request 05:46:49.430528 Got request: GET /verifiedserver HTTP/1.1 05:46:49.430538 Are-we-friendly question received 05:46:49.430567 Wrote request (93 bytes) input to log/7/server.input 05:46:49.430585 Identifying ourselves as friends 05:46:49.430673 Response sent (56 bytes) and written to log/7/server.response 05:46:49.430687 special request received, no persistency 05:46:49.430696 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 56894 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 655 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file stderr655 URL: http://failthis/655 === End of file stderr655 === Start of file valgrind655 ==110947== ==110947== Process terminating with default action of signal 4 (SIGILL) ==110947== Illegal opcode at address 0x51D8933 ==110947== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==110947== by 0x51D8933: UnknownInlinedFun (request.c:40) ==110947== by 0x51D8933: Curl_open (url.c:503) ==110947== by 0x514E50F: curl_easy_init (easy.c:350) ==110947== by 0x4021AA6: test_lib655.lto_priv.0 (lib655.c:68) ==110947== by 0x40034B5: main (first.c:279) === End of file valgrind655 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/smtp_server.pid" --logfile "log/10/smtp_server.log" --logdir "log/10" --portfile "log/10/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40765 (log/10/server/smtp_server.port) RUN: SMTP server is PID 110658 port 40765 * pid smtp => 110658 110658 test 0648...[SMTP multipart with transfer content encoders] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind648 ../src/curl -q --output log/10/curl648.out --include --trace-ascii log/10/trace648 --trace-time smtp://127.0.0.1:40765/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/10/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/10/stdout648 2> log/10/stderr648 648: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind648 ../src/curl -q --output log/10/curl648.out --include --trace-ascii log/10/trace648 --trace-time smtp://127.0.0.1:40765/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/10/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/10/stdout648 2> log/10/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 05:46:49.344914 SMTP server listens on port IPv4/40765 05:46:49.345056 logged pid 110658 in log/10/server/smtp_server.pid 05:46:49.345097 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:46:49.805877 Running IPv4 version 05:46:49.805993 Listening on port 40765 05:46:49.806047 Wrote pid 110660 to log/10/server/smtp_sockfilt.pid 05:46:49.806080 Wrote port 40765 to log/10/server/smtp_server.port 05:46:49.806261 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-648 From: different To: another body === End of file stdin-for-648 === Start of file test648.txt This is an attached file. It may contain any type of data and will be encoded in base64 for transfer. === End of file test648.txt === Start of file valgrind648 ==111183== ==111183== Process terminating with default action of signal 4 (SIGILL) ==111183== Illegal opcode at address 0x4014883 ==111183== at 0x4014883: getparameter (tool_getparam.c:2899) ==111183== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==111183== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==111183== by 0x4004208: main (tool_main.c:189) === End of file valgrind648 test 0658...[Pass URL to libcurl with CURLOPT_CURLU] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:42891/658 > log/21/stdout658 2> log/21/stderr658 658: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 658 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:42891/658 > log/21/stdout658 2> log/21/stderr658 === End of file commands.log === Start of file http_server.log 05:46:49.578424 ====> Client connect 05:46:49.578461 accept_connection 3 returned 4 05:46:49.578480 accept_connection 3 returned 0 05:46:49.578496 Read 93 bytes 05:46:49.578506 Process 93 bytes request 05:46:49.578522 Got request: GET /verifiedserver HTTP/1.1 05:46:49.578532 Are-we-friendly question received 05:46:49.578560 Wrote request (93 bytes) input to log/21/server.input 05:46:49.578579 Identifying ourselves as friends 05:46:49.578643 Response sent (56 bytes) and written to log/21/server.response 05:46:49.578655 special request received, no persistency 05:46:49.578665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind649 ../src/curl -q --output log/24/curl649.out --include --trace-ascii log/24/trace649 --trace-time smtp://127.0.0.1:44727/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/24/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/24/stdout649 2> log/24/stderr649 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:38929 > log/20/stdout659 2> log/20/stderr659 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind662 ../src/curl -q --output log/17/curl662.out --include --trace-ascii log/17/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:41505 > log/17/stdout662 2> log/17/stderr662 .1 (127.0.0.1 port 42891) from 127.0.0.1 port 60852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 658 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:42891/658 === End of file stderr658 === Start of file valgrind658 ==111051== ==111051== Process terminating with default action of signal 4 (SIGILL) ==111051== Illegal opcode at address 0x51D8933 ==111051== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111051== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111051== by 0x51D8933: Curl_open (url.c:503) ==111051== by 0x514E50F: curl_easy_init (easy.c:350) ==111051== by 0x4026DAC: UnknownInlinedFun (lib658.c:38) ==111051== by 0x4026DAC: test_lib658.lto_priv.0 (lib658.c:30) ==111051== by 0x40034B5: main (first.c:279) === End of file valgrind658 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/smtp_server.pid" --logfile "log/24/smtp_server.log" --logdir "log/24" --portfile "log/24/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44727 (log/24/server/smtp_server.port) RUN: SMTP server is PID 110659 port 44727 * pid smtp => 110659 110659 test 0649...[SMTP multipart with 7-bit encoder error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind649 ../src/curl -q --output log/24/curl649.out --include --trace-ascii log/24/trace649 --trace-time smtp://127.0.0.1:44727/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/24/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/24/stdout649 2> log/24/stderr649 649: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 649 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind649 ../src/curl -q --output log/24/curl649.out --include --trace-ascii log/24/trace649 --trace-time smtp://127.0.0.1:44727/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/24/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/24/stdout649 2> log/24/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 05:46:49.349455 SMTP server listens on port IPv4/44727 05:46:49.349585 logged pid 110659 in log/24/server/smtp_server.pid 05:46:49.349628 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:46:49.810431 Running IPv4 version 05:46:49.810520 Listening on port 44727 05:46:49.810562 Wrote pid 110661 to log/24/server/smtp_sockfilt.pid 05:46:49.810594 Wrote port 44727 to log/24/server/smtp_server.port 05:46:49.810792 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-649 From: different To: another body === End of file stdin-for-649 === Start of file test649.txt This is an attached file (in french: pièce jointe). It contains at least an 8-bit byte value. === End of file test649.txt === Start of file valgrind649 ==111185== ==111185== Process terminating with default action of signal 4 (SIGILL) ==111185== Illegal opcode at address 0x4014883 ==111185== at 0x4014883: getparameter (tool_getparam.c:2899) ==111185== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==111185== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==111185== by 0x4004208: main (tool_main.c:189) === End of file valgrind649 test 0659...[CURLOPT_CURLU without the path set - over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:38929 > log/20/stdout659 2> log/20/stderr659 659: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 659 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:38929 > log/20/stdout659 2> log/20/stderr659 === End of file commands.log === Start of file http_server.log 05:46:49.607066 ====> Client connect 05:46:49.607114 accept_connection 3 returned 4 05:46:49.607136 accept_connection 3 returned 0 05:46:49.607155 Read 93 bytes 05:46:49.607165 Process 93 bytes request 05:46:49.607179 Got request: GET /verifiedserver HTTP/1.1 05:46:49.607189 Are-we-friendly question received 05:46:49.607217 Wrote request (93 bytes) input to log/20/server.input 05:46:49.607234 Identifying ourselves as friends 05:46:49.607331 Response sent (56 bytes) and written to log/20/server.response 05:46:49.607347 special request received, no persistency 05:46:49.607357 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 51690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 659 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:38929 === End of file stderr659 === Start of file valgrind659 ==111071== ==111071== Process terminating with default action of signal 4 (SIGILL) ==111071== Illegal opcode at address 0x51D8933 ==111071== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111071== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111071== by 0x51D8933: Curl_open (url.c:503) ==111071== by 0x514E50F: curl_easy_init (easy.c:350) ==111071== by 0x402700C: UnknownInlinedFun (lib659.c:37) ==111071== by 0x402700C: test_lib659.lto_priv.0 (lib659.c:30) ==111071== by 0x40034B5: main (first.c:279) === End of file valgrind659 test 0662...[HTTP redirect with whitespace in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind662 ../src/curl -q --output log/17/curl662.out --include --trace-ascii log/17/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:41505 > log/17/stdout662 2> log/17/stderr662 662: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 662 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:39835/ > log/9/stdout661 2> log/9/stderr661 ind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind662 ../src/curl -q --output log/17/curl662.out --include --trace-ascii log/17/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:41505 > log/17/stdout662 2> log/17/stderr662 === End of file commands.log === Start of file http_server.log 05:46:51.023054 ====> Client connect 05:46:51.023087 accept_connection 3 returned 4 05:46:51.023103 accept_connection 3 returned 0 05:46:51.023240 Read 93 bytes 05:46:51.023252 Process 93 bytes request 05:46:51.023266 Got request: GET /verifiedserver HTTP/1.1 05:46:51.023275 Are-we-friendly question received 05:46:51.023303 Wrote request (93 bytes) input to log/17/server.input 05:46:51.023319 Identifying ourselves as friends 05:46:51.023372 Response sent (56 bytes) and written to log/17/server.response 05:46:51.023381 special request received, no persistency 05:46:51.023390 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 51234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 662 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind662 ==111394== ==111394== Process terminating with default action of signal 4 (SIGILL) ==111394== Illegal opcode at address 0x4014883 ==111394== at 0x4014883: getparameter (tool_getparam.c:2899) ==111394== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==111394== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==111394== by 0x4004208: main (tool_main.c:189) === End of file valgrind662 test 0661...[Avoid redundant CWDs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:39835/ > log/9/stdout661 2> log/9/stderr661 661: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 661 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:39835/ > log/9/stdout661 2> log/9/stderr661 === End of file commands.log === Start of file ftp_server.log 05:46:50.387924 ====> Client connect 05:46:50.388112 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:50.388418 < "USER anonymous" 05:46:50.388491 > "331 We are happy you popped in![CR][LF]" 05:46:50.388651 < "PASS ftp@example.com" 05:46:50.388680 > "230 Welcome you silly person[CR][LF]" 05:46:50.388855 < "PWD" 05:46:50.388916 > "257 "/" is current directory[CR][LF]" 05:46:50.389080 < "EPSV" 05:46:50.389105 ====> Passive DATA channel requested by client 05:46:50.389119 DATA sockfilt for passive data channel starting... 05:46:50.396681 DATA sockfilt for passive data channel started (pid 111261) 05:46:50.396831 DATA sockfilt for passive data channel listens on port 34189 05:46:50.396883 > "229 Entering Passive Mode (|||34189|)[CR][LF]" 05:46:50.396904 Client has been notified that DATA conn will be accepted on port 34189 05:46:50.397220 Client connects to port 34189 05:46:50.397250 ====> Client established passive DATA connection on port 34189 05:46:50.397341 < "TYPE I" 05:46:50.397374 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:50.397531 < "SIZE verifiedserver" 05:46:50.397571 > "213 17[CR][LF]" 05:46:50.397717 < "RETR verifiedserver" 05:46:50.397749 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:50.397834 =====> Closing passive DATA connection... 05:46:50.397850 Server disconnects passive DATA connection 05:46:50.398069 Server disconnected passive DATA connection 05:46:50.398096 DATA sockfilt for passive data channel quits (pid 111261) 05:46:50.398319 DATA sockfilt for passive data channel quit (pid 111261) 05:46:50.398343 =====> Closed passive DATA connection 05:46:50.398370 > "226 File transfer complete[CR][LF]" 05:46:50.449095 < "QUIT" 05:46:50.449156 > "221 bye bye baby[CR][LF]" 05:46:50.450872 MAIN sockfilt said DISC 05:46:50.450914 ====> Client disconnected 05:46:50.450988 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:49.849243 ====> Client connect 05:46:49.849592 Received DATA (on stdin) 05:46:49.849610 > 146 bytes data, server => client 05:46:49.849622 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:49.849632 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:49.849641 '220 \___|\___/|_| \_\_____|\r\n' 05:46:49.849721 < 16 bytes data, client => server 05:46:49.849735 'USER anonymous\r\n' 05:46:49.849895 Received DATA (on stdin) 05:46:49.849909 > 33 bytes data, server => client 05:46:49.849956 '331 We are happy you popped in!\r\n' 05:46:49.850012 < 22 bytes data, client => server 05:46:49.850026 'PASS ftp@example.com\r\n' 05:46:49.850142 Received DATA (on stdin) 05:46:49.850155 > 30 bytes data, server => client 05:46:49.850165 '230 Welcome you silly person\r\n' 05:46:49.850221 < 5 bytes data, client => server 05:46:49.850235 'PWD\r\n' 05:46:49.850375 Received DATA (on stdin) 05:46:49.850386 > 30 bytes data, server => client 05:46:49.850396 '257 "/" is current directory\r\n' 05:46:49.850456 < 6 bytes data, client => server 05:46:49.850467 'EPSV\r\n' 05:46:49.858373 Received DATA (on stdin) 05:46:49.858392 > 39 bytes data, server => client 05:46:49.858404 '229 Entering Passive Mode (|||34189|)\r\n' 05:46:49.858598 < 8 bytes data, client => server 05:46:49.858612 'TYPE I\r\n' 05:46:49.858835 Received DATA (on stdin) 05:46:49.858847 > 33 bytes data, server => client 05:46:49.858857 '200 I modify TYPE as you wanted\r\n' 05:46:49.858907 < 21 bytes data, client => server 05:46:49.858917 'SIZE verifiedserver\r\n' 05:46:49.859030 Received DATA (on stdin) 05:46:49.859040 > 8 bytes data, server => client 05:46:49.859050 '213 17\r\n' 05:46:49.859097 < 21 bytes data, client => server 05:46:49.859107 'RETR verifiedserver\r\n' 05:46:49.859308 Received DATA (on stdin) 05:46:49.859319 > 29 bytes data, server => client 05:46:49.859329 '150 Binary junk (17 bytes).\r\n' 05:46:49.859830 Received DATA (on stdin) 05:46:49.859842 > 28 bytes data, server => client 05:46:49.859852 '226 File transfer complete\r\n' 05:46:49.910344 < 6 bytes data, client => server 05:46:49.910383 'QUIT\r\n' 05:46:49.910619 Received DATA (on stdin) 05:46:49.910631 > 18 bytes data, server => client 05:46:49.910642 '221 bye bye baby\r\n' 05:46:49.911803 ====> Client disconnect 05:46:49.912448 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:50.857748 Running IPv4 version 05:46:50.857845 Listening on port 34189 05:46:50.857882 Wrote pid 111261 to log/9/server/ftp_sockdata.pid 05:46:50.858079 Received PING (on stdin) 05:46:50.858184 Received PORT (on stdin) 05:46:50.858633 ====> Client connect 05:46:50.859353 Received DATA (on stdin) 05:46:50.859365 > 17 bytes data, server => client 05:46:50.859375 'WE ROOLZ: 81042\r\n' 05:46:50.859397 Received DISC (on stdin) 05:46:50.859408 ====> Client forcibly disconnected 05:46:50.859563 Received QUIT (on stdin) 05:46:50.859573 qCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind675 ../src/curl -q --output log/14/curl675.out --include --trace-ascii log/14/trace675 --trace-time http://user1:foo1@127.0.0.1:35549/user1/675 http://user2:foo2@127.0.0.1:35549/user2/675 > log/14/stdout675 2> log/14/stderr675 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:33217/671 > log/23/stdout671 2> log/23/stderr671 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:44673/668 log/16/file668.txt > log/16/stdout668 2> log/16/stderr668 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:41799/667 > log/2/stdout667 2> log/2/stderr667 uits 05:46:50.859638 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 661 === End of file server.cmd === Start of file stderr661 URL: ftp://127.0.0.1:39835/ === End of file stderr661 === Start of file valgrind661 ==111349== ==111349== Process terminating with default action of signal 4 (SIGILL) ==111349== Illegal opcode at address 0x51D8933 ==111349== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111349== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111349== by 0x51D8933: Curl_open (url.c:503) ==111349== by 0x514E50F: curl_easy_init (easy.c:350) ==111349== by 0x40274F0: test_lib661.lto_priv.0 (lib661.c:38) ==111349== by 0x40034B5: main (first.c:279) === End of file valgrind661 test 0675...[HTTP connection reuse and different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind675 ../src/curl -q --output log/14/curl675.out --include --trace-ascii log/14/trace675 --trace-time http://user1:foo1@127.0.0.1:35549/user1/675 http://user2:foo2@127.0.0.1:35549/user2/675 > log/14/stdout675 2> log/14/stderr675 675: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind675 ../src/curl -q --output log/14/curl675.out --include --trace-ascii log/14/trace675 --trace-time http://user1:foo1@127.0.0.1:35549/user1/675 http://user2:foo2@127.0.0.1:35549/user2/675 > log/14/stdout675 2> log/14/stderr675 === End of file commands.log === Start of file http_server.log 05:46:51.460635 ====> Client connect 05:46:51.460668 accept_connection 3 returned 4 05:46:51.460684 accept_connection 3 returned 0 05:46:51.460699 Read 93 bytes 05:46:51.460708 Process 93 bytes request 05:46:51.460722 Got request: GET /verifiedserver HTTP/1.1 05:46:51.460731 Are-we-friendly question received 05:46:51.460756 Wrote request (93 bytes) input to log/14/server.input 05:46:51.460772 Identifying ourselves as friends 05:46:51.460828 Response sent (56 bytes) and written to log/14/server.response 05:46:51.460837 special request received, no persistency 05:46:51.460846 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 47740 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 675 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind675 ==112032== ==112032== Process terminating with default action of signal 4 (SIGILL) ==112032== Illegal opcode at address 0x4014883 ==112032== at 0x4014883: getparameter (tool_getparam.c:2899) ==112032== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112032== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112032== by 0x4004208: main (tool_main.c:189) === End of file valgrind675 test 0671...[Request pause from mime read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:33217/671 > log/23/stdout671 2> log/23/stderr671 671: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 671 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:33217/671 > log/23/stdout671 2> log/23/stderr671 === End of file commands.log === Start of file http_server.log 05:46:51.362505 ====> Client connect 05:46:51.362538 accept_connection 3 returned 4 05:46:51.362553 accept_connection 3 returned 0 05:46:51.362567 Read 93 bytes 05:46:51.362576 Process 93 bytes request 05:46:51.362590 Got request: GET /verifiedserver HTTP/1.1 05:46:51.362598 Are-we-friendly question received 05:46:51.362624 Wrote request (93 bytes) input to log/23/server.input 05:46:51.362642 Identifying ourselves as friends 05:46:51.363053 Response sent (56 bytes) and written to log/23/server.response 05:46:51.363067 special request received, no persistency 05:46:51.363076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 51718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:33217/671 === End of file stderr671 === Start of file valgrind671 ==111818== ==111818== Process terminating with default action of signal 4 (SIGILL) ==111818== Illegal opcode at address 0x51D8933 ==111818== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111818== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111818== by 0x51D8933: Curl_open (url.c:503) ==111818== by 0x514E50F: curl_easy_init (easy.c:350) ==111818== by 0x4027D30: test_lib670.lto_priv.0 (lib670.c:105) ==111818== by 0x40034B5: main (first.c:279) === End of file valgrind671 test 0668...[HTTP mimepost early end of data detection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:44673/668 log/16/file668.txt > log/16/stdout668 2> log/16/stderr668 668: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 668 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:44673/668 log/16/file668.txt > log/16/stdout668 2> log/16/stderr668 === End of file commands.log === Start of file file668.txt This is data from a file === End of file file668.txt === Start of file http_server.log 05:46:51.243489 ====> Client connect 05:46:51.243525 accept_connection 3 returned 4 05:46:51.243544 accept_connection 3 returned 0 05:46:51.243712 Read 93 bytes 05:46:51.243729 Process 93 bytes request 05:46:51.243744 Got request: GET /verifiedserver HTTP/1.1 05:46:51.243755 Are-we-friendly question received 05:46:51.243784 Wrote request (93 bytes) input to log/16/server.input 05:46:51.243803 Identifying ourselves as friends 05:46:51.243866 ResponCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:40253/672 > log/4/stdout672 2> log/4/stderr672 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:38821/652 > log/8/stdout652 2> log/8/stderr652 se sent (56 bytes) and written to log/16/server.response 05:46:51.243878 special request received, no persistency 05:46:51.243886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 45828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 668 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:44673/668 === End of file stderr668 === Start of file valgrind668 ==111622== ==111622== Process terminating with default action of signal 4 (SIGILL) ==111622== Illegal opcode at address 0x51D8933 ==111622== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111622== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111622== by 0x51D8933: Curl_open (url.c:503) ==111622== by 0x514E50F: curl_easy_init (easy.c:350) ==111622== by 0x4026799: test_lib668.lto_priv.0 (lib668.c:66) ==111622== by 0x40034B5: main (first.c:279) === End of file valgrind668 test 0667...[HTTP chunked mimepost using single-byte read callback with encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:41799/667 > log/2/stdout667 2> log/2/stderr667 667: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 667 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:41799/667 > log/2/stdout667 2> log/2/stderr667 === End of file commands.log === Start of file http_server.log 05:46:51.252498 ====> Client connect 05:46:51.252531 accept_connection 3 returned 4 05:46:51.252547 accept_connection 3 returned 0 05:46:51.252561 Read 93 bytes 05:46:51.252570 Process 93 bytes request 05:46:51.252584 Got request: GET /verifiedserver HTTP/1.1 05:46:51.252593 Are-we-friendly question received 05:46:51.252619 Wrote request (93 bytes) input to log/2/server.input 05:46:51.252635 Identifying ourselves as friends 05:46:51.252693 Response sent (56 bytes) and written to log/2/server.response 05:46:51.252703 special request received, no persistency 05:46:51.252712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 44956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 667 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:41799/667 === End of file stderr667 === Start of file valgrind667 ==111613== ==111613== Process terminating with default action of signal 4 (SIGILL) ==111613== Illegal opcode at address 0x51D8933 ==111613== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111613== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111613== by 0x51D8933: Curl_open (url.c:503) ==111613== by 0x514E50F: curl_easy_init (easy.c:350) ==111613== by 0x4025DD9: test_lib667.lto_priv.0 (lib667.c:72) ==111613== by 0x40034B5: main (first.c:279) === End of file valgrind667 test 0672...[Request pause from form read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:40253/672 > log/4/stdout672 2> log/4/stderr672 672: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 672 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:40253/672 > log/4/stdout672 2> log/4/stderr672 === End of file commands.log === Start of file http_server.log 05:46:50.380285 ====> Client connect 05:46:50.380325 accept_connection 3 returned 4 05:46:50.380340 accept_connection 3 returned 0 05:46:50.380352 Read 93 bytes 05:46:50.380361 Process 93 bytes request 05:46:50.380371 Got request: GET /verifiedserver HTTP/1.1 05:46:50.380378 Are-we-friendly question received 05:46:50.380399 Wrote request (93 bytes) input to log/4/server.input 05:46:50.380413 Identifying ourselves as friends 05:46:50.380470 Response sent (56 bytes) and written to log/4/server.response 05:46:50.380477 special request received, no persistency 05:46:50.380485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 38824 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 672 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:40253/672 === End of file stderr672 === Start of file valgrind672 ==111825== ==111825== Process terminating with default action of signal 4 (SIGILL) ==111825== Illegal opcode at address 0x51D8933 ==111825== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111825== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111825== by 0x51D8933: Curl_open (url.c:503) ==111825== by 0x514E50F: curl_easy_init (easy.c:350) ==111825== by 0x4027D30: test_lib670.lto_priv.0 (lib670.c:105) ==111825== by 0x40034B5: main (first.c:279) === End of file valgrind672 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/smtp_server.pid" --logfile "log/8/smtp_server.log" --logdir "log/8" --portfile "log/8/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38821 (log/8/server/smtp_server.port) RUN: SMTP server is PID 110725 port 38821 * pid smtp => 110725 110725 test 0652...[SMTP with encoded huge mime data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:38821/652 > log/8/stdout652 2> log/8/stderr652 652: protocol FAILED! CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:39591/666 > log/3/stdout666 2> log/3/stderr666 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:33035/670 > log/6/stdout670 2> log/6/stderr670 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:36835/660 > log/13/stdout660 2> log/13/stderr660 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind663 ../src/curl -q --output log/18/curl663.out --include --trace-ascii log/18/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:39913 > log/18/stdout663 2> log/18/stderr663 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:35701/674 > log/19/stdout674 2> log/19/stderr674 There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:38821/652 > log/8/stdout652 2> log/8/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 05:46:49.573690 SMTP server listens on port IPv4/38821 05:46:49.573816 logged pid 110725 in log/8/server/smtp_server.pid 05:46:49.573857 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:46:49.034706 Running IPv4 version 05:46:49.034804 Listening on port 38821 05:46:49.034847 Wrote pid 110749 to log/8/server/smtp_sockfilt.pid 05:46:49.034877 Wrote port 38821 to log/8/server/smtp_server.port 05:46:49.035042 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:38821/652 === End of file stderr652 === Start of file valgrind652 ==111392== ==111392== Process terminating with default action of signal 4 (SIGILL) ==111392== Illegal opcode at address 0x51D8933 ==111392== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111392== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111392== by 0x51D8933: Curl_open (url.c:503) ==111392== by 0x514E50F: curl_easy_init (easy.c:350) ==111392== by 0x402600D: test_lib652.lto_priv.0 (lib652.c:48) ==111392== by 0x40034B5: main (first.c:279) === End of file valgrind652 test 0666...[HTTP mime post with binary-encoded huge data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:39591/666 > log/3/stdout666 2> log/3/stderr666 666: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 666 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:39591/666 > log/3/stdout666 2> log/3/stderr666 === End of file commands.log === Start of file http_server.log 05:46:51.233908 ====> Client connect 05:46:51.233952 accept_connection 3 returned 4 05:46:51.233970 accept_connection 3 returned 0 05:46:51.234789 Read 93 bytes 05:46:51.234810 Process 93 bytes request 05:46:51.234826 Got request: GET /verifiedserver HTTP/1.1 05:46:51.234835 Are-we-friendly question received 05:46:51.234867 Wrote request (93 bytes) input to log/3/server.input 05:46:51.234885 Identifying ourselves as friends 05:46:51.234952 Response sent (56 bytes) and written to log/3/server.response 05:46:51.234963 special request received, no persistency 05:46:51.234972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 41376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 666 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:39591/666 === End of file stderr666 === Start of file valgrind666 ==111681== ==111681== Process terminating with default action of signal 4 (SIGILL) ==111681== Illegal opcode at address 0x51D8933 ==111681== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111681== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111681== by 0x51D8933: Curl_open (url.c:503) ==111681== by 0x514E50F: curl_easy_init (easy.c:350) ==111681== by 0x4025B12: test_lib666.lto_priv.0 (lib666.c:50) ==111681== by 0x40034B5: main (first.c:279) === End of file valgrind666 test 0670...[Request pause from mime read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:33035/670 > log/6/stdout670 2> log/6/stderr670 670: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 670 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:33035/670 > log/6/stdout670 2> log/6/stderr670 === End of file commands.log === Start of file http_server.log 05:46:50.340402 ====> Client connect 05:46:50.340450 accept_connection 3 returned 4 05:46:50.340471 accept_connection 3 returned 0 05:46:50.340489 Read 93 bytes 05:46:50.340500 Process 93 bytes request 05:46:50.340515 Got request: GET /verifiedserver HTTP/1.1 05:46:50.340524 Are-we-friendly question received 05:46:50.340556 Wrote request (93 bytes) input to log/6/server.input 05:46:50.340575 Identifying ourselves as friends 05:46:50.340666 Response sent (56 bytes) and written to log/6/server.response 05:46:50.340681 special request received, no persistency 05:46:50.340690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 37862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:33035/670 === End of file stderr670 === Start of file valgrind670 ==111802== ==111802== Process terminating with default action of signal 4 (SIGILL) ==111802== Illegal opcode at address 0x51D8933 ==111802== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111802== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111802== by 0x51D8933: Curl_open (url.c:503) ==111802== by 0x514E50F: curl_easy_init (easy.c:350) ==111802== by 0x4027D30: test_lib670.lto_priv.0 (lib670.c:105) ==111802== by 0x40034B5: main (first.c:279) === End of file valgrind670 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/imap_server.pid" --logfile "log/13/imap_server.log" --logdir "log/13" --portfile "log/13/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36835 (log/13/server/imap_server.port) RUN: IMAP server is PID 111099 port 36835 * pid imap => 111099 111099 test 0660...[IMAP CONNECT_ONLY option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:35621/673 > log/5/stdout673 2> log/5/stderr673 /tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:36835/660 > log/13/stdout660 2> log/13/stderr660 660: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 660 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:36835/660 > log/13/stdout660 2> log/13/stderr660 === End of file commands.log === Start of file imap_server.log 05:46:50.272530 IMAP server listens on port IPv4/36835 05:46:50.272687 logged pid 111099 in log/13/server/imap_server.pid 05:46:50.272727 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:46:50.729978 Running IPv4 version 05:46:50.730086 Listening on port 36835 05:46:50.730129 Wrote pid 111144 to log/13/server/imap_sockfilt.pid 05:46:50.730171 Wrote port 36835 to log/13/server/imap_server.port 05:46:50.733839 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 660 === End of file server.cmd === Start of file stderr660 URL: imap://127.0.0.1:36835/660 === End of file stderr660 === Start of file valgrind660 ==112257== ==112257== Process terminating with default action of signal 4 (SIGILL) ==112257== Illegal opcode at address 0x51D8933 ==112257== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==112257== by 0x51D8933: UnknownInlinedFun (request.c:40) ==112257== by 0x51D8933: Curl_open (url.c:503) ==112257== by 0x514E50F: curl_easy_init (easy.c:350) ==112257== by 0x4061015: test_lib597.part.0.lto_priv.0 (lib597.c:48) ==112257== by 0x40034B5: main (first.c:279) === End of file valgrind660 test 0663...[HTTP redirect with dotdots and whitespaces in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind663 ../src/curl -q --output log/18/curl663.out --include --trace-ascii log/18/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:39913 > log/18/stdout663 2> log/18/stderr663 663: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 663 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind663 ../src/curl -q --output log/18/curl663.out --include --trace-ascii log/18/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:39913 > log/18/stdout663 2> log/18/stderr663 === End of file commands.log === Start of file http_server.log 05:46:50.189176 ====> Client connect 05:46:50.189207 accept_connection 3 returned 4 05:46:50.189223 accept_connection 3 returned 0 05:46:50.189370 Read 93 bytes 05:46:50.189382 Process 93 bytes request 05:46:50.189397 Got request: GET /verifiedserver HTTP/1.1 05:46:50.189406 Are-we-friendly question received 05:46:50.189431 Wrote request (93 bytes) input to log/18/server.input 05:46:50.189447 Identifying ourselves as friends 05:46:50.189498 Response sent (56 bytes) and written to log/18/server.response 05:46:50.189507 special request received, no persistency 05:46:50.189515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 40674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 663 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind663 ==111534== ==111534== Process terminating with default action of signal 4 (SIGILL) ==111534== Illegal opcode at address 0x4014883 ==111534== at 0x4014883: getparameter (tool_getparam.c:2899) ==111534== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==111534== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==111534== by 0x4004208: main (tool_main.c:189) === End of file valgrind663 test 0674...[Set CURLOPT_CURLU and dupe the handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:35701/674 > log/19/stdout674 2> log/19/stderr674 674: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 674 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:35701/674 > log/19/stdout674 2> log/19/stderr674 === End of file commands.log === Start of file http_server.log 05:46:50.377074 ====> Client connect 05:46:50.377121 accept_connection 3 returned 4 05:46:50.377144 accept_connection 3 returned 0 05:46:50.377163 Read 93 bytes 05:46:50.377174 Process 93 bytes request 05:46:50.377188 Got request: GET /verifiedserver HTTP/1.1 05:46:50.377197 Are-we-friendly question received 05:46:50.377229 Wrote request (93 bytes) input to log/19/server.input 05:46:50.377249 Identifying ourselves as friends 05:46:50.377343 Response sent (56 bytes) and written to log/19/server.response 05:46:50.377356 special request received, no persistency 05:46:50.377366 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 43326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 674 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:35701/674 === End of file stderr674 === Start of file valgrind674 ==111855== ==111855== Process terminating with default action of signal 4 (SIGILL) ==111855== Illegal opcode at address 0x51D8933 ==111855== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111855== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111855== by 0x51D8933: Curl_open (url.c:503) ==111855== by 0x514E50F: curl_easy_init (easy.c:350) ==111855== by 0x4027290: UnknownInlinedFun (lib674.c:39) ==111855== by 0x4027290: test_lib674.lto_priv.0 (lib674.c:30) ==111855== by 0x40034B5: main (first.c:279) === End of file valgrind674 test 0673...[Request pause from form read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind673 ./libtest/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-time http://127.0.0.1:41477/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:43413/we/want/676 log/15/cookies676 > log/15/stdout676 2> log/15/stderr676 libtests lib670 http://127.0.0.1:35621/673 > log/5/stdout673 2> log/5/stderr673 673: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 673 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:35621/673 > log/5/stdout673 2> log/5/stderr673 === End of file commands.log === Start of file http_server.log 05:46:51.400377 ====> Client connect 05:46:51.400411 accept_connection 3 returned 4 05:46:51.400429 accept_connection 3 returned 0 05:46:51.400446 Read 93 bytes 05:46:51.400455 Process 93 bytes request 05:46:51.400470 Got request: GET /verifiedserver HTTP/1.1 05:46:51.400479 Are-we-friendly question received 05:46:51.400502 Wrote request (93 bytes) input to log/5/server.input 05:46:51.400519 Identifying ourselves as friends 05:46:51.401156 Response sent (56 bytes) and written to log/5/server.response 05:46:51.401172 special request received, no persistency 05:46:51.401181 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 60560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 673 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:35621/673 === End of file stderr673 === Start of file valgrind673 ==111969== ==111969== Process terminating with default action of signal 4 (SIGILL) ==111969== Illegal opcode at address 0x51D8933 ==111969== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==111969== by 0x51D8933: UnknownInlinedFun (request.c:40) ==111969== by 0x51D8933: Curl_open (url.c:503) ==111969== by 0x514E50F: curl_easy_init (easy.c:350) ==111969== by 0x4027D30: test_lib670.lto_priv.0 (lib670.c:105) ==111969== by 0x40034B5: main (first.c:279) === End of file valgrind673 test 0669...[HTTP custom Content-Type with parameter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-time http://127.0.0.1:41477/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 669: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 669 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind669 ../src/curl -q --output log/22/curl669.out --include --trace-ascii log/22/trace669 --trace-time http://127.0.0.1:41477/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/22/stdout669 2> log/22/stderr669 === End of file commands.log === Start of file http_server.log 05:46:51.316795 ====> Client connect 05:46:51.316827 accept_connection 3 returned 4 05:46:51.316846 accept_connection 3 returned 0 05:46:51.324359 Read 93 bytes 05:46:51.324386 Process 93 bytes request 05:46:51.324402 Got request: GET /verifiedserver HTTP/1.1 05:46:51.324412 Are-we-friendly question received 05:46:51.324455 Wrote request (93 bytes) input to log/22/server.input 05:46:51.324478 Identifying ourselves as friends 05:46:51.324542 Response sent (56 bytes) and written to log/22/server.response 05:46:51.324554 special request received, no persistency 05:46:51.324563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 54320 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 669 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind669 ==111742== ==111742== Process terminating with default action of signal 4 (SIGILL) ==111742== Illegal opcode at address 0x4014883 ==111742== at 0x4014883: getparameter (tool_getparam.c:2899) ==111742== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==111742== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==111742== by 0x4004208: main (tool_main.c:189) === End of file valgrind669 test 0676...[verify setting CURLOPT_COOKIEFILE to NULL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:43413/we/want/676 log/15/cookies676 > log/15/stdout676 2> log/15/stderr676 676: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 676 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:43413/we/want/676 log/15/cookies676 > log/15/stdout676 2> log/15/stderr676 === End of file commands.log === Start of file cookies676 127.0.0.1 TRUE /we/want/ FALSE 22118138987 proven yes === End of file cookies676 === Start of file http_server.log 05:46:51.541411 ====> Client connect 05:46:51.541444 accept_connection 3 returned 4 05:46:51.541459 accept_connection 3 returned 0 05:46:51.541472 Read 93 bytes 05:46:51.541482 Process 93 bytes request 05:46:51.541495 Got request: GET /verifiedserver HTTP/1.1 05:46:51.541504 Are-we-friendly question received 05:46:51.541532 Wrote request (93 bytes) input to log/15/server.input 05:46:51.541547 Identifying ourselves as friends 05:46:51.541598 Response sent (56 bytes) and written to log/15/server.response 05:46:51.541607 special request received, no persistency 05:46:51.541615 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 35294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 676 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr676 URL:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind679 ../src/curl -q --output log/12/curl679.out --include --trace-ascii log/12/trace679 --trace-time --netrc-optional --netrc-file log/12/netrc679 http://127.0.0.1:36353/ > log/12/stdout679 2> log/12/stderr679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind681 ../src/curl -q --trace-ascii log/7/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:39013/681 > log/7/stdout681 2> log/7/stderr681 http://127.0.0.1:43413/we/want/676 === End of file stderr676 === Start of file valgrind676 ==112202== ==112202== Process terminating with default action of signal 4 (SIGILL) ==112202== Illegal opcode at address 0x51D8933 ==112202== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==112202== by 0x51D8933: UnknownInlinedFun (request.c:40) ==112202== by 0x51D8933: Curl_open (url.c:503) ==112202== by 0x514E50F: curl_easy_init (easy.c:350) ==112202== by 0x4021C86: test_lib676.lto_priv.0 (lib676.c:36) ==112202== by 0x40034B5: main (first.c:279) === End of file valgrind676 test 0679...[netrc with quoted password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind679 ../src/curl -q --output log/12/curl679.out --include --trace-ascii log/12/trace679 --trace-time --netrc-optional --netrc-file log/12/netrc679 http://127.0.0.1:36353/ > log/12/stdout679 2> log/12/stderr679 679: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 679 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind679 ../src/curl -q --output log/12/curl679.out --include --trace-ascii log/12/trace679 --trace-time --netrc-optional --netrc-file log/12/netrc679 http://127.0.0.1:36353/ > log/12/stdout679 2> log/12/stderr679 === End of file commands.log === Start of file http_server.log 05:46:52.263777 ====> Client connect 05:46:52.263822 accept_connection 3 returned 4 05:46:52.263840 accept_connection 3 returned 0 05:46:52.263856 Read 93 bytes 05:46:52.263865 Process 93 bytes request 05:46:52.263879 Got request: GET /verifiedserver HTTP/1.1 05:46:52.263888 Are-we-friendly question received 05:46:52.263909 Wrote request (93 bytes) input to log/12/server.input 05:46:52.263924 Identifying ourselves as friends 05:46:52.263992 Response sent (56 bytes) and written to log/12/server.response 05:46:52.264000 special request received, no persistency 05:46:52.264008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 37620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file netrc679 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a" === End of file netrc679 === Start of file server.cmd Testnum 679 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind679 ==112380== ==112380== Process terminating with default action of signal 4 (SIGILL) ==112380== Illegal opcode at address 0x4014883 ==112380== at 0x4014883: getparameter (tool_getparam.c:2899) ==112380== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112380== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112380== by 0x4004208: main (tool_main.c:189) === End of file valgrind679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind682 ../src/curl -q --output log/10/curl682.out --include --trace-ascii log/10/trace682 --trace-time --netrc-optional --netrc-file log/10/netrc682 http://user1@127.0.0.1:46741/ > log/10/stdout682 2> log/10/stderr682 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind683 ../src/curl -q --output log/21/curl683.out --include --trace-ascii log/21/trace683 --trace-time --netrc-optional --netrc-file log/21/netrc683 http://user2@127.0.0.1:42891/ > log/21/stdout683 2> log/21/stderr683 test 0681...[--remote-name-all with --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind681 ../src/curl -q --trace-ascii log/7/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:39013/681 > log/7/stdout681 2> log/7/stderr681 681: stdout FAILED: --- log/7/check-expected 2026-03-14 05:46:54.297949353 +0000 +++ log/7/check-generated 2026-03-14 05:46:54.297949353 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/7/ directory after test 681 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind681 ../src/curl -q --trace-ascii log/7/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:39013/681 > log/7/stdout681 2> log/7/stderr681 === End of file commands.log === Start of file http_server.log 05:46:51.873764 ====> Client connect 05:46:51.873817 accept_connection 3 returned 4 05:46:51.873838 accept_connection 3 returned 0 05:46:51.873855 Read 93 bytes 05:46:51.873866 Process 93 bytes request 05:46:51.873880 Got request: GET /verifiedserver HTTP/1.1 05:46:51.873890 Are-we-friendly question received 05:46:51.873919 Wrote request (93 bytes) input to log/7/server.input 05:46:51.873938 Identifying ourselves as friends 05:46:51.874017 Response sent (56 bytes) and written to log/7/server.response 05:46:51.874029 special request received, no persistency 05:46:51.874038 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 56908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind681 ==112538== ==112538== Process terminating with default action of signal 4 (SIGILL) ==112538== Illegal opcode at address 0x4014883 ==112538== at 0x4014883: getparameter (tool_getparam.c:2899) ==112538== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112538== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112538== by 0x4004208: main (tool_main.c:189) === End of file valgrind681 test 0680...[netrc with quoted password but missing end quote] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/11/ directory after test 680 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 === End of file commands.log === Start of file netrc680 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a === End of file netrc680 === Start of file server.cmd Testnum 680 === End of file server.cmd === Start of file valgrind680 ==112451== ==112451== Process terminating with default action of signal 4 (SIGILL) ==112451== Illegal opcode at address 0x4014883 ==112451== at 0x4014883: getparameter (tool_getparam.c:2899) ==112451== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112451== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112451== by 0x4004208: main (tool_main.c:189) === End of file valgrind680 test 0682...[netrc with multiple logins - pick first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind682 ../src/curl -q --output log/10/curl682.out --include --trace-ascii log/10/trace682 --trace-time --netrc-optional --netrc-file log/10/netrc682 http://user1@127.0.0.1:46741/ > log/10/stdout682 2> log/10/stderr682 682: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 682 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind682 ../src/curl -q --output log/10/curl682.out --include --trace-ascii log/10/trace682 --trace-time --netrc-optional --netrc-file log/10/netrc682 http://user1@127.0.0.1:46741/ > log/10/stdout682 2> log/10/stderr682 === End of file commands.log === Start of file http_server.log 05:46:52.051725 ====> Client connect 05:46:52.051761 accept_connection 3 returned 4 05:46:52.051779 accept_connection 3 returned 0 05:46:52.051794 Read 93 bytes 05:46:52.051806 Process 93 bytes request 05:46:52.051820 Got request: GET /verifiedserver HTTP/1.1 05:46:52.051830 Are-we-friendly question received 05:46:52.051853 Wrote request (93 bytes) input to log/10/server.input 05:46:52.051869 Identifying ourselves as friends 05:46:52.051928 Response sent (56 bytes) and written to log/10/server.response 05:46:52.051937 special request received, no persistency 05:46:52.051946 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 37756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file netrc682 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc682 === Start of file server.cmd Testnum 682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind682 ==112652== ==112652== Process terminating with default action of signal 4 (SIGILL) ==112652== Illegal opcode at address 0x4014883 ==112652== at 0x4014883: getparameter (tool_getparam.c:2899) ==112652== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112652== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112652== by 0x4004208: main (tool_main.c:189) === End of file valgrind682 test 0683...[netrc with multiple logins - pick second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind683 ../src/curl -q --output log/21/curl683.out --include --trace-ascii log/21/trace683 --trace-time --netrc-optional --netrc-file log/21/netrc683 http://user2@127.0.0.1:42891/ > log/21/stdoutCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind684 ../src/curl -q --output log/24/curl684.out --include --trace-ascii log/24/trace684 --trace-time --netrc-optional --netrc-file log/24/netrc684 http://127.0.0.1:33593/ > log/24/stdout684 2> log/24/stderr684 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind690 ../src/curl -q --include --trace-ascii log/14/trace690 --trace-time http://127.0.0.1:35549/ -O --output-dir log/14 > log/14/stdout690 2> log/14/stderr690 683 2> log/21/stderr683 683: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind683 ../src/curl -q --output log/21/curl683.out --include --trace-ascii log/21/trace683 --trace-time --netrc-optional --netrc-file log/21/netrc683 http://user2@127.0.0.1:42891/ > log/21/stdout683 2> log/21/stderr683 === End of file commands.log === Start of file http_server.log 05:46:52.090399 ====> Client connect 05:46:52.090445 accept_connection 3 returned 4 05:46:52.090465 accept_connection 3 returned 0 05:46:52.090483 Read 93 bytes 05:46:52.090493 Process 93 bytes request 05:46:52.090508 Got request: GET /verifiedserver HTTP/1.1 05:46:52.090517 Are-we-friendly question received 05:46:52.090543 Wrote request (93 bytes) input to log/21/server.input 05:46:52.090562 Identifying ourselves as friends 05:46:52.090665 Response sent (56 bytes) and written to log/21/server.response 05:46:52.090677 special request received, no persistency 05:46:52.090686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file netrc683 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc683 === Start of file server.cmd Testnum 683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind683 ==112674== ==112674== Process terminating with default action of signal 4 (SIGILL) ==112674== Illegal opcode at address 0x4014883 ==112674== at 0x4014883: getparameter (tool_getparam.c:2899) ==112674== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112674== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112674== by 0x4004208: main (tool_main.c:189) === End of file valgrind683 test 0684...[netrc with no login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind684 ../src/curl -q --output log/24/curl684.out --include --trace-ascii log/24/trace684 --trace-time --netrc-optional --netrc-file log/24/netrc684 http://127.0.0.1:33593/ > log/24/stdout684 2> log/24/stderr684 684: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 684 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind684 ../src/curl -q --output log/24/curl684.out --include --trace-ascii log/24/trace684 --trace-time --netrc-optional --netrc-file log/24/netrc684 http://127.0.0.1:33593/ > log/24/stdout684 2> log/24/stderr684 === End of file commands.log === Start of file http_server.log 05:46:53.117056 ====> Client connect 05:46:53.117095 accept_connection 3 returned 4 05:46:53.117114 accept_connection 3 returned 0 05:46:53.117131 Read 93 bytes 05:46:53.117142 Process 93 bytes request 05:46:53.117155 Got request: GET /verifiedserver HTTP/1.1 05:46:53.117164 Are-we-friendly question received 05:46:53.117190 Wrote request (93 bytes) input to log/24/server.input 05:46:53.117208 Identifying ourselves as friends 05:46:53.117283 Response sent (56 bytes) and written to log/24/server.response 05:46:53.117294 special request received, no persistency 05:46:53.117303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 60552 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file netrc684 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc684 === Start of file server.cmd Testnum 684 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind684 ==112705== ==112705== Process terminating with default action of signal 4 (SIGILL) ==112705== Illegal opcode at address 0x4014883 ==112705== at 0x4014883: getparameter (tool_getparam.c:2899) ==112705== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112705== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112705== by 0x4004208: main (tool_main.c:189) === End of file valgrind684 test 0690...[-O with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind690 ../src/curl -q --include --trace-ascii log/14/trace690 --trace-time http://127.0.0.1:35549/ -O --output-dir log/14 > log/14/stdout690 2> log/14/stderr690 690: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 690 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind690 ../src/curl -q --include --trace-ascii log/14/trace690 --trace-time http://127.0.0.1:35549/ -O --output-dir log/14 > log/14/stdout690 2> log/14/stderr690 === End of file commands.log === Start of file http_server.log 05:46:53.499989 ====> Client connect 05:46:53.500025 accept_connection 3 returned 4 05:46:53.500041 accept_connection 3 returned 0 05:46:53.500181 Read 93 bytes 05:46:53.500194 Process 93 bytes request 05:46:53.500208 Got request: GET /verifiedserver HTTP/1.1 05:46:53.500217 Are-we-friendly question received 05:46:53.500246 Wrote request (93 bytes) input to log/14/server.input 05:46:53.500263 Identifying ourselves as friends 05:46:53.500333 Response sent (56 bytes) and written to log/14/server.response 05:46:53.500343 special request received, no persistency 05:46:53.500352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 47748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 690 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind690 ==112986== ==112986== Process tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:34849/677 > log/1/stdout677 2> log/1/stderr677 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind685 ../src/curl -q --output log/20/curl685.out --include --trace-ascii log/20/trace685 --trace-time --netrc-optional --netrc-file log/20/netrc685 http://user@127.0.0.1:38929/ > log/20/stdout685 2> log/20/stderr685 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind686 ../src/curl -q --output log/17/curl686.out --include --trace-ascii log/17/trace686 --trace-time htdhdhdtp://localhost --next > log/17/stdout686 2> log/17/stderr686 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:45623/we/want/695 > log/8/stdout695 2> log/8/stderr695 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind692 ../src/curl -q --trace-ascii log/16/trace692 --trace-time http://127.0.0.1:44673/ -JO --output-dir log/16 > log/16/stdout692 2> log/16/stderr692 erminating with default action of signal 4 (SIGILL) ==112986== Illegal opcode at address 0x4014883 ==112986== at 0x4014883: getparameter (tool_getparam.c:2899) ==112986== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112986== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112986== by 0x4004208: main (tool_main.c:189) === End of file valgrind690 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/imap_server.pid" --logfile "log/1/imap_server.log" --logdir "log/1" --portfile "log/1/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34849 (log/1/server/imap_server.port) RUN: IMAP server is PID 112350 port 34849 * pid imap => 112350 112350 test 0677...[IMAP with CONNECT_ONLY, custom command then exit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:34849/677 > log/1/stdout677 2> log/1/stderr677 677: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 677 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:34849/677 > log/1/stdout677 2> log/1/stderr677 === End of file commands.log === Start of file imap_server.log 05:46:51.633419 IMAP server listens on port IPv4/34849 05:46:51.633525 logged pid 112350 in log/1/server/imap_server.pid 05:46:51.633557 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:46:51.092560 Running IPv4 version 05:46:51.092701 Listening on port 34849 05:46:51.094710 Wrote pid 112354 to log/1/server/imap_sockfilt.pid 05:46:51.094752 Wrote port 34849 to log/1/server/imap_server.port 05:46:51.094776 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 677 === End of file server.cmd === Start of file stderr677 URL: imap://127.0.0.1:34849/677 === End of file stderr677 === Start of file valgrind677 ==112633== ==112633== Process terminating with default action of signal 4 (SIGILL) ==112633== Illegal opcode at address 0x519F3C0 ==112633== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==112633== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==112633== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==112633== by 0x402848F: test_lib677.lto_priv.0 (lib677.c:40) ==112633== by 0x40034B5: main (first.c:279) ==112633== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==112633== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==112633== by 0x519F354: Curl_multi_handle (multi.c:235) ==112633== by 0x402848F: test_lib677.lto_priv.0 (lib677.c:40) ==112633== by 0x40034B5: main (first.c:279) ==112633== === End of file valgrind677 test 0685...[netrc with no login - provided user] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind685 ../src/curl -q --output log/20/curl685.out --include --trace-ascii log/20/trace685 --trace-time --netrc-optional --netrc-file log/20/netrc685 http://user@127.0.0.1:38929/ > log/20/stdout685 2> log/20/stderr685 685: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 685 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind685 ../src/curl -q --output log/20/curl685.out --include --trace-ascii log/20/trace685 --trace-time --netrc-optional --netrc-file log/20/netrc685 http://user@127.0.0.1:38929/ > log/20/stdout685 2> log/20/stderr685 === End of file commands.log === Start of file http_server.log 05:46:52.180407 ====> Client connect 05:46:52.180465 accept_connection 3 returned 4 05:46:52.180488 accept_connection 3 returned 0 05:46:52.180507 Read 93 bytes 05:46:52.180518 Process 93 bytes request 05:46:52.180533 Got request: GET /verifiedserver HTTP/1.1 05:46:52.180542 Are-we-friendly question received 05:46:52.180570 Wrote request (93 bytes) input to log/20/server.input 05:46:52.180594 Identifying ourselves as friends 05:46:52.180680 Response sent (56 bytes) and written to log/20/server.response 05:46:52.180694 special request received, no persistency 05:46:52.180703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 51706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file netrc685 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc685 === Start of file server.cmd Testnum 685 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind685 ==112766== ==112766== Process terminating with default action of signal 4 (SIGILL) ==112766== Illegal opcode at address 0x4014883 ==112766== at 0x4014883: getparameter (tool_getparam.c:2899) ==112766== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112766== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112766== by 0x4004208: main (tool_main.c:189) === End of file valgrind685 test 0686...[verify return code for missing URL after --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind686 ../src/curl -q --output log/17/curl686.out --include --trace-ascii log/17/trace686 --trace-time htdhdhdtp://localhost --next > log/17/stdout686 2> log/17/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/17/ directory after test 686 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind686 ../src/curl -q --output log/17/curl686.out --include --trace-ascii log/17/trace686 --trace-time htdhdhdtp://localhost --next > log/17/stdout686 2> log/17/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==112802== ==112802== Process terminating with default action of signal 4 (SIGILL) ==112802== Illegal opcode at address 0x4014883 ==112802== at 0x4014883: getparameter (tool_getparam.c:2899) ==112802== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==112802== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==112802== by 0x4004208: main (tool_main.c:189) === End of file valgrind686 test 0695...[MIME parts reuse as a child part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:45623/we/want/695 > log/8/stdout695 2> log/8/stderr695 695: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind693 ../src/curl -q --output log/4/curl693.out --include --trace-ascii log/4/trace693 --trace-time http://127.0.0.1:40253/693 --etag-save log/4/moo/boo/etag693 --create-dirs > log/4/stdout693 2> log/4/stderr693 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind699 ../src/curl -q --output log/13/curl699.out --include --trace-ascii log/13/trace699 --trace-time http://127.0.0.1:45359/699 -K log/13/cmd > log/13/stdout699 2> log/13/stderr699 ailure? Returned: 132 == Contents of files in the log/8/ directory after test 695 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:45623/we/want/695 > log/8/stdout695 2> log/8/stderr695 === End of file commands.log === Start of file http_server.log 05:46:52.800422 ====> Client connect 05:46:52.800472 accept_connection 3 returned 4 05:46:52.800493 accept_connection 3 returned 0 05:46:52.800520 Read 93 bytes 05:46:52.800531 Process 93 bytes request 05:46:52.800545 Got request: GET /verifiedserver HTTP/1.1 05:46:52.800560 Are-we-friendly question received 05:46:52.800595 Wrote request (93 bytes) input to log/8/server.input 05:46:52.800615 Identifying ourselves as friends 05:46:52.800700 Response sent (56 bytes) and written to log/8/server.response 05:46:52.800713 special request received, no persistency 05:46:52.800723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 50892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 695 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr695 URL: http://127.0.0.1:45623/we/want/695 === End of file stderr695 === Start of file valgrind695 ==113239== ==113239== Process terminating with default action of signal 4 (SIGILL) ==113239== Illegal opcode at address 0x51D8933 ==113239== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==113239== by 0x51D8933: UnknownInlinedFun (request.c:40) ==113239== by 0x51D8933: Curl_open (url.c:503) ==113239== by 0x514E50F: curl_easy_init (easy.c:350) ==113239== by 0x402630A: test_lib695.lto_priv.0 (lib695.c:51) ==113239== by 0x40034B5: main (first.c:279) === End of file valgrind695 test 0692...[-JO with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind692 ../src/curl -q --trace-ascii log/16/trace692 --trace-time http://127.0.0.1:44673/ -JO --output-dir log/16 > log/16/stdout692 2> log/16/stderr692 692: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 692 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind692 ../src/curl -q --trace-ascii log/16/trace692 --trace-time http://127.0.0.1:44673/ -JO --output-dir log/16 > log/16/stdout692 2> log/16/stderr692 === End of file commands.log === Start of file http_server.log 05:46:53.700390 ====> Client connect 05:46:53.700424 accept_connection 3 returned 4 05:46:53.700440 accept_connection 3 returned 0 05:46:53.703873 Read 93 bytes 05:46:53.703902 Process 93 bytes request 05:46:53.703918 Got request: GET /verifiedserver HTTP/1.1 05:46:53.703928 Are-we-friendly question received 05:46:53.703963 Wrote request (93 bytes) input to log/16/server.input 05:46:53.703982 Identifying ourselves as friends 05:46:53.704048 Response sent (56 bytes) and written to log/16/server.response 05:46:53.704061 special request received, no persistency 05:46:53.704070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 45836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 692 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind692 ==113097== ==113097== Process terminating with default action of signal 4 (SIGILL) ==113097== Illegal opcode at address 0x4014883 ==113097== at 0x4014883: getparameter (tool_getparam.c:2899) ==113097== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113097== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113097== by 0x4004208: main (tool_main.c:189) === End of file valgrind692 test 0699...[--config with single-letter options plus one that is cleared] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind699 ../src/curl -q --output log/13/curl699.out --include --trace-ascii log/13/trace699 --trace-time http://127.0.0.1:45359/699 -K log/13/cmd > log/13/stdout699 2> log/13/stderr699 699: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 699 === Start of file cmd -Lfuhej:you === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind699 ../src/curl -q --output log/13/curl699.out --include --trace-ascii log/13/trace699 --trace-time http://127.0.0.1:45359/699 -K log/13/cmd > log/13/stdout699 2> log/13/stderr699 === End of file commands.log === Start of file http_server.log 05:46:53.885474 ====> Client connect 05:46:53.885501 accept_connection 3 returned 4 05:46:53.885518 accept_connection 3 returned 0 05:46:53.885531 Read 93 bytes 05:46:53.885541 Process 93 bytes request 05:46:53.885555 Got request: GET /verifiedserver HTTP/1.1 05:46:53.885564 Are-we-friendly question received 05:46:53.885587 Wrote request (93 bytes) input to log/13/server.input 05:46:53.885608 Identifying ourselves as friends 05:46:53.885664 Response sent (56 bytes) and written to log/13/server.response 05:46:53.885675 special request received, no persistency 05:46:53.885684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 43138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 699 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind699 ==113395== ==113395== Process terminating with default action of signal 4 (SIGILL) ==113395== Illegal opcode at address 0x4014883 ==113395== at 0x4014883: getparameter (tool_getparam.c:2899) ==113395== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113395== by 0x4004208: UnknownInlinedFuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind691 ../src/curl -q --include --trace-ascii log/23/trace691 --trace-time http://127.0.0.1:33217/path/to/here/ -O --output-dir log/23 > log/23/stdout691 2> log/23/stderr691 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind697 ../src/curl -q --output log/19/curl697.out --include --trace-ascii log/19/trace697 --trace-time --netrc --netrc-file log/19/netrc697 http://user1@http.example/ > log/19/stdout697 2> log/19/stderr697 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind698 ../src/curl -q --output log/18/curl698.out --include --trace-ascii log/18/trace698 --trace-time ftp://127.0.0.1:35869/698 --ftp-account "one count" ftp://127.0.0.1:35869/698 > log/18/stdout698 2> log/18/stderr698 n (tool_operate.c:2293) ==113395== by 0x4004208: main (tool_main.c:189) === End of file valgrind699 test 0693...[--etag-save with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind693 ../src/curl -q --output log/4/curl693.out --include --trace-ascii log/4/trace693 --trace-time http://127.0.0.1:40253/693 --etag-save log/4/moo/boo/etag693 --create-dirs > log/4/stdout693 2> log/4/stderr693 693: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 693 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind693 ../src/curl -q --output log/4/curl693.out --include --trace-ascii log/4/trace693 --trace-time http://127.0.0.1:40253/693 --etag-save log/4/moo/boo/etag693 --create-dirs > log/4/stdout693 2> log/4/stderr693 === End of file commands.log === Start of file http_server.log 05:46:52.683719 ====> Client connect 05:46:52.683751 accept_connection 3 returned 4 05:46:52.683769 accept_connection 3 returned 0 05:46:52.683785 Read 93 bytes 05:46:52.683796 Process 93 bytes request 05:46:52.683810 Got request: GET /verifiedserver HTTP/1.1 05:46:52.683819 Are-we-friendly question received 05:46:52.683848 Wrote request (93 bytes) input to log/4/server.input 05:46:52.683866 Identifying ourselves as friends 05:46:52.683939 Response sent (56 bytes) and written to log/4/server.response 05:46:52.683952 special request received, no persistency 05:46:52.683962 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 38828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 693 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind693 ==113098== ==113098== Process terminating with default action of signal 4 (SIGILL) ==113098== Illegal opcode at address 0x4014883 ==113098== at 0x4014883: getparameter (tool_getparam.c:2899) ==113098== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113098== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113098== by 0x4004208: main (tool_main.c:189) === End of file valgrind693 test 0691...[-O with URL with path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind691 ../src/curl -q --include --trace-ascii log/23/trace691 --trace-time http://127.0.0.1:33217/path/to/here/ -O --output-dir log/23 > log/23/stdout691 2> log/23/stderr691 691: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 691 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind691 ../src/curl -q --include --trace-ascii log/23/trace691 --trace-time http://127.0.0.1:33217/path/to/here/ -O --output-dir log/23 > log/23/stdout691 2> log/23/stderr691 === End of file commands.log === Start of file http_server.log 05:46:53.673515 ====> Client connect 05:46:53.673553 accept_connection 3 returned 4 05:46:53.673573 accept_connection 3 returned 0 05:46:53.673591 Read 93 bytes 05:46:53.673602 Process 93 bytes request 05:46:53.673616 Got request: GET /verifiedserver HTTP/1.1 05:46:53.673626 Are-we-friendly question received 05:46:53.673668 Wrote request (93 bytes) input to log/23/server.input 05:46:53.673689 Identifying ourselves as friends 05:46:53.673862 Response sent (56 bytes) and written to log/23/server.response 05:46:53.673873 special request received, no persistency 05:46:53.673882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 51726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 691 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind691 ==113084== ==113084== Process terminating with default action of signal 4 (SIGILL) ==113084== Illegal opcode at address 0x4014883 ==113084== at 0x4014883: getparameter (tool_getparam.c:2899) ==113084== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113084== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113084== by 0x4004208: main (tool_main.c:189) === End of file valgrind691 test 0697...[netrc with missing netrc file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind697 ../src/curl -q --output log/19/curl697.out --include --trace-ascii log/19/trace697 --trace-time --netrc --netrc-file log/19/netrc697 http://user1@http.example/ > log/19/stdout697 2> log/19/stderr697 curl returned 132, when expecting 2 697: exit FAILED == Contents of files in the log/19/ directory after test 697 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind697 ../src/curl -q --output log/19/curl697.out --include --trace-ascii log/19/trace697 --trace-time --netrc --netrc-file log/19/netrc697 http://user1@http.example/ > log/19/stdout697 2> log/19/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==113184== ==113184== Process terminating with default action of signal 4 (SIGILL) ==113184== Illegal opcode at address 0x4014883 ==113184== at 0x4014883: getparameter (tool_getparam.c:2899) ==113184== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113184== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113184== by 0x4004208: main (tool_main.c:189) === End of file valgrind697 test 0698...[FTP with ACCT and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind698 ../src/curl -q --output log/18/curl698.out --include --trace-ascii log/18/trace698 --trace-time ftp://127.0.0.1:35869/698 --ftp-account "one count" ftp://127.0.0.1:35869/698 > log/18/stdout698 2> log/18/stderr698 698: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 698 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33035 > log/6/stdout696 2> log/6/stderr696 k-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind698 ../src/curl -q --output log/18/curl698.out --include --trace-ascii log/18/trace698 --trace-time ftp://127.0.0.1:35869/698 --ftp-account "one count" ftp://127.0.0.1:35869/698 > log/18/stdout698 2> log/18/stderr698 === End of file commands.log === Start of file ftp_server.log 05:46:53.419716 ====> Client connect 05:46:53.420038 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:53.420668 < "USER anonymous" 05:46:53.420710 > "331 We are happy you popped in![CR][LF]" 05:46:53.420899 < "PASS ftp@example.com" 05:46:53.420935 > "230 Welcome you silly person[CR][LF]" 05:46:53.421125 < "PWD" 05:46:53.421167 > "257 "/" is current directory[CR][LF]" 05:46:53.422196 < "EPSV" 05:46:53.422506 ====> Passive DATA channel requested by client 05:46:53.422529 DATA sockfilt for passive data channel starting... 05:46:53.429995 DATA sockfilt for passive data channel started (pid 113336) 05:46:53.430120 DATA sockfilt for passive data channel listens on port 46507 05:46:53.430166 > "229 Entering Passive Mode (|||46507|)[CR][LF]" 05:46:53.430184 Client has been notified that DATA conn will be accepted on port 46507 05:46:53.430459 Client connects to port 46507 05:46:53.430490 ====> Client established passive DATA connection on port 46507 05:46:53.430581 < "TYPE I" 05:46:53.430615 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:53.430784 < "SIZE verifiedserver" 05:46:53.430823 > "213 17[CR][LF]" 05:46:53.430985 < "RETR verifiedserver" 05:46:53.431022 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:53.431115 =====> Closing passive DATA connection... 05:46:53.431135 Server disconnects passive DATA connection 05:46:53.431374 Server disconnected passive DATA connection 05:46:53.431400 DATA sockfilt for passive data channel quits (pid 113336) 05:46:53.431614 DATA sockfilt for passive data channel quit (pid 113336) 05:46:53.431638 =====> Closed passive DATA connection 05:46:53.431665 > "226 File transfer complete[CR][LF]" 05:46:53.479369 < "QUIT" 05:46:53.479468 > "221 bye bye baby[CR][LF]" 05:46:53.481386 MAIN sockfilt said DISC 05:46:53.481426 ====> Client disconnected 05:46:53.481512 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:52.875553 ====> Client connect 05:46:52.881824 Received DATA (on stdin) 05:46:52.881848 > 146 bytes data, server => client 05:46:52.881858 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:52.881868 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:52.881876 '220 \___|\___/|_| \_\_____|\r\n' 05:46:52.881979 < 16 bytes data, client => server 05:46:52.881990 'USER anonymous\r\n' 05:46:52.882176 Received DATA (on stdin) 05:46:52.882189 > 33 bytes data, server => client 05:46:52.882200 '331 We are happy you popped in!\r\n' 05:46:52.882257 < 22 bytes data, client => server 05:46:52.882271 'PASS ftp@example.com\r\n' 05:46:52.882400 Received DATA (on stdin) 05:46:52.882415 > 30 bytes data, server => client 05:46:52.882425 '230 Welcome you silly person\r\n' 05:46:52.882484 < 5 bytes data, client => server 05:46:52.882500 'PWD\r\n' 05:46:52.882633 Received DATA (on stdin) 05:46:52.882646 > 30 bytes data, server => client 05:46:52.882657 '257 "/" is current directory\r\n' 05:46:52.883549 < 6 bytes data, client => server 05:46:52.883568 'EPSV\r\n' 05:46:52.891656 Received DATA (on stdin) 05:46:52.891673 > 39 bytes data, server => client 05:46:52.891684 '229 Entering Passive Mode (|||46507|)\r\n' 05:46:52.891835 < 8 bytes data, client => server 05:46:52.891850 'TYPE I\r\n' 05:46:52.892077 Received DATA (on stdin) 05:46:52.892088 > 33 bytes data, server => client 05:46:52.892099 '200 I modify TYPE as you wanted\r\n' 05:46:52.892153 < 21 bytes data, client => server 05:46:52.892165 'SIZE verifiedserver\r\n' 05:46:52.892282 Received DATA (on stdin) 05:46:52.892293 > 8 bytes data, server => client 05:46:52.892304 '213 17\r\n' 05:46:52.892356 < 21 bytes data, client => server 05:46:52.892367 'RETR verifiedserver\r\n' 05:46:52.892596 Received DATA (on stdin) 05:46:52.892609 > 29 bytes data, server => client 05:46:52.892620 '150 Binary junk (17 bytes).\r\n' 05:46:52.893125 Received DATA (on stdin) 05:46:52.893137 > 28 bytes data, server => client 05:46:52.893148 '226 File transfer complete\r\n' 05:46:52.940505 < 6 bytes data, client => server 05:46:52.940546 'QUIT\r\n' 05:46:52.940945 Received DATA (on stdin) 05:46:52.940960 > 18 bytes data, server => client 05:46:52.940972 '221 bye bye baby\r\n' 05:46:52.942788 ====> Client disconnect 05:46:52.942978 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:53.890990 Running IPv4 version 05:46:53.891050 Listening on port 46507 05:46:53.891083 Wrote pid 113336 to log/18/server/ftp_sockdata.pid 05:46:53.891392 Received PING (on stdin) 05:46:53.891485 Received PORT (on stdin) 05:46:53.891871 ====> Client connect 05:46:53.892676 Received DATA (on stdin) 05:46:53.892690 > 17 bytes data, server => client 05:46:53.892700 'WE ROOLZ: 81205\r\n' 05:46:53.892725 Received DISC (on stdin) 05:46:53.892737 ====> Client forcibly disconnected 05:46:53.892867 Received QUIT (on stdin) 05:46:53.892877 quits 05:46:53.892939 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 698 === End of file server.cmd === Start of file valgrind698 ==113445== ==113445== Process terminating with default action of signal 4 (SIGILL) ==113445== Illegal opcode at address 0x4014883 ==113445== at 0x4014883: getparameter (tool_getparam.c:2899) ==113445== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113445== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113445== by 0x4004208: main (tool_main.c:189) === End of file valgrind698 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:37585/689 > log/9/stdout689 2> log/9/stderr689 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:41799/path/mine http://127.0.0.1:41799/path/6940010 > log/2/stdout694 2> log/2/stderr694 test 0696...[CONNECT_ONLY and doing a second curl_easy_perform] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33035 > log/6/stdout696 2> log/6/stderr696 696: stdout FAILED: --- log/6/check-expected 2026-03-14 05:46:55.587949353 +0000 +++ log/6/check-generated 2026-03-14 05:46:55.587949353 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/6/ directory after test 696 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33035 > log/6/stdout696 2> log/6/stderr696 === End of file commands.log === Start of file http_server.log 05:46:52.854683 ====> Client connect 05:46:52.854722 accept_connection 3 returned 4 05:46:52.854777 accept_connection 3 returned 0 05:46:52.854795 Read 93 bytes 05:46:52.854806 Process 93 bytes request 05:46:52.854820 Got request: GET /verifiedserver HTTP/1.1 05:46:52.854830 Are-we-friendly question received 05:46:52.854861 Wrote request (93 bytes) input to log/6/server.input 05:46:52.854879 Identifying ourselves as friends 05:46:52.854948 Response sent (56 bytes) and written to log/6/server.response 05:46:52.854960 special request received, no persistency 05:46:52.854970 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 37872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 696 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stderr696 URL: http://127.0.0.1:33035 === End of file stderr696 === Start of file valgrind696 ==113365== ==113365== Process terminating with default action of signal 4 (SIGILL) ==113365== Illegal opcode at address 0x51D8933 ==113365== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==113365== by 0x51D8933: UnknownInlinedFun (request.c:40) ==113365== by 0x51D8933: Curl_open (url.c:503) ==113365== by 0x514E50F: curl_easy_init (easy.c:350) ==113365== by 0x4018F40: test_lib556.lto_priv.0 (lib556.c:37) ==113365== by 0x40034B5: main (first.c:279) === End of file valgrind696 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/9/server/rtsp_server.pid" --portfile "log/9/server/rtsp_server.port" --logfile "log/9/rtsp_server.log" --logdir "log/9" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 112791 port 37585 * pid rtsp => 112791 112791 test 0689...[fuzzing crash issue #12701] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:37585/689 > log/9/stdout689 2> log/9/stderr689 689: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 689 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:37585/689 > log/9/stdout689 2> log/9/stderr689 === End of file commands.log === Start of file rtsp_server.log 05:46:52.326050 Running IPv4 version on port 37585 05:46:52.326170 Wrote pid 112791 to log/9/server/rtsp_server.pid 05:46:52.326210 Wrote port 37585 to log/9/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 689 === End of file server.cmd === Start of file stderr689 URL: rtsp://127.0.0.1:37585/689 === End of file stderr689 === Start of file valgrind689 ==113644== ==113644== Process terminating with default action of signal 4 (SIGILL) ==113644== Illegal opcode at address 0x51D8933 ==113644== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==113644== by 0x51D8933: UnknownInlinedFun (request.c:40) ==113644== by 0x51D8933: Curl_open (url.c:503) ==113644== by 0x514E50F: curl_easy_init (easy.c:350) ==113644== by 0x40146CA: test_lib567.lto_priv.0 (lib567.c:40) ==113644== by 0x40034B5: main (first.c:279) === End of file valgrind689 test 0694...[HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:41799/path/mine http://127.0.0.1:41799/path/6940010 > log/2/stdout694 2> log/2/stderr694 694: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 694 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:41799/path/mine http://127.0.0.1:41799/path/6940010 > log/2/stdout694 2> log/2/stderr694 === End of file commands.log === Start of file http_server.log 05:46:53.790416 ====> Client connect 05:46:53.790457 accept_connection 3 returned 4 05:46:53.790477 accept_connection 3 returned 0 05:46:53.790496 Read 93 bytes 05:46:53.790507 Process 93 bytes request 05:46:53.790520 Got request: GET /verifiedserver HTTP/1.1 05:46:53.790530 Are-we-friendly question received 05:46:53.790562 Wrote request (93 bytes) input to log/2/server.input 05:46:53.790582 Identifying ourselves as friends 05:46:53.790663 Response sent (56 bytes) and written to log/2/server.response 05:46:53.790675 special request received, no persistency 05:46:53.790684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 44960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 694 === End of file server.cmd === Start of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind704 ../src/curl -q --output log/12/curl704.out --include --trace-ascii log/12/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:36353/704 > log/12/stdout704 2> log/12/stderr704 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind700 ../src/curl -q --output log/3/curl700.out --include --trace-ascii log/3/trace700 --trace-time --socks4 127.0.0.1:45023 http://127.0.0.1:39591/700 > log/3/stdout700 2> log/3/stderr700 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind705 ../src/curl -q --output log/7/curl705.out --include --trace-ascii log/7/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:39013/705 > log/7/stdout705 2> log/7/stderr705 ile server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr694 URL: http://127.0.0.1:41799/path/mine === End of file stderr694 === Start of file valgrind694 ==113319== ==113319== Process terminating with default action of signal 4 (SIGILL) ==113319== Illegal opcode at address 0x51D8933 ==113319== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==113319== by 0x51D8933: UnknownInlinedFun (request.c:40) ==113319== by 0x51D8933: Curl_open (url.c:503) ==113319== by 0x514E50F: curl_easy_init (easy.c:350) ==113319== by 0x4022DA1: test_lib694.lto_priv.0 (lib694.c:38) ==113319== by 0x40034B5: main (first.c:279) === End of file valgrind694 test 0704...[Attempt connect to non-listening SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind704 ../src/curl -q --output log/12/curl704.out --include --trace-ascii log/12/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:36353/704 > log/12/stdout704 2> log/12/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/12/ directory after test 704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind704 ../src/curl -q --output log/12/curl704.out --include --trace-ascii log/12/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:36353/704 > log/12/stdout704 2> log/12/stderr704 === End of file commands.log === Start of file http_server.log 05:46:54.470411 ====> Client connect 05:46:54.470467 accept_connection 3 returned 4 05:46:54.470490 accept_connection 3 returned 0 05:46:54.470509 Read 93 bytes 05:46:54.470519 Process 93 bytes request 05:46:54.470534 Got request: GET /verifiedserver HTTP/1.1 05:46:54.470543 Are-we-friendly question received 05:46:54.470571 Wrote request (93 bytes) input to log/12/server.input 05:46:54.470589 Identifying ourselves as friends 05:46:54.470684 Response sent (56 bytes) and written to log/12/server.response 05:46:54.470697 special request received, no persistency 05:46:54.470706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 37624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind704 ==113721== ==113721== Process terminating with default action of signal 4 (SIGILL) ==113721== Illegal opcode at address 0x4014883 ==113721== at 0x4014883: getparameter (tool_getparam.c:2899) ==113721== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113721== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113721== by 0x4004208: main (tool_main.c:189) === End of file valgrind704 startnew: ./server/servers socksd --port 0 --pidfile log/3/server/socks_server.pid --portfile log/3/server/socks_server.port --reqfile log/3/socksd-request.log --logfile log/3/socks_server.log --backend 127.0.0.1 --config log/3/server.cmd RUN: SOCKS server is now running PID 113434 * pid socks => 113434 113434 test 0700...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind700 ../src/curl -q --output log/3/curl700.out --include --trace-ascii log/3/trace700 --trace-time --socks4 127.0.0.1:45023 http://127.0.0.1:39591/700 > log/3/stdout700 2> log/3/stderr700 700: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 700 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind700 ../src/curl -q --output log/3/curl700.out --include --trace-ascii log/3/trace700 --trace-time --socks4 127.0.0.1:45023 http://127.0.0.1:39591/700 > log/3/stdout700 2> log/3/stderr700 === End of file commands.log === Start of file http_server.log 05:46:53.934650 ====> Client connect 05:46:53.937788 accept_connection 3 returned 4 05:46:53.937816 accept_connection 3 returned 0 05:46:53.937831 Read 93 bytes 05:46:53.937841 Process 93 bytes request 05:46:53.937854 Got request: GET /verifiedserver HTTP/1.1 05:46:53.937863 Are-we-friendly question received 05:46:53.937897 Wrote request (93 bytes) input to log/3/server.input 05:46:53.937913 Identifying ourselves as friends 05:46:53.937973 Response sent (56 bytes) and written to log/3/server.response 05:46:53.937983 special request received, no persistency 05:46:53.937991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 41392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 700 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file socks_server.log 05:46:53.950982 Running IPv4 version 05:46:53.951082 Listening on port 45023 05:46:53.951127 Wrote pid 113434 to log/3/server/socks_server.pid 05:46:53.951159 Wrote port 45023 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==113861== ==113861== Process terminating with default action of signal 4 (SIGILL) ==113861== Illegal opcode at address 0x4014883 ==113861== at 0x4014883: getparameter (tool_getparam.c:2899) ==113861== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113861== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113861== by 0x4004208: main (tool_main.c:189) === End of file valgrind700 test 0705...[Attempt connect to non-listening SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind705 ../src/curl -q --output log/7/curl705.out --include --trace-ascii log/7/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:39013/705 > log/7/stdout705 2> log/7/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/7/ directory after test 705 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind705 ../src/curl -q --output log/7/curl705.out --include --trace-ascii log/7/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:39013/705 > log/7/stdout705 2> log/7/stderr705 === End of file commands.log === Start of file http_server.log 05:46:53.853752 ====> Client connect 05:46:53.853791 accept_connection 3 returned 4 05:46:53.853810 accept_connecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind702 ../src/curl -q --output log/22/curl702.out --include --trace-ascii log/22/trace702 --trace-time --socks4 127.0.0.1:42387 http://127.0.0.1:47 > log/22/stdout702 2> log/22/stderr702 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind703 ../src/curl -q --output log/15/curl703.out --include --trace-ascii log/15/trace703 --trace-time --socks5 127.0.0.1:36517 http://127.0.0.1:47 > log/15/stdout703 2> log/15/stderr703 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind701 ../src/curl -q --output log/5/curl701.out --include --trace-ascii log/5/trace701 --trace-time --socks5 127.0.0.1:38603 http://127.0.0.1:35621/701 > log/5/stdout701 2> log/5/stderr701 tion 3 returned 0 05:46:53.853826 Read 93 bytes 05:46:53.853835 Process 93 bytes request 05:46:53.853849 Got request: GET /verifiedserver HTTP/1.1 05:46:53.853859 Are-we-friendly question received 05:46:53.853885 Wrote request (93 bytes) input to log/7/server.input 05:46:53.853902 Identifying ourselves as friends 05:46:53.853968 Response sent (56 bytes) and written to log/7/server.response 05:46:53.853978 special request received, no persistency 05:46:53.853987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 56920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 705 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind705 ==113805== ==113805== Process terminating with default action of signal 4 (SIGILL) ==113805== Illegal opcode at address 0x4014883 ==113805== at 0x4014883: getparameter (tool_getparam.c:2899) ==113805== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113805== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113805== by 0x4004208: main (tool_main.c:189) === End of file valgrind705 startnew: ./server/servers socksd --port 0 --pidfile log/22/server/socks_server.pid --portfile log/22/server/socks_server.port --reqfile log/22/socksd-request.log --logfile log/22/socks_server.log --backend 127.0.0.1 --config log/22/server.cmd RUN: SOCKS server is now running PID 113550 * pid socks => 113550 113550 test 0702...[Attempt connect to non-listening HTTP server via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind702 ../src/curl -q --output log/22/curl702.out --include --trace-ascii log/22/trace702 --trace-time --socks4 127.0.0.1:42387 http://127.0.0.1:47 > log/22/stdout702 2> log/22/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/22/ directory after test 702 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind702 ../src/curl -q --output log/22/curl702.out --include --trace-ascii log/22/trace702 --trace-time --socks4 127.0.0.1:42387 http://127.0.0.1:47 > log/22/stdout702 2> log/22/stderr702 === End of file commands.log === Start of file server.cmd response 91 Testnum 702 === End of file server.cmd === Start of file socks_server.log 05:46:53.032638 Running IPv4 version 05:46:53.032719 Listening on port 42387 05:46:53.032753 Wrote pid 113550 to log/22/server/socks_server.pid 05:46:53.032781 Wrote port 42387 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==113889== ==113889== Process terminating with default action of signal 4 (SIGILL) ==113889== Illegal opcode at address 0x4014883 ==113889== at 0x4014883: getparameter (tool_getparam.c:2899) ==113889== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113889== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113889== by 0x4004208: main (tool_main.c:189) === End of file valgrind702 startnew: ./server/servers socksd --port 0 --pidfile log/15/server/socks_server.pid --portfile log/15/server/socks_server.port --reqfile log/15/socksd-request.log --logfile log/15/socks_server.log --backend 127.0.0.1 --config log/15/server.cmd RUN: SOCKS server is now running PID 113623 * pid socks => 113623 113623 test 0703...[Attempt connect to non-listening HTTP server via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind703 ../src/curl -q --output log/15/curl703.out --include --trace-ascii log/15/trace703 --trace-time --socks5 127.0.0.1:36517 http://127.0.0.1:47 > log/15/stdout703 2> log/15/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/15/ directory after test 703 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind703 ../src/curl -q --output log/15/curl703.out --include --trace-ascii log/15/trace703 --trace-time --socks5 127.0.0.1:36517 http://127.0.0.1:47 > log/15/stdout703 2> log/15/stderr703 === End of file commands.log === Start of file server.cmd response 1 Testnum 703 === End of file server.cmd === Start of file socks_server.log 05:46:53.142720 Running IPv4 version 05:46:53.142820 Listening on port 36517 05:46:53.142859 Wrote pid 113623 to log/15/server/socks_server.pid 05:46:53.142888 Wrote port 36517 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==114017== ==114017== Process terminating with default action of signal 4 (SIGILL) ==114017== Illegal opcode at address 0x4014883 ==114017== at 0x4014883: getparameter (tool_getparam.c:2899) ==114017== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114017== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114017== by 0x4004208: main (tool_main.c:189) === End of file valgrind703 startnew: ./server/servers socksd --port 0 --pidfile log/5/server/socks_server.pid --portfile log/5/server/socks_server.port --reqfile log/5/socksd-request.log --logfile log/5/socks_server.log --backend 127.0.0.1 --config log/5/server.cmd RUN: SOCKS server is now running PID 113510 * pid socks => 113510 113510 test 0701...[HTTP GET via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind701 ../src/curl -q --output log/5/curl701.out --include --trace-ascii log/5/trace701 --trace-time --socks5 127.0.0.1:38603 http://127.0.0.1:35621/701 > log/5/stdout701 2> log/5/stderr701 701: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 701 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind701 ../src/curl -q --output log/5/curl701.out --include --trace-ascii log/5/trace701 --trace-time --socks5 127.0.0.1:38603 http://127.0.0.1:35621/701 > log/5/stdout701 2> log/5/stderr701 === End of file commands.log === Start of file http_server.log 05:46:53.973606 ====> Client connect 05:46:53.973661 accept_connection 3 returned 4 05:46:53.973682 accept_connection 3 returned 0 05:46:53.973699 Read 93 bytes 05:46:53.973709 Process 93 bytes request 05:46:53.973723 Got request: GET /verifiedserver HTTP/1.1 05:46:53.973733 Are-we-friendly question received 05:46:53.973774 Wrote request (93 bytes) input to log/5/server.input 05:46:53.973793 Identifying ourselves as friends 05:46:53.973875 Response sent (56 bytes) and written to log/5/server.response 05:46:53.973889 special request received, no persistency 05:46:53.973899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 60562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind718 ../src/curl -q --output log/23/curl718.out --include --trace-ascii log/23/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:33217 --proxytunnel > log/23/stdout718 2> log/23/stderr718 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind706 ../src/curl -q --output log/11/curl706.out --include --trace-ascii log/11/trace706 --trace-time --socks4 127.0.0.1:43663 ftp://127.0.0.1:37471/ > log/11/stdout706 2> log/11/stderr706 7.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 701 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file socks_server.log 05:46:53.994843 Running IPv4 version 05:46:53.994938 Listening on port 38603 05:46:53.994986 Wrote pid 113510 to log/5/server/socks_server.pid 05:46:53.995021 Wrote port 38603 to log/5/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==113882== ==113882== Process terminating with default action of signal 4 (SIGILL) ==113882== Illegal opcode at address 0x4014883 ==113882== at 0x4014883: getparameter (tool_getparam.c:2899) ==113882== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==113882== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==113882== by 0x4004208: main (tool_main.c:189) === End of file valgrind701 test 0718...[HTTP proxy CONNECT (no auth) with proxy returning 407 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind718 ../src/curl -q --output log/23/curl718.out --include --trace-ascii log/23/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:33217 --proxytunnel > log/23/stdout718 2> log/23/stderr718 718: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 718 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind718 ../src/curl -q --output log/23/curl718.out --include --trace-ascii log/23/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:33217 --proxytunnel > log/23/stdout718 2> log/23/stderr718 === End of file commands.log === Start of file http_server.log 05:46:56.030437 ====> Client connect 05:46:56.030489 accept_connection 3 returned 4 05:46:56.030511 accept_connection 3 returned 0 05:46:56.030529 Read 93 bytes 05:46:56.030540 Process 93 bytes request 05:46:56.030554 Got request: GET /verifiedserver HTTP/1.1 05:46:56.030564 Are-we-friendly question received 05:46:56.030596 Wrote request (93 bytes) input to log/23/server.input 05:46:56.030615 Identifying ourselves as friends 05:46:56.030699 Response sent (56 bytes) and written to log/23/server.response 05:46:56.030711 special request received, no persistency 05:46:56.030720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 51730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 718 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind718 ==114315== ==114315== Process terminating with default action of signal 4 (SIGILL) ==114315== Illegal opcode at address 0x4014883 ==114315== at 0x4014883: getparameter (tool_getparam.c:2899) ==114315== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114315== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114315== by 0x4004208: main (tool_main.c:189) === End of file valgrind718 startnew: ./server/servers socksd --port 0 --pidfile log/11/server/socks_server.pid --portfile log/11/server/socks_server.port --reqfile log/11/socksd-request.log --logfile log/11/socks_server.log --backend 127.0.0.1 --config log/11/server.cmd RUN: SOCKS server is now running PID 113871 * pid socks => 113871 113871 test 0706...[FTP dir list PASV via SOCKS4] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind706 ../src/curl -q --output log/11/curl706.out --include --trace-ascii log/11/trace706 --trace-time --socks4 127.0.0.1:43663 ftp://127.0.0.1:37471/ > log/11/stdout706 2> log/11/stderr706 706: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 706 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind706 ../src/curl -q --output log/11/curl706.out --include --trace-ascii log/11/trace706 --trace-time --socks4 127.0.0.1:43663 ftp://127.0.0.1:37471/ > log/11/stdout706 2> log/11/stderr706 === End of file commands.log === Start of file ftp_server.log 05:46:54.485568 ====> Client connect 05:46:54.485783 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:54.492503 < "USER anonymous" 05:46:54.492560 > "331 We are happy you popped in![CR][LF]" 05:46:54.492765 < "PASS ftp@example.com" 05:46:54.492792 > "230 Welcome you silly person[CR][LF]" 05:46:54.492922 < "PWD" 05:46:54.492950 > "257 "/" is current directory[CR][LF]" 05:46:54.493089 < "EPSV" 05:46:54.493113 ====> Passive DATA channel requested by client 05:46:54.493126 DATA sockfilt for passive data channel starting... 05:46:54.497196 DATA sockfilt for passive data channel started (pid 113845) 05:46:54.497340 DATA sockfilt for passive data channel listens on port 37165 05:46:54.497398 > "229 Entering Passive Mode (|||37165|)[CR][LF]" 05:46:54.497422 Client has been notified that DATA conn will be accepted on port 37165 05:46:54.497706 Client connects to port 37165 05:46:54.497741 ====> Client established passive DATA connection on port 37165 05:46:54.497880 < "TYPE I" 05:46:54.497915 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:54.499175 < "SIZE verifiedserver" 05:46:54.499230 > "213 17[CR][LF]" 05:46:54.499417 < "RETR verifiedserver" 05:46:54.499457 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:54.499561 =====> Closing passive DATA connection... 05:46:54.499587 Server disconnects passive DATA connection 05:46:54.499843 Server disconnected passive DATA connection 05:46:54.499878 DATA sockfilt for passive data channel quits (pid 113845) 05:46:54.502229 DATA sockfilt for passive data channel quit (pid 113845) 05:46:54.502264 =====> Closed passive DATA connection 05:46:54.502298 > "226 File transfer complete[CR][LF]" 05:46:54.549254 < "QUIT" 05:46:54.549335 > "221 bye bye baby[CR][LF]" 05:46:54.550566 MAIN sockfilt said DISC 05:46:54.550603 ====> Client disconnected 05:46:54.550690 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:54.946094 ====> Client connect 05:46:54.947265 Received DATA (on stdin) 05:46:54.947292 > 146 bytes data, server => client 05:46:54.947305 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:54.947316 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:54.947326 '220 \___|\___/|_| \_\_____|\r\n' 05:46:54.953718 < 16 bytes data, client => server 05:46:54.953760 'USER anonymous\r\n' 05:46:54.954022 ReceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind707 ../src/curl -q --output log/10/curl707.out --include --trace-ascii log/10/trace707 --trace-time --socks5 127.0.0.1:45573 ftp://127.0.0.1:32809/ > log/10/stdout707 2> log/10/stderr707 ived DATA (on stdin) 05:46:54.954033 > 33 bytes data, server => client 05:46:54.954043 '331 We are happy you popped in!\r\n' 05:46:54.954142 < 22 bytes data, client => server 05:46:54.954152 'PASS ftp@example.com\r\n' 05:46:54.954248 Received DATA (on stdin) 05:46:54.954258 > 30 bytes data, server => client 05:46:54.954267 '230 Welcome you silly person\r\n' 05:46:54.954308 < 5 bytes data, client => server 05:46:54.954317 'PWD\r\n' 05:46:54.954405 Received DATA (on stdin) 05:46:54.954414 > 30 bytes data, server => client 05:46:54.954423 '257 "/" is current directory\r\n' 05:46:54.954475 < 6 bytes data, client => server 05:46:54.954484 'EPSV\r\n' 05:46:54.958895 Received DATA (on stdin) 05:46:54.958912 > 39 bytes data, server => client 05:46:54.958923 '229 Entering Passive Mode (|||37165|)\r\n' 05:46:54.959222 < 8 bytes data, client => server 05:46:54.959236 'TYPE I\r\n' 05:46:54.960437 Received DATA (on stdin) 05:46:54.960456 > 33 bytes data, server => client 05:46:54.960469 '200 I modify TYPE as you wanted\r\n' 05:46:54.960530 < 21 bytes data, client => server 05:46:54.960547 'SIZE verifiedserver\r\n' 05:46:54.960703 Received DATA (on stdin) 05:46:54.960716 > 8 bytes data, server => client 05:46:54.960725 '213 17\r\n' 05:46:54.960777 < 21 bytes data, client => server 05:46:54.960791 'RETR verifiedserver\r\n' 05:46:54.961150 Received DATA (on stdin) 05:46:54.961163 > 29 bytes data, server => client 05:46:54.961174 '150 Binary junk (17 bytes).\r\n' 05:46:54.963764 Received DATA (on stdin) 05:46:54.963779 > 28 bytes data, server => client 05:46:54.963791 '226 File transfer complete\r\n' 05:46:55.010475 < 6 bytes data, client => server 05:46:55.010518 'QUIT\r\n' 05:46:55.010809 Received DATA (on stdin) 05:46:55.010823 > 18 bytes data, server => client 05:46:55.010834 '221 bye bye baby\r\n' 05:46:55.011969 ====> Client disconnect 05:46:55.012157 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:54.958276 Running IPv4 version 05:46:54.958375 Listening on port 37165 05:46:54.958421 Wrote pid 113845 to log/11/server/ftp_sockdata.pid 05:46:54.958584 Received PING (on stdin) 05:46:54.958696 Received PORT (on stdin) 05:46:54.959108 ====> Client connect 05:46:54.961053 Received DATA (on stdin) 05:46:54.961067 > 17 bytes data, server => client 05:46:54.961077 'WE ROOLZ: 81984\r\n' 05:46:54.961108 Received DISC (on stdin) 05:46:54.961122 ====> Client forcibly disconnected 05:46:54.961349 Received QUIT (on stdin) 05:46:54.961363 quits 05:46:54.961425 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 706 === End of file server.cmd === Start of file socks_server.log 05:46:54.021086 Running IPv4 version 05:46:54.021197 Listening on port 43663 05:46:54.021241 Wrote pid 113871 to log/11/server/socks_server.pid 05:46:54.021273 Wrote port 43663 to log/11/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==114316== ==114316== Process terminating with default action of signal 4 (SIGILL) ==114316== Illegal opcode at address 0x4014883 ==114316== at 0x4014883: getparameter (tool_getparam.c:2899) ==114316== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114316== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114316== by 0x4004208: main (tool_main.c:189) === End of file valgrind706 startnew: ./server/servers socksd --port 0 --pidfile log/10/server/socks_server.pid --portfile log/10/server/socks_server.port --reqfile log/10/socksd-request.log --logfile log/10/socks_server.log --backend 127.0.0.1 --config log/10/server.cmd RUN: SOCKS server is now running PID 114086 * pid socks => 114086 114086 test 0707...[FTP dir list PASV via SOCKS5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind707 ../src/curl -q --output log/10/curl707.out --include --trace-ascii log/10/trace707 --trace-time --socks5 127.0.0.1:45573 ftp://127.0.0.1:32809/ > log/10/stdout707 2> log/10/stderr707 707: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 707 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind707 ../src/curl -q --output log/10/curl707.out --include --trace-ascii log/10/trace707 --trace-time --socks5 127.0.0.1:45573 ftp://127.0.0.1:32809/ > log/10/stdout707 2> log/10/stderr707 === End of file commands.log === Start of file ftp_server.log 05:46:54.718996 ====> Client connect 05:46:54.725596 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:54.725955 < "USER anonymous" 05:46:54.728940 > "331 We are happy you popped in![CR][LF]" 05:46:54.729168 < "PASS ftp@example.com" 05:46:54.729208 > "230 Welcome you silly person[CR][LF]" 05:46:54.729389 < "PWD" 05:46:54.729430 > "257 "/" is current directory[CR][LF]" 05:46:54.729628 < "EPSV" 05:46:54.729657 ====> Passive DATA channel requested by client 05:46:54.729674 DATA sockfilt for passive data channel starting... 05:46:54.739600 DATA sockfilt for passive data channel started (pid 114034) 05:46:54.739795 DATA sockfilt for passive data channel listens on port 41241 05:46:54.739855 > "229 Entering Passive Mode (|||41241|)[CR][LF]" 05:46:54.739874 Client has been notified that DATA conn will be accepted on port 41241 05:46:54.740221 Client connects to port 41241 05:46:54.740260 ====> Client established passive DATA connection on port 41241 05:46:54.740367 < "TYPE I" 05:46:54.740410 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:54.740863 < "SIZE verifiedserver" 05:46:54.740931 > "213 17[CR][LF]" 05:46:54.741128 < "RETR verifiedserver" 05:46:54.741172 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:54.741271 =====> Closing passive DATA connection... 05:46:54.741289 Server disconnects passive DATA connection 05:46:54.741452 Server disconnected passive DATA connection 05:46:54.741477 DATA sockfilt for passive data channel quits (pid 114034) 05:46:54.741732 DATA sockfilt for passive data channel quit (pid 114034) 05:46:54.741764 =====> Closed passive DATA connection 05:46:54.741795 > "226 File transfer complete[CR][LF]" 05:46:54.789037 < "QUIT" 05:46:54.789112 > "221 bye bye baby[CR][LF]" 05:46:54.792252 MAIN sockfilt said DISC 05:46:54.792303 ====> Client disconnected 05:46:54.792386 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:55.180336 ====> Client connect 05:46:55.183657 Received DATA (on stdin) 05:46:55.183687 > 146 bytes data, server => client 05:46:55.187108 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:55.187125 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:55.187134 '220 \___|\___/|_| \_\_____|\r\n' 05:46:55.187256 < 16 bytes data, client => server 05:46:55.187269 'USER anonymous\r\n' 05:46:55.190326 Received DATA (on stdin) 05:46:55.190348 > 33 bytes data, server => client 05:46:55.190415 '331 We are happy you popped in!\r\n' 05:46:55.190500 < 22 bytes data, client => server 05:46:55.190513 'PASS ftp@example.com\r\n' 05:46:55.190671 Received DATA (on stdin) 05:46:55.190684 > 30 bytes data, server => client 05:46:55.190695 '230 Welcome you silly person\r\n' 05:46:55.190752 < 5 bytes data, client => server 05:46:55.190766 'PWD\r\n' 05:46:55.190893 Received DATA (on stdin) 05:46:55.190908 > 30 bytes data, server => client 05:46:55.190919 '257 "/" is current directory\r\n' 05:46:55.190991 < 6 bytes data, client => server 05:46:55.191005 'EPSV\r\n' 05:46:55.201347 Received DATA (on stdin) 05:46:55.201364 > 39 bytes data, server => client 05:46:55.201375 '229 Entering Passive Mode (|||41241|)\r\n' 05:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind722 ../src/curl -q --output log/9/curl722.out --include --trace-ascii log/9/trace722 --trace-time --ipfs-gateway http://127.0.0.1:33885 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout722 2> log/9/stderr722 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind723 ../src/curl -q --output log/2/curl723.out --include --trace-ascii log/2/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout723 2> log/2/stderr723 46:55.201620 < 8 bytes data, client => server 05:46:55.201634 'TYPE I\r\n' 05:46:55.201874 Received DATA (on stdin) 05:46:55.201888 > 33 bytes data, server => client 05:46:55.201898 '200 I modify TYPE as you wanted\r\n' 05:46:55.202202 < 21 bytes data, client => server 05:46:55.202221 'SIZE verifiedserver\r\n' 05:46:55.202400 Received DATA (on stdin) 05:46:55.202413 > 8 bytes data, server => client 05:46:55.202424 '213 17\r\n' 05:46:55.202488 < 21 bytes data, client => server 05:46:55.202502 'RETR verifiedserver\r\n' 05:46:55.202839 Received DATA (on stdin) 05:46:55.202851 > 29 bytes data, server => client 05:46:55.202860 '150 Binary junk (17 bytes).\r\n' 05:46:55.203256 Received DATA (on stdin) 05:46:55.203268 > 28 bytes data, server => client 05:46:55.203278 '226 File transfer complete\r\n' 05:46:55.247155 < 6 bytes data, client => server 05:46:55.247192 'QUIT\r\n' 05:46:55.250550 Received DATA (on stdin) 05:46:55.250574 > 18 bytes data, server => client 05:46:55.250584 '221 bye bye baby\r\n' 05:46:55.251655 ====> Client disconnect 05:46:55.255622 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:54.195120 Running IPv4 version 05:46:54.195200 Listening on port 41241 05:46:54.195238 Wrote pid 114034 to log/10/server/ftp_sockdata.pid 05:46:54.200956 Received PING (on stdin) 05:46:54.201133 Received PORT (on stdin) 05:46:54.201587 ====> Client connect 05:46:54.202750 Received DATA (on stdin) 05:46:54.202762 > 17 bytes data, server => client 05:46:54.202771 'WE ROOLZ: 81057\r\n' 05:46:54.202801 Received DISC (on stdin) 05:46:54.202812 ====> Client forcibly disconnected 05:46:54.202944 Received QUIT (on stdin) 05:46:54.202954 quits 05:46:54.203027 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 707 === End of file server.cmd === Start of file socks_server.log 05:46:54.264250 Running IPv4 version 05:46:54.264350 Listening on port 45573 05:46:54.264394 Wrote pid 114086 to log/10/server/socks_server.pid 05:46:54.264425 Wrote port 45573 to log/10/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==114459== ==114459== Process terminating with default action of signal 4 (SIGILL) ==114459== Illegal opcode at address 0x4014883 ==114459== at 0x4014883: getparameter (tool_getparam.c:2899) ==114459== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114459== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114459== by 0x4004208: main (tool_main.c:189) === End of file valgrind707 test 0722...[IPFS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind722 ../src/curl -q --output log/9/curl722.out --include --trace-ascii log/9/trace722 --trace-time --ipfs-gateway http://127.0.0.1:33885 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout722 2> log/9/stderr722 722: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 722 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind722 ../src/curl -q --output log/9/curl722.out --include --trace-ascii log/9/trace722 --trace-time --ipfs-gateway http://127.0.0.1:33885 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout722 2> log/9/stderr722 === End of file commands.log === Start of file http_server.log 05:46:55.218893 ====> Client connect 05:46:55.218932 accept_connection 3 returned 4 05:46:55.218950 accept_connection 3 returned 0 05:46:55.218967 Read 93 bytes 05:46:55.218977 Process 93 bytes request 05:46:55.218993 Got request: GET /verifiedserver HTTP/1.1 05:46:55.219002 Are-we-friendly question received 05:46:55.219031 Wrote request (93 bytes) input to log/9/server.input 05:46:55.219050 Identifying ourselves as friends 05:46:55.219117 Response sent (56 bytes) and written to log/9/server.response 05:46:55.219129 special request received, no persistency 05:46:55.219138 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 52114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 722 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind722 ==114445== ==114445== Process terminating with default action of signal 4 (SIGILL) ==114445== Illegal opcode at address 0x4014883 ==114445== at 0x4014883: getparameter (tool_getparam.c:2899) ==114445== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114445== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114445== by 0x4004208: main (tool_main.c:189) === End of file valgrind722 test 0723...[IPFS with malformed gateway URL (bad function argument error)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind723 ../src/curl -q --output log/2/curl723.out --include --trace-ascii log/2/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout723 2> log/2/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/2/ directory after test 723 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind723 ../src/curl -q --output log/2/curl723.out --include --trace-ascii log/2/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout723 2> log/2/stderr723 === End of file commands.log === Start of file http_server.log 05:46:56.346433 ====> Client connect 05:46:56.346467 accept_connection 3 returned 4 05:46:56.346483 accept_connection 3 returned 0 05:46:56.346496 Read 93 bytes 05:46:56.346505 Process 93 bytes request 05:46:56.346517 Got request: GET /verifiedserver HTTP/1.1 05:46:56.346526 Are-we-friendly question received 05:46:56.346552 Wrote request (93 bytes) input to log/2/server.input 05:46:56.346566 Identifying ourselves as friends 05:46:56.346623 Response sent (56 bytes) and written to log/2/server.response 05:46:56.346633 special request received, no persistency 05:46:56.346641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 44966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 723 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind723 ==114547== ==114547== Process terminCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind708 ../src/curl -q --output log/21/curl708.out --include --trace-ascii log/21/trace708 --trace-time http://127.0.0.1:42891/708 > log/21/stdout708 2> log/21/stderr708 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind712 ../src/curl -q --output log/1/curl712.out --include --trace-ascii log/1/trace712 --trace-time ftp://127.0.0.1:41623/712 --proxy socks5://127.0.0.1:35113 > log/1/stdout712 2> log/1/stderr712 ating with default action of signal 4 (SIGILL) ==114547== Illegal opcode at address 0x4014883 ==114547== at 0x4014883: getparameter (tool_getparam.c:2899) ==114547== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114547== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114547== by 0x4004208: main (tool_main.c:189) === End of file valgrind723 startnew: ./server/servers socksd --port 0 --pidfile log/21/server/socks_server.pid --portfile log/21/server/socks_server.port --reqfile log/21/socksd-request.log --logfile log/21/socks_server.log --backend 127.0.0.1 --config log/21/server.cmd RUN: SOCKS server is now running PID 114090 * pid socks => 114090 114090 setenv all_proxy = socks4://127.0.0.1:43037 test 0708...[HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind708 ../src/curl -q --output log/21/curl708.out --include --trace-ascii log/21/trace708 --trace-time http://127.0.0.1:42891/708 > log/21/stdout708 2> log/21/stderr708 708: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 708 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind708 ../src/curl -q --output log/21/curl708.out --include --trace-ascii log/21/trace708 --trace-time http://127.0.0.1:42891/708 > log/21/stdout708 2> log/21/stderr708 === End of file commands.log === Start of file http_server.log 05:46:54.255728 ====> Client connect 05:46:54.255901 accept_connection 3 returned 4 05:46:54.255921 accept_connection 3 returned 0 05:46:54.255937 Read 93 bytes 05:46:54.255947 Process 93 bytes request 05:46:54.255961 Got request: GET /verifiedserver HTTP/1.1 05:46:54.255971 Are-we-friendly question received 05:46:54.255999 Wrote request (93 bytes) input to log/21/server.input 05:46:54.256016 Identifying ourselves as friends 05:46:54.256078 Response sent (56 bytes) and written to log/21/server.response 05:46:54.256090 special request received, no persistency 05:46:54.256098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 708 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file socks_server.log 05:46:54.266700 Running IPv4 version 05:46:54.266787 Listening on port 43037 05:46:54.266833 Wrote pid 114090 to log/21/server/socks_server.pid 05:46:54.266868 Wrote port 43037 to log/21/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==114469== ==114469== Process terminating with default action of signal 4 (SIGILL) ==114469== Illegal opcode at address 0x4014883 ==114469== at 0x4014883: getparameter (tool_getparam.c:2899) ==114469== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114469== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114469== by 0x4004208: main (tool_main.c:189) === End of file valgrind708 startnew: ./server/servers socksd --port 0 --pidfile log/1/server/socks_server.pid --portfile log/1/server/socks_server.port --reqfile log/1/socksd-request.log --logfile log/1/socks_server.log --backend 127.0.0.1 --config log/1/server.cmd RUN: SOCKS server is now running PID 114245 * pid socks => 114245 114245 test 0712...[FTP fetch with --proxy set to socks5://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind712 ../src/curl -q --output log/1/curl712.out --include --trace-ascii log/1/trace712 --trace-time ftp://127.0.0.1:41623/712 --proxy socks5://127.0.0.1:35113 > log/1/stdout712 2> log/1/stderr712 712: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 712 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind712 ../src/curl -q --output log/1/curl712.out --include --trace-ascii log/1/trace712 --trace-time ftp://127.0.0.1:41623/712 --proxy socks5://127.0.0.1:35113 > log/1/stdout712 2> log/1/stderr712 === End of file commands.log === Start of file ftp_server.log 05:46:55.155693 ====> Client connect 05:46:55.155865 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:55.159034 < "USER anonymous" 05:46:55.159077 > "331 We are happy you popped in![CR][LF]" 05:46:55.169314 < "PASS ftp@example.com" 05:46:55.169374 > "230 Welcome you silly person[CR][LF]" 05:46:55.172528 < "PWD" 05:46:55.172603 > "257 "/" is current directory[CR][LF]" 05:46:55.172857 < "EPSV" 05:46:55.172893 ====> Passive DATA channel requested by client 05:46:55.172911 DATA sockfilt for passive data channel starting... 05:46:55.182569 DATA sockfilt for passive data channel started (pid 114208) 05:46:55.182746 DATA sockfilt for passive data channel listens on port 36703 05:46:55.182802 > "229 Entering Passive Mode (|||36703|)[CR][LF]" 05:46:55.182825 Client has been notified that DATA conn will be accepted on port 36703 05:46:55.183138 Client connects to port 36703 05:46:55.183174 ====> Client established passive DATA connection on port 36703 05:46:55.183281 < "TYPE I" 05:46:55.183319 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:55.183502 < "SIZE verifiedserver" 05:46:55.183550 > "213 17[CR][LF]" 05:46:55.183722 < "RETR verifiedserver" 05:46:55.183760 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:55.183861 =====> Closing passive DATA connection... 05:46:55.183881 Server disconnects passive DATA connection 05:46:55.184142 Server disconnected passive DATA connection 05:46:55.184173 DATA sockfilt for passive data channel quits (pid 114208) 05:46:55.184467 DATA sockfilt for passive data channel quit (pid 114208) 05:46:55.184495 =====> Closed passive DATA connection 05:46:55.184526 > "226 File transfer complete[CR][LF]" 05:46:55.229193 < "QUIT" 05:46:55.229258 > "221 bye bye baby[CR][LF]" 05:46:55.230490 MAIN sockfilt said DISC 05:46:55.230530 ====> Client disconnected 05:46:55.230622 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:54.617020 ====> Client connect 05:46:54.617340 Received DATA (on stdin) 05:46:54.617354 > 146 bytes data, server => client 05:46:54.617366 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:54.617377 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:54.617387 '220 \___|\___/|_| \_\_____|\r\n' 05:46:54.620325 < 16 bytes data, client => server 05:46:54.620343 'USER anonymous\r\n' 05:46:54.620541 Received DATA (on stdin) 05:46:54.620553 > 33 bytes data, server => client 05:46:54.620564 '331 We are happy you popped in!\r\n' 05:46:54.630559 < 22 bytes data, client => server 05:46:54.630596 'PASS ftp@example.com\r\n' 05:46:54.630840 Received DATA (on stdin) 05:46:54.630853 > 30 bytes data, server => client 05:46:54.630864 '230 Welcome you silly person\r\n' 05:46:54CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind714 ../src/curl -q --output log/8/curl714.out --include --trace-ascii log/8/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:41333 --proxytunnel --proxy http://127.0.0.1:41163 > log/8/stdout714 2> log/8/stderr714 .633780 < 5 bytes data, client => server 05:46:54.633812 'PWD\r\n' 05:46:54.634079 Received DATA (on stdin) 05:46:54.634096 > 30 bytes data, server => client 05:46:54.634107 '257 "/" is current directory\r\n' 05:46:54.634191 < 6 bytes data, client => server 05:46:54.634208 'EPSV\r\n' 05:46:54.644298 Received DATA (on stdin) 05:46:54.644316 > 39 bytes data, server => client 05:46:54.644327 '229 Entering Passive Mode (|||36703|)\r\n' 05:46:54.644503 < 8 bytes data, client => server 05:46:54.644519 'TYPE I\r\n' 05:46:54.644781 Received DATA (on stdin) 05:46:54.644794 > 33 bytes data, server => client 05:46:54.644803 '200 I modify TYPE as you wanted\r\n' 05:46:54.644861 < 21 bytes data, client => server 05:46:54.644875 'SIZE verifiedserver\r\n' 05:46:54.645013 Received DATA (on stdin) 05:46:54.645026 > 8 bytes data, server => client 05:46:54.645035 '213 17\r\n' 05:46:54.645089 < 21 bytes data, client => server 05:46:54.645100 'RETR verifiedserver\r\n' 05:46:54.645342 Received DATA (on stdin) 05:46:54.645355 > 29 bytes data, server => client 05:46:54.645365 '150 Binary junk (17 bytes).\r\n' 05:46:54.645991 Received DATA (on stdin) 05:46:54.646003 > 28 bytes data, server => client 05:46:54.646014 '226 File transfer complete\r\n' 05:46:54.690446 < 6 bytes data, client => server 05:46:54.690484 'QUIT\r\n' 05:46:54.690725 Received DATA (on stdin) 05:46:54.690740 > 18 bytes data, server => client 05:46:54.690750 '221 bye bye baby\r\n' 05:46:54.691887 ====> Client disconnect 05:46:54.692094 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:55.641135 Running IPv4 version 05:46:55.641225 Listening on port 36703 05:46:55.641269 Wrote pid 114208 to log/1/server/ftp_sockdata.pid 05:46:55.643279 Received PING (on stdin) 05:46:55.644089 Received PORT (on stdin) 05:46:55.644542 ====> Client connect 05:46:55.645426 Received DATA (on stdin) 05:46:55.645444 > 17 bytes data, server => client 05:46:55.645454 'WE ROOLZ: 81663\r\n' 05:46:55.645484 Received DISC (on stdin) 05:46:55.645496 ====> Client forcibly disconnected 05:46:55.645645 Received QUIT (on stdin) 05:46:55.645657 quits 05:46:55.645727 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 712 === End of file server.cmd === Start of file socks_server.log 05:46:55.704359 Running IPv4 version 05:46:55.704470 Listening on port 35113 05:46:55.704514 Wrote pid 114245 to log/1/server/socks_server.pid 05:46:55.704545 Wrote port 35113 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==114870== ==114870== Process terminating with default action of signal 4 (SIGILL) ==114870== Illegal opcode at address 0x4014883 ==114870== at 0x4014883: getparameter (tool_getparam.c:2899) ==114870== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114870== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114870== by 0x4004208: main (tool_main.c:189) === End of file valgrind712 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/8/server/http2_server.pid" --logfile "log/8/http2_server.log" --logdir "log/8" --portfile log/8/server/http2_server.port --config log/8/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 114247 port 41163 * pid http-proxy => 114247 114247 test 0714...[FTP fetch with --proxy set to http:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind714 ../src/curl -q --output log/8/curl714.out --include --trace-ascii log/8/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:41333 --proxytunnel --proxy http://127.0.0.1:41163 > log/8/stdout714 2> log/8/stderr714 714: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 714 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind714 ../src/curl -q --output log/8/curl714.out --include --trace-ascii log/8/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:41333 --proxytunnel --proxy http://127.0.0.1:41163 > log/8/stdout714 2> log/8/stderr714 === End of file commands.log === Start of file ftp_server.log 05:46:55.217060 ====> Client connect 05:46:55.217247 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:55.217572 < "USER anonymous" 05:46:55.217620 > "331 We are happy you popped in![CR][LF]" 05:46:55.217824 < "PASS ftp@example.com" 05:46:55.217861 > "230 Welcome you silly person[CR][LF]" 05:46:55.218045 < "PWD" 05:46:55.218082 > "257 "/" is current directory[CR][LF]" 05:46:55.218268 < "EPSV" 05:46:55.218297 ====> Passive DATA channel requested by client 05:46:55.218314 DATA sockfilt for passive data channel starting... 05:46:55.225768 DATA sockfilt for passive data channel started (pid 114239) 05:46:55.225960 DATA sockfilt for passive data channel listens on port 44681 05:46:55.226025 > "229 Entering Passive Mode (|||44681|)[CR][LF]" 05:46:55.226052 Client has been notified that DATA conn will be accepted on port 44681 05:46:55.226402 Client connects to port 44681 05:46:55.226438 ====> Client established passive DATA connection on port 44681 05:46:55.226549 < "TYPE I" 05:46:55.226593 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:55.226794 < "SIZE verifiedserver" 05:46:55.226843 > "213 17[CR][LF]" 05:46:55.227026 < "RETR verifiedserver" 05:46:55.227068 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:55.227176 =====> Closing passive DATA connection... 05:46:55.227200 Server disconnects passive DATA connection 05:46:55.227377 Server disconnected passive DATA connection 05:46:55.227404 DATA sockfilt for passive data channel quits (pid 114239) 05:46:55.227679 DATA sockfilt for passive data channel quit (pid 114239) 05:46:55.227709 =====> Closed passive DATA connection 05:46:55.227742 > "226 File transfer complete[CR][LF]" 05:46:55.272502 < "QUIT" 05:46:55.272560 > "221 bye bye baby[CR][LF]" 05:46:55.273919 MAIN sockfilt said DISC 05:46:55.273957 ====> Client disconnected 05:46:55.274042 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:55.678387 ====> Client connect 05:46:55.678727 Received DATA (on stdin) 05:46:55.678746 > 146 bytes data, server => client 05:46:55.678759 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:55.678770 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:55.678780 '220 \___|\___/|_| \_\_____|\r\n' 05:46:55.678866 < 16 bytes data, client => server 05:46:55.678881 'USER anonymous\r\n' 05:46:55.679090 Received DATA (on stdin) 05:46:55.679104 > 33 bytes data, server => client 05:46:55.679116 '331 We are happy you popped in!\r\n' 05:46:55.679173 < 22 bytes data, client => server 05:46:55.679187 'PASS ftp@example.com\r\n' 05:46:55.679324 Received DATA (on stdin) 05:46:55.679338 > 30 bytes data, server => client 05:46:55.679349 '230 Welcome you silly person\r\n' 05:46:55.679403 < 5 bytes data, client => server 05:46:55.679417 'PWD\r\n' 05:46:55.679544 Received DATA (on stdin) 05:46:55.679556 > 30 bytes data, server => client 05:46:55.679567 '257 "/" is current directory\r\n' 05:46:55.679632 < 6 bytes data, client => server 05:46:55.679646 'EPSV\r\n' 05:46:55.687527 Received DATA (on stdin) 05:46:55.687547 > 39 bytes data, server => client 05:46:55.687559 '229 Entering Passive Mode (|||44681|)\r\n' 05:46:55.687800 < 8 bytes data, client => server 05:46:55.687814 'TYPE I\r\n' 05:46:55.688066 Received CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind720 ../src/curl -q --output log/18/curl720.out --include --trace-ascii log/18/trace720 --trace-time http://12.34.56.78:39913/720 --proxy socks5h://127.0.0.1:38719 > log/18/stdout720 2> log/18/stderr720 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind709 ../src/curl -q --output log/24/curl709.out --include --trace-ascii log/24/trace709 --trace-time http://127.0.0.1:33593/709 > log/24/stdout709 2> log/24/stderr709 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind710 ../src/curl -q --output log/14/curl710.out --include --trace-ascii log/14/trace710 --trace-time http://127.0.0.1:35549/710 --proxy socks5://127.0.0.1:34675 > log/14/stdout710 2> log/14/stderr710 DATA (on stdin) 05:46:55.688080 > 33 bytes data, server => client 05:46:55.688091 '200 I modify TYPE as you wanted\r\n' 05:46:55.688154 < 21 bytes data, client => server 05:46:55.688168 'SIZE verifiedserver\r\n' 05:46:55.688309 Received DATA (on stdin) 05:46:55.688321 > 8 bytes data, server => client 05:46:55.688332 '213 17\r\n' 05:46:55.688387 < 21 bytes data, client => server 05:46:55.688402 'RETR verifiedserver\r\n' 05:46:55.688760 Received DATA (on stdin) 05:46:55.688774 > 29 bytes data, server => client 05:46:55.688785 '150 Binary junk (17 bytes).\r\n' 05:46:55.689208 Received DATA (on stdin) 05:46:55.689222 > 28 bytes data, server => client 05:46:55.689233 '226 File transfer complete\r\n' 05:46:55.733780 < 6 bytes data, client => server 05:46:55.733805 'QUIT\r\n' 05:46:55.734022 Received DATA (on stdin) 05:46:55.734034 > 18 bytes data, server => client 05:46:55.734044 '221 bye bye baby\r\n' 05:46:55.735322 ====> Client disconnect 05:46:55.735501 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:55.681489 Running IPv4 version 05:46:55.681581 Listening on port 44681 05:46:55.681626 Wrote pid 114239 to log/8/server/ftp_sockdata.pid 05:46:55.687116 Received PING (on stdin) 05:46:55.687297 Received PORT (on stdin) 05:46:55.687765 ====> Client connect 05:46:55.688665 Received DATA (on stdin) 05:46:55.688678 > 17 bytes data, server => client 05:46:55.688689 'WE ROOLZ: 81360\r\n' 05:46:55.688718 Received DISC (on stdin) 05:46:55.688732 ====> Client forcibly disconnected 05:46:55.688870 Received QUIT (on stdin) 05:46:55.688882 quits 05:46:55.688953 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 05:46:55.791515 Run as proxy, CONNECT to host 127.0.0.1 05:46:55.791647 Running HTTP IPv4 version on port 41163 05:46:55.791681 Wrote pid 114247 to log/8/server/http2_server.pid 05:46:55.791704 Wrote port 41163 to log/8/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 ==114898== ==114898== Process terminating with default action of signal 4 (SIGILL) ==114898== Illegal opcode at address 0x4014883 ==114898== at 0x4014883: getparameter (tool_getparam.c:2899) ==114898== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114898== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114898== by 0x4004208: main (tool_main.c:189) === End of file valgrind714 startnew: ./server/servers socksd --port 0 --pidfile log/18/server/socks_server.pid --portfile log/18/server/socks_server.port --reqfile log/18/socksd-request.log --logfile log/18/socks_server.log --backend 127.0.0.1 --config log/18/server.cmd RUN: SOCKS server is now running PID 114317 * pid socks => 114317 114317 test 0720...[HTTP GET with IPv4 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind720 ../src/curl -q --output log/18/curl720.out --include --trace-ascii log/18/trace720 --trace-time http://12.34.56.78:39913/720 --proxy socks5h://127.0.0.1:38719 > log/18/stdout720 2> log/18/stderr720 720: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 720 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind720 ../src/curl -q --output log/18/curl720.out --include --trace-ascii log/18/trace720 --trace-time http://12.34.56.78:39913/720 --proxy socks5h://127.0.0.1:38719 > log/18/stdout720 2> log/18/stderr720 === End of file commands.log === Start of file http_server.log 05:46:55.042072 ====> Client connect 05:46:55.042109 accept_connection 3 returned 4 05:46:55.042127 accept_connection 3 returned 0 05:46:55.042142 Read 93 bytes 05:46:55.042153 Process 93 bytes request 05:46:55.042166 Got request: GET /verifiedserver HTTP/1.1 05:46:55.042176 Are-we-friendly question received 05:46:55.042203 Wrote request (93 bytes) input to log/18/server.input 05:46:55.042222 Identifying ourselves as friends 05:46:55.042287 Response sent (56 bytes) and written to log/18/server.response 05:46:55.042299 special request received, no persistency 05:46:55.042308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 40678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 720 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file socks_server.log 05:46:55.051150 Running IPv4 version 05:46:55.051229 Listening on port 38719 05:46:55.057025 Wrote pid 114317 to log/18/server/socks_server.pid 05:46:55.060836 Wrote port 38719 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 ==115435== ==115435== Process terminating with default action of signal 4 (SIGILL) ==115435== Illegal opcode at address 0x4014883 ==115435== at 0x4014883: getparameter (tool_getparam.c:2899) ==115435== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115435== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115435== by 0x4004208: main (tool_main.c:189) === End of file valgrind720 startnew: ./server/servers socksd --port 0 --pidfile log/14/server/socks_server.pid --portfile log/14/server/socks_server.port --reqfile log/14/socksd-request.log --logfile log/14/socks_server.log --backend 127.0.0.1 --config log/14/server.cmd RUN: SOCKS server is now running PID 114161 * pid socks => 114161 114161 test 0710...[HTTP GET via SOCKS5 set with --proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind710 ../src/curl -q --output log/14/curl710.out --include --trace-ascii log/14/trace710 --trace-time http://127.0.0.1:35549/710 --proxy socks5://127.0.0.1:34675 > log/14/stdout710 2> log/14/stderr710 710: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 710 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind710 ../src/curl -q --output log/14/curl710.out --include --trace-ascii log/14/trace710 --trace-time http://127.0.0.1:35549/710 --proxy socks5://127.0.0.1:34675 > log/14/stdout710 2> log/14/stderr710 === End of file commands.log === Start of file http_server.log 05:46:55.459290 ====> Client connect 05:46:55.459322 accept_connection 3 returned 4 05:46:55.459338 accept_connection 3 returned 0 05:46:55.459352 Read 93 bytes 05:46:55.459362 Process 93 bytes request 05:46:55.459374 Got request: GET /verifiedserver HTTP/1.1 05:46:55.459383 Are-we-friendly question received 05:46:55.459409 Wrote request (93 bytes) input to log/14/server.input 05:46:55.459425 Identifying ourselves as friends 05:46:55.459482 Response sent (56 bytes) and written to log/14/server.response 05:46:55.459492 special request received, no persistency 05:46:55.459501 ====> Client disconnect 0 === End of file http_server.log === Start of file CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind728 ../src/curl -q --output log/15/curl728.out --include --trace-ascii log/15/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36517 http://127.0.0.1:43413/728 > log/15/stdout728 2> log/15/stderr728 http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 47764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 710 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file socks_server.log 05:46:55.474147 Running IPv4 version 05:46:55.474211 Listening on port 34675 05:46:55.474248 Wrote pid 114161 to log/14/server/socks_server.pid 05:46:55.474276 Wrote port 34675 to log/14/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==114675== ==114675== Process terminating with default action of signal 4 (SIGILL) ==114675== Illegal opcode at address 0x4014883 ==114675== at 0x4014883: getparameter (tool_getparam.c:2899) ==114675== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114675== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114675== by 0x4004208: main (tool_main.c:189) === End of file valgrind710 startnew: ./server/servers socksd --port 0 --pidfile log/24/server/socks_server.pid --portfile log/24/server/socks_server.port --reqfile log/24/socksd-request.log --logfile log/24/socks_server.log --backend 127.0.0.1 --config log/24/server.cmd RUN: SOCKS server is now running PID 114159 * pid socks => 114159 114159 setenv http_proxy = socks5://127.0.0.1:36055 test 0709...[HTTP GET via SOCKS5 set in http_proxy environment variable] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind709 ../src/curl -q --output log/24/curl709.out --include --trace-ascii log/24/trace709 --trace-time http://127.0.0.1:33593/709 > log/24/stdout709 2> log/24/stderr709 709: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 709 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind709 ../src/curl -q --output log/24/curl709.out --include --trace-ascii log/24/trace709 --trace-time http://127.0.0.1:33593/709 > log/24/stdout709 2> log/24/stderr709 === End of file commands.log === Start of file http_server.log 05:46:55.456029 ====> Client connect 05:46:55.456065 accept_connection 3 returned 4 05:46:55.456082 accept_connection 3 returned 0 05:46:55.456097 Read 93 bytes 05:46:55.456107 Process 93 bytes request 05:46:55.456120 Got request: GET /verifiedserver HTTP/1.1 05:46:55.456129 Are-we-friendly question received 05:46:55.456155 Wrote request (93 bytes) input to log/24/server.input 05:46:55.456172 Identifying ourselves as friends 05:46:55.456262 Response sent (56 bytes) and written to log/24/server.response 05:46:55.456273 special request received, no persistency 05:46:55.456282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 60554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 709 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file socks_server.log 05:46:55.473369 Running IPv4 version 05:46:55.473431 Listening on port 36055 05:46:55.473460 Wrote pid 114159 to log/24/server/socks_server.pid 05:46:55.473485 Wrote port 36055 to log/24/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==114662== ==114662== Process terminating with default action of signal 4 (SIGILL) ==114662== Illegal opcode at address 0x4014883 ==114662== at 0x4014883: getparameter (tool_getparam.c:2899) ==114662== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114662== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114662== by 0x4004208: main (tool_main.c:189) === End of file valgrind709 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind711 ../src/curl -q --output log/20/curl711.out --include --trace-ascii log/20/trace711 --trace-time ftp://127.0.0.1:46185/711 > log/20/stdout711 2> log/20/stderr711 test 0728...[SOCKS5h with HTTP redirect to hostname too long] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind728 ../src/curl -q --output log/15/curl728.out --include --trace-ascii log/15/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36517 http://127.0.0.1:43413/728 > log/15/stdout728 2> log/15/stderr728 728: stderr FAILED: --- log/15/check-expected 2026-03-14 05:46:58.384616018 +0000 +++ log/15/check-generated 2026-03-14 05:46:58.384616018 +0000 @@ -1 +0,0 @@ -curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] == Contents of files in the log/15/ directory after test 728 === Start of file check-expected curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind728 ../src/curl -q --output log/15/curl728.out --include --trace-ascii log/15/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36517 http://127.0.0.1:43413/728 > log/15/stdout728 2> log/15/stderr728 === End of file commands.log === Start of file http_server.log 05:46:56.857049 ====> Client connect 05:46:56.857082 accept_connection 3 returned 4 05:46:56.857097 accept_connection 3 returned 0 05:46:56.857111 Read 93 bytes 05:46:56.857120 Process 93 bytes request 05:46:56.857133 Got request: GET /verifiedserver HTTP/1.1 05:46:56.857141 Are-we-friendly question received 05:46:56.857161 Wrote request (93 bytes) input to log/15/server.input 05:46:56.857175 Identifying ourselves as friends 05:46:56.857231 Response sent (56 bytes) and written to log/15/server.response 05:46:56.857239 special request received, no persistency 05:46:56.857247 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 35310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 728 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind728 ==115157== ==115157== Process terminating with default action of signal 4 (SIGILL) ==115157== Illegal opcode at address 0x4014883 ==115157== at 0x4014883: getparameter (tool_getparam.c:2899) ==115157== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115157== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115157== by 0x4004208: main (tool_main.c:189) === End of file valgrind728 startnew: ./server/servers socksd --port 0 --pidfile log/20/server/socks_server.pid --portfile log/20/server/socks_server.port --reqfile log/20/socksd-request.log --logfile log/20/socks_server.log --backend 127.0.0.1 --config log/20/server.cmd RUN: SOCKS server is now running PID 114215 * pid socks => 114215 114215 setenv all_proxy = socks5://127.0.0.1:41891 test 0711...[FTP fetch with all_proxy set to socks5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind711 ../src/curl -q --output log/20/curl711.out --include --trace-ascii log/20/trace711 --trace-time ftp://127.0.0.1:46185/711 > log/20/stdout711 2> log/20/stderr711 711: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind711 ../src/curl -q --output log/20/curl711.out --include --trace-ascii log/20/trace711 --trace-time ftp://127.0.0.1:46185/711 > log/20/stdout711 2> log/20/stderr711 === End of file commands.log === Start of file ftp_server.log 05:46:55.105572 ====> Client connect 05:46:55.105785 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:55.112382 < "USER anonymous" 05:46:55.112443 > "331 We are happy you popped in![CR][LF]" 05:46:55.112675 < "PASS ftp@example.com" 05:46:55.112700 > "230 Welcome you silly person[CR][LF]" 05:46:55.112843 < "PWD" 05:46:55.112874 > "257 "/" is current directory[CR][LF]" 05:46:55.113035 < "EPSV" 05:46:55.113062 ====> Passive DATA channel requested by client 05:46:55.113075 DATA sockfilt for passive data channel starting... 05:46:55.125570 DATA sockfilt for passive data channel started (pid 114187) 05:46:55.129044 DATA sockfilt for passive data channel listens on port 38831 05:46:55.129134 > "229 Entering Passive Mode (|||38831|)[CR][LF]" 05:46:55.129160 Client has been notified that DATA conn will be accepted on port 38831 05:46:55.129494 Client connects to port 38831 05:46:55.129526 ====> Client established passive DATA connection on port 38831 05:46:55.129637 < "TYPE I" 05:46:55.129672 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:55.129831 < "SIZE verifiedserver" 05:46:55.129871 > "213 17[CR][LF]" 05:46:55.130025 < "RETR verifiedserver" 05:46:55.130062 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:55.130169 =====> Closing passive DATA connection... 05:46:55.130192 Server disconnects passive DATA connection 05:46:55.130402 Server disconnected passive DATA connection 05:46:55.130429 DATA sockfilt for passive data channel quits (pid 114187) 05:46:55.130746 DATA sockfilt for passive data channel quit (pid 114187) 05:46:55.130775 =====> Closed passive DATA connection 05:46:55.130803 > "226 File transfer complete[CR][LF]" 05:46:55.179075 < "QUIT" 05:46:55.179142 > "221 bye bye baby[CR][LF]" 05:46:55.180969 MAIN sockfilt said DISC 05:46:55.181016 ====> Client disconnected 05:46:55.181112 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:55.565884 ====> Client connect 05:46:55.570338 Received DATA (on stdin) 05:46:55.570374 > 146 bytes data, server => client 05:46:55.570388 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:55.570399 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:55.570408 '220 \___|\___/|_| \_\_____|\r\n' 05:46:55.570511 < 16 bytes data, client => server 05:46:55.570524 'USER anonymous\r\n' 05:46:55.573912 Received DATA (on stdin) 05:46:55.573934 > 33 bytes data, server => client 05:46:55.573945 '331 We are happy you popped in!\r\n' 05:46:55.574045 < 22 bytes data, client => server 05:46:55.574056 'PASS ftp@example.com\r\n' 05:46:55.574157 Received DATA (on stdin) 05:46:55.574168 > 30 bytes data, server => client 05:46:55.574178 '230 Welcome you silly person\r\n' 05:46:55.574223 < 5 bytes data, client => server 05:46:55.574233 'PWD\r\n' 05:46:55.574333 Received DATA (on stdin) 05:46:55.574345 > 30 bytes data, server => client 05:46:55.574355 '257 "/" is current directory\r\n' 05:46:55.574414 < 6 bytes data, client => server 05:46:55.574424 'EPSV\r\n' 05:46:55.590636 Received DATA (on stdin) 05:46:55.590657 > 39 bytes data, server => client 05:46:55.590669 '229 Entering Passive Mode (|||38831|)\r\n' 05:46:55.590871 < 8 bytes data, client => server 05:46:55.590885 'TYPE I\r\n' 05:46:55.591134 Received DATA (on stdin) 05:46:55.591146 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind717 ../src/curl -q --output log/4/curl717.out --include --trace-ascii log/4/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:37617 > log/4/stdout717 2> log/4/stderr717 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind719 ../src/curl -q --output log/19/curl719.out --include --trace-ascii log/19/trace719 --trace-time http://[2200::33]:35701/719 --proxy socks5h://127.0.0.1:38595 > log/19/stdout719 2> log/19/stderr719 > 33 bytes data, server => client 05:46:55.591156 '200 I modify TYPE as you wanted\r\n' 05:46:55.591207 < 21 bytes data, client => server 05:46:55.591218 'SIZE verifiedserver\r\n' 05:46:55.591330 Received DATA (on stdin) 05:46:55.591340 > 8 bytes data, server => client 05:46:55.591350 '213 17\r\n' 05:46:55.591398 < 21 bytes data, client => server 05:46:55.591408 'RETR verifiedserver\r\n' 05:46:55.591655 Received DATA (on stdin) 05:46:55.591668 > 29 bytes data, server => client 05:46:55.591679 '150 Binary junk (17 bytes).\r\n' 05:46:55.592263 Received DATA (on stdin) 05:46:55.592275 > 28 bytes data, server => client 05:46:55.592285 '226 File transfer complete\r\n' 05:46:55.640339 < 6 bytes data, client => server 05:46:55.640372 'QUIT\r\n' 05:46:55.640616 Received DATA (on stdin) 05:46:55.640635 > 18 bytes data, server => client 05:46:55.640646 '221 bye bye baby\r\n' 05:46:55.642364 ====> Client disconnect 05:46:55.642582 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:55.578316 Running IPv4 version 05:46:55.578398 Listening on port 38831 05:46:55.578439 Wrote pid 114187 to log/20/server/ftp_sockdata.pid 05:46:55.583657 Received PING (on stdin) 05:46:55.590328 Received PORT (on stdin) 05:46:55.590905 ====> Client connect 05:46:55.591739 Received DATA (on stdin) 05:46:55.591755 > 17 bytes data, server => client 05:46:55.591766 'WE ROOLZ: 89997\r\n' 05:46:55.591794 Received DISC (on stdin) 05:46:55.591807 ====> Client forcibly disconnected 05:46:55.591955 Received QUIT (on stdin) 05:46:55.591968 quits 05:46:55.592042 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 711 === End of file server.cmd === Start of file socks_server.log 05:46:55.652638 Running IPv4 version 05:46:55.652721 Listening on port 41891 05:46:55.652758 Wrote pid 114215 to log/20/server/socks_server.pid 05:46:55.652787 Wrote port 41891 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==114836== ==114836== Process terminating with default action of signal 4 (SIGILL) ==114836== Illegal opcode at address 0x4014883 ==114836== at 0x4014883: getparameter (tool_getparam.c:2899) ==114836== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114836== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114836== by 0x4004208: main (tool_main.c:189) === End of file valgrind711 startnew: ./server/servers socksd --port 0 --pidfile log/4/server/socks_server.pid --portfile log/4/server/socks_server.port --reqfile log/4/socksd-request.log --logfile log/4/socks_server.log --backend 127.0.0.1 --config log/4/server.cmd RUN: SOCKS server is now running PID 114253 * pid socks => 114253 114253 test 0717...[SOCKS5 proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind717 ../src/curl -q --output log/4/curl717.out --include --trace-ascii log/4/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:37617 > log/4/stdout717 2> log/4/stderr717 717: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 717 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind717 ../src/curl -q --output log/4/curl717.out --include --trace-ascii log/4/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:37617 > log/4/stdout717 2> log/4/stderr717 === End of file commands.log === Start of file http_server.log 05:46:55.835790 ====> Client connect 05:46:55.835823 accept_connection 3 returned 4 05:46:55.835841 accept_connection 3 returned 0 05:46:55.835855 Read 93 bytes 05:46:55.835865 Process 93 bytes request 05:46:55.835877 Got request: GET /verifiedserver HTTP/1.1 05:46:55.835886 Are-we-friendly question received 05:46:55.835910 Wrote request (93 bytes) input to log/4/server.input 05:46:55.835928 Identifying ourselves as friends 05:46:55.835989 Response sent (56 bytes) and written to log/4/server.response 05:46:55.836001 special request received, no persistency 05:46:55.836009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 38832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 40253 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file socks_server.log 05:46:55.783292 Running IPv4 version 05:46:55.783405 Listening on port 37617 05:46:55.783444 Wrote pid 114253 to log/4/server/socks_server.pid 05:46:55.783474 Wrote port 37617 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==115110== ==115110== Process terminating with default action of signal 4 (SIGILL) ==115110== Illegal opcode at address 0x4014883 ==115110== at 0x4014883: getparameter (tool_getparam.c:2899) ==115110== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115110== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115110== by 0x4004208: main (tool_main.c:189) === End of file valgrind717 startnew: ./server/servers socksd --port 0 --pidfile log/19/server/socks_server.pid --portfile log/19/server/socks_server.port --reqfile log/19/socksd-request.log --logfile log/19/socks_server.log --backend 127.0.0.1 --config log/19/server.cmd RUN: SOCKS server is now running PID 114318 * pid socks => 114318 114318 test 0719...[HTTP GET with IPv6 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind719 ../src/curl -q --output log/19/curl719.out --include --trace-ascii log/19/trace719 --trace-time http://[2200::33]:35701/719 --proxy socks5h://127.0.0.1:38595 > log/19/stdout719 2> log/19/stderr719 719: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 719 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind719 ../src/curl -q --output log/19/curl719.out --include --trace-ascii log/19/trace719 --trace-time http://[2200::33]:35701/719 --proxy socks5h://127.0.0.1:38595 > log/19/stdout719 2> log/19/stderr719 === End of file commands.log === Start of file http_server.log 05:46:55.039684 ====> Client connect 05:46:55.039727 accept_connection 3 returned 4 05:46:55.039746 accept_connection 3 returned 0 05:46:55.039763 Read 93 bytes 05:46:55.039772 Process 93 bytes request 05:46:55.039787 Got request: GET /verifiedserver HTTP/1.1 05:46:55.039796 Are-we-friendly question received 05:46:55.039831 Wrote request (93 bytes) input to log/19/server.input 05:46:55.039850 Identifying ourselves as friends 05:46:55.039964 Response sent (56 bytes) and written to log/19/server.response 05:46:55.039978 special request received, no persistency 05:46:55.039987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind729 ../src/curl -q --output log/5/curl729.out --include --trace-ascii log/5/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:38603 > log/5/stdout729 2> log/5/stderr729 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind716 ../src/curl -q --output log/13/curl716.out --include --trace-ascii log/13/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:41959 > log/13/stdout716 2> log/13/stderr716 35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 43330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 719 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file socks_server.log 05:46:55.057088 Running IPv4 version 05:46:55.067081 Listening on port 38595 05:46:55.067135 Wrote pid 114318 to log/19/server/socks_server.pid 05:46:55.067167 Wrote port 38595 to log/19/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 ==115444== ==115444== Process terminating with default action of signal 4 (SIGILL) ==115444== Illegal opcode at address 0x4014883 ==115444== at 0x4014883: getparameter (tool_getparam.c:2899) ==115444== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115444== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115444== by 0x4004208: main (tool_main.c:189) === End of file valgrind719 test 0729...[SOCKS4 with long proxy username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind729 ../src/curl -q --output log/5/curl729.out --include --trace-ascii log/5/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:38603 > log/5/stdout729 2> log/5/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/5/ directory after test 729 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind729 ../src/curl -q --output log/5/curl729.out --include --trace-ascii log/5/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:38603 > log/5/stdout729 2> log/5/stderr729 === End of file commands.log === Start of file http_server.log 05:46:56.916110 ====> Client connect 05:46:56.916150 accept_connection 3 returned 4 05:46:56.916166 accept_connection 3 returned 0 05:46:56.916179 Read 93 bytes 05:46:56.916189 Process 93 bytes request 05:46:56.916202 Got request: GET /verifiedserver HTTP/1.1 05:46:56.916211 Are-we-friendly question received 05:46:56.916232 Wrote request (93 bytes) input to log/5/server.input 05:46:56.916248 Identifying ourselves as friends 05:46:56.916299 Response sent (56 bytes) and written to log/5/server.response 05:46:56.916308 special request received, no persistency 05:46:56.916316 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 60570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 729 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind729 ==115263== ==115263== Process terminating with default action of signal 4 (SIGILL) ==115263== Illegal opcode at address 0x4014883 ==115263== at 0x4014883: getparameter (tool_getparam.c:2899) ==115263== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115263== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115263== by 0x4004208: main (tool_main.c:189) === End of file valgrind729 startnew: ./server/servers socksd --port 0 --pidfile log/13/server/socks_server.pid --portfile log/13/server/socks_server.port --reqfile log/13/socksd-request.log --logfile log/13/socks_server.log --backend 127.0.0.1 --config log/13/server.cmd RUN: SOCKS server is now running PID 114250 * pid socks => 114250 114250 test 0716...[SOCKS5 proxy with too long username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind716 ../src/curl -q --output log/13/curl716.out --include --trace-ascii log/13/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:41959 > log/13/stdout716 2> log/13/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/13/ directory after test 716 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind716 ../src/curl -q --output log/13/curl716.out --include --trace-ascii log/13/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:41959 > log/13/stdout716 2> log/13/stderr716 === End of file commands.log === Start of file server.cmd method 2 Testnum 716 === End of file server.cmd === Start of file soCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind727 ../src/curl -q --output log/22/curl727.out --include --trace-ascii log/22/trace727 --trace-time --ipfs-gateway http://127.0.0.1:41477 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout727 2> log/22/stderr727 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind721 ../src/curl -q --output log/6/curl721.out --include --trace-ascii log/6/trace721 --trace-time http://this.is.a.host.name:33035/721 --proxy socks5h://127.0.0.1:41737 > log/6/stdout721 2> log/6/stderr721 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/5/stdout745 2> log/5/stderr745 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind726 ../src/curl -q --output log/7/curl726.out --include --trace-ascii log/7/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout726 2> log/7/stderr726 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind713 ../src/curl -q --output log/17/curl713.out --include --trace-ascii log/17/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35305 --proxy socks5://127.0.0.1:32987 > log/17/stdout713 2> log/17/stderr713 cks_server.log 05:46:55.774168 Running IPv4 version 05:46:55.774244 Listening on port 41959 05:46:55.774281 Wrote pid 114250 to log/13/server/socks_server.pid 05:46:55.774307 Wrote port 41959 to log/13/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==114959== ==114959== Process terminating with default action of signal 4 (SIGILL) ==114959== Illegal opcode at address 0x4014883 ==114959== at 0x4014883: getparameter (tool_getparam.c:2899) ==114959== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114959== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114959== by 0x4004208: main (tool_main.c:189) === End of file valgrind716 test 0727...[IPNS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind727 ../src/curl -q --output log/22/curl727.out --include --trace-ascii log/22/trace727 --trace-time --ipfs-gateway http://127.0.0.1:41477 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout727 2> log/22/stderr727 727: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 727 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind727 ../src/curl -q --output log/22/curl727.out --include --trace-ascii log/22/trace727 --trace-time --ipfs-gateway http://127.0.0.1:41477 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout727 2> log/22/stderr727 === End of file commands.log === Start of file http_server.log 05:46:56.845960 ====> Client connect 05:46:56.845999 accept_connection 3 returned 4 05:46:56.846016 accept_connection 3 returned 0 05:46:56.846030 Read 93 bytes 05:46:56.846039 Process 93 bytes request 05:46:56.846051 Got request: GET /verifiedserver HTTP/1.1 05:46:56.846059 Are-we-friendly question received 05:46:56.846083 Wrote request (93 bytes) input to log/22/server.input 05:46:56.846098 Identifying ourselves as friends 05:46:56.846148 Response sent (56 bytes) and written to log/22/server.response 05:46:56.846155 special request received, no persistency 05:46:56.846163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 54332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 727 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind727 ==115143== ==115143== Process terminating with default action of signal 4 (SIGILL) ==115143== Illegal opcode at address 0x4014883 ==115143== at 0x4014883: getparameter (tool_getparam.c:2899) ==115143== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115143== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115143== by 0x4004208: main (tool_main.c:189) === End of file valgrind727 startnew: ./server/servers socksd --port 0 --pidfile log/6/server/socks_server.pid --portfile log/6/server/socks_server.port --reqfile log/6/socksd-request.log --logfile log/6/socks_server.log --backend 127.0.0.1 --config log/6/server.cmd RUN: SOCKS server is now running PID 114387 * pid socks => 114387 114387 test 0721...[HTTP GET with hostname using SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind721 ../src/curl -q --output log/6/curl721.out --include --trace-ascii log/6/trace721 --trace-time http://this.is.a.host.name:33035/721 --proxy socks5h://127.0.0.1:41737 > log/6/stdout721 2> log/6/stderr721 721: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 721 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind721 ../src/curl -q --output log/6/curl721.out --include --trace-ascii log/6/trace721 --trace-time http://this.is.a.host.name:33035/721 --proxy socks5h://127.0.0.1:41737 > log/6/stdout721 2> log/6/stderr721 === End of file commands.log === Start of file http_server.log 05:46:55.143735 ====> Client connect 05:46:55.143781 accept_connection 3 returned 4 05:46:55.143801 accept_connection 3 returned 0 05:46:55.143818 Read 93 bytes 05:46:55.143828 Process 93 bytes request 05:46:55.143842 Got request: GET /verifiedserver HTTP/1.1 05:46:55.143851 Are-we-friendly question received 05:46:55.143878 Wrote request (93 bytes) input to log/6/server.input 05:46:55.143895 Identifying ourselves as friends 05:46:55.143981 Response sent (56 bytes) and written to log/6/server.response 05:46:55.143992 special request received, no persistency 05:46:55.144000 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 37884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 721 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file socks_server.log 05:46:55.152825 Running IPv4 version 05:46:55.152920 Listening on port 41737 05:46:55.152961 Wrote pid 114387 to log/6/server/socks_server.pid 05:46:55.152989 Wrote port 41737 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 ==115510== ==115510== Process terminating with default action of signal 4 (SIGILL) ==115510== Illegal opcode at address 0x4014883 ==115510== at 0x4014883: getparameter (tool_getparam.c:2899) ==115510== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115510== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115510== by 0x4004208: main (tool_main.c:189) === End of file valgrind721 test 0745...[Verify that typecheck-gcc and curl.h are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/5/stdout745 2> log/5/stderr745 valgrind SKIPPED s------e--- OK (714 out of 1773, remaining: 02:24, took 0.053s, duration: 01:37) setenv HOME = /startdir/src/build-curl/tests test 0726...[IPFS with no gateway URL (no environment or home file either)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind726 ../src/curl -q --output log/7/curl726.out --include --trace-ascii log/7/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout726 2> log/7/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/7/ directory after test 726 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind726 ../src/curl -q --output log/7/curl726.out --include --trace-ascii log/7/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout726 2> log/7/stderr726 === End of file commands.log === Start of file http_server.log 05:46:55.833729 ====> Client connect 05:46:55.833775 accept_connection 3 returned 4 05:46:55.833795 accept_connection 3 returned 0 05:46:55.833811 Read 93 bytes 05:46:55.833821 Process 93 bytes request 05:46:55.833837 Got request: GET /verifiedserver HTTP/1.1 05:46:55.833846 Are-we-friendly question received 05:46:55.833875 Wrote request (93 bytes) input to log/7/server.input 05:46:55.833895 Identifying ourselves as friends 05:46:55.833981 Response sent (56 bytes) and written to log/7/server.response 05:46:55.833994 special request received, no persistency 05:46:55.834003 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 56936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 726 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind726 ==115092== ==115092== Process terminating with default action of signal 4 (SIGILL) ==115092== Illegal opcode at address 0x4014883 ==115092== at 0x4014883: getparameter (tool_getparam.c:2899) ==115092== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115092== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115092== by 0x4004208: main (tool_main.c:189) === End of file valgrind726 startnew: ./server/servers socksd --port 0 --pidfile log/17/server/socks_server.pid --portfile log/17/server/socks_server.port --reqfile log/17/socksd-request.log --logfile log/17/socks_server.log --backend 127.0.0.1 --config log/17/server.cmd RUN: SOCKS server is now running PID 114254 * pid socks => 114254 114254 test 0713...[FTP fetch with --proxy set to socks5:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind713 ../src/curl -q --output log/17/curl713.out --include --trace-ascii log/17/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35305 --proxy socks5://127.0.0.1:32987 > log/17/stdout713 2> log/17/stderr713 713: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 713 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind713 ../src/curl -q --output log/17/curl713.out --include --trace-ascii log/17/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35305 --proxy socks5://127.0.0.1:32987 > log/17/stdout713 2> log/17/stderr713 === End of file commands.log === Start of file ftp_server.log 05:46:55.248714 ====> Client connect 05:46:55.248969 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:55.249256 < "USER anonymous" 05:46:55.249291 > "331 We are happy you popped in![CR][LF]" 05:46:55.249461 < "PASS ftp@example.com" 05:46:55.249525 > "230 Welcome you silly person[CR][LF]" 05:46:55.249682 < "PWD" 05:46:55.249715 > "257 "/" is current directory[CR][LF]" 05:46:55.249907 < "EPSV" 05:46:55.249934 ====> Passive DATA channel requested by client 05:46:55.249949 DATA sockfilt for passive data channel starting... 05:46:55.268927 DATA sockfilt for passive data channel started (pid 114246) 05:46:55.272373 DATA sockfilt for passive data channel listens on port 36839 05:46:55.272457 > "229 Entering Passive Mode (|||36839|)[CR][LF]" 05:46:55.272484 Client has been notified that DATA conn will be accepted on port 36839 05:46:55.278899 Client connects to port 36839 05:46:55.278969 ====> Client established passive DATA connection on port 36839 05:46:55.279100 < "TYPE I" 05:46:55.279146 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:55.282289 < "SIZE verifiedserver" 05:46:55.282350 > "213 17[CR][LF]" 05:46:55.285661 < "RETR verifiedserver" 05:46:55.285711 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:55.285829 =====> Closing passive DATA connection... 05:46:55.285856 Server disconnects passive DATA connection 05:46:55.286245 Server disconnected passive DATA connection 05:46:55.286282 DATA sockfilt for passive data channel quits (pid 114246) 05:46:55.286894 DATA sockfilt for passive data channel quit (pid 114246) 05:46:55.286996 =====> Closed passive DATA connection 05:46:55.287162 > "226 File transfer complete[CR][LF]" 05:46:55.332563 < "QUIT" 05:46:55.332627 > "221 bye bye baby[CR][LF]" 05:46:55.334043 MAIN sockfilt said DISC 05:46:55.334082 ====> Client disconnected 05:46:55.334175 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:54.710020 ====> Client connect 05:46:54.710361 Received DATA (on stdin) 05:46:54.710380 > 146 bytes data, server => client 05:46:54.710440 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:54.710452 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:54.710462 '220 \___|\___/|_| \_\_____|\r\n' 05:46:54.710538 < 16 bytes data, client => server 05:46:54.710550 'USER anonymous\r\n' 05:46:54.710753 Received DATA (on stdin) 05:46:54.710766 > 33 bytes data, server => client 05:46:54.710776 '331 We are happy you popped in!\r\n' 05:46:54.710831 < 22 bytes data, client => server 05:46:54.710842 'PASS ftp@example.com\r\n' 05:46:54.710985 Received DATA (on stdin) 05:46:54.710996 > 30 bytes data, server => client 05:46:54.711006 '230 Welcome you silly person\r\n' 05:46:54.711056 < 5 bytes data, client => server 05:46:54.711066 'PWD\r\n' 05:46:54.711173 Received DATA (on stdin) 05:46:54.711184 > 30 bytes data, server => client 05:46:54.711195 '257 "/" is current directory\r\n' 05:46:54.711280 < 6 bytes data, client => server 05:46:54.711292 'EPSV\r\n' 05:46:54.736995 Received DATA (on stdin) 05:46:54.737031 > 39 bytes data, server => client 05:46:54.737044 '229 Entering Passive Mode (|||36839|)\r\n' 05:46:54.737338 < 8 bytes data, client => server 05:46:54.737350 'TYPE I\r\n' 05:46:54.742729 Received DATA (on stdin) 05:46:54.742752 > 33 bytes data, server => client 05:46:54.742765 '200 I modify TYPE as you wanted\r\n' 05:46:54.742847 < 21 bytes data, client => server 05:46:54.742861 'SIZE verifiedserver\r\n' 05:46:54.743820 Received DATA (on stdin) 05:46:54.743834 > 8 bytes data, server => client 05:46:54.743845 '213 17\r\n' 05:46:54.746994 < 21 bytes data, client => server 05:46:54.747015 'RETR verifiedserver\r\n' 05:46:54.747323 Received DATA (on stdin) 05:46:54.747338 > 29 bytes data, server => client 05:46:54.747349 '150 Binary junk (17 bytes).\r\n' 05:46:54.748504 Received DATA (on stdin) 05:46:54.748524 > 28 bytes data, server => client 05:46:54.748544 '226 File transfer complete\r\n' 05:46:54.793823 < 6 bytes data, client => server 05:46:54.793860 'QUIT\r\n' 05:46:54.794091 Received DATA (on stdin) 05:46:54.794103 > 18 bytes data, server => client 05:46:54.794114 '221 bye bye baby\r\n' 05:46:54.795443 =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind715 ../src/curl -q --output log/16/curl715.out --include --trace-ascii log/16/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41717 --proxytunnel --proxy 127.0.0.1:41375 --preproxy socks5://127.0.0.1:38479 > log/16/stdout715 2> log/16/stderr715 ===> Client disconnect 05:46:54.795643 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:55.714851 Running IPv4 version 05:46:55.714931 Listening on port 36839 05:46:55.714969 Wrote pid 114246 to log/17/server/ftp_sockdata.pid 05:46:55.727004 Received PING (on stdin) 05:46:55.733661 Received PORT (on stdin) 05:46:55.737297 ====> Client connect 05:46:55.747382 Received DATA (on stdin) 05:46:55.747400 > 17 bytes data, server => client 05:46:55.747409 'WE ROOLZ: 81141\r\n' 05:46:55.747439 Received DISC (on stdin) 05:46:55.747452 ====> Client forcibly disconnected 05:46:55.747847 Received QUIT (on stdin) 05:46:55.747931 quits 05:46:55.748034 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 713 === End of file server.cmd === Start of file socks_server.log 05:46:55.807522 Running IPv4 version 05:46:55.807626 Listening on port 32987 05:46:55.807676 Wrote pid 114254 to log/17/server/socks_server.pid 05:46:55.807714 Wrote port 32987 to log/17/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==114995== ==114995== Process terminating with default action of signal 4 (SIGILL) ==114995== Illegal opcode at address 0x4014883 ==114995== at 0x4014883: getparameter (tool_getparam.c:2899) ==114995== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114995== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114995== by 0x4004208: main (tool_main.c:189) === End of file valgrind713 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/16/server/http2_server.pid" --logfile "log/16/http2_server.log" --logdir "log/16" --portfile log/16/server/http2_server.port --config log/16/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 114251 port 41375 * pid http-proxy => 114251 114251 startnew: ./server/servers socksd --port 0 --pidfile log/16/server/socks_server.pid --portfile log/16/server/socks_server.port --reqfile log/16/socksd-request.log --logfile log/16/socks_server.log --backend 127.0.0.1 --config log/16/server.cmd RUN: SOCKS server is now running PID 114928 * pid socks => 114928 114928 test 0715...[FTP fetch with --preproxy, --proxy and --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind715 ../src/curl -q --output log/16/curl715.out --include --trace-ascii log/16/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41717 --proxytunnel --proxy 127.0.0.1:41375 --preproxy socks5://127.0.0.1:38479 > log/16/stdout715 2> log/16/stderr715 715: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 715 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind715 ../src/curl -q --output log/16/curl715.out --include --trace-ascii log/16/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41717 --proxytunnel --proxy 127.0.0.1:41375 --preproxy socks5://127.0.0.1:38479 > log/16/stdout715 2> log/16/stderr715 === End of file commands.log === Start of file ftp_server.log 05:46:55.234525 ====> Client connect 05:46:55.234683 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:55.234967 < "USER anonymous" 05:46:55.235006 > "331 We are happy you popped in![CR][LF]" 05:46:55.235187 < "PASS ftp@example.com" 05:46:55.235219 > "230 Welcome you silly person[CR][LF]" 05:46:55.235376 < "PWD" 05:46:55.235412 > "257 "/" is current directory[CR][LF]" 05:46:55.235583 < "EPSV" 05:46:55.235611 ====> Passive DATA channel requested by client 05:46:55.235626 DATA sockfilt for passive data channel starting... 05:46:55.252313 DATA sockfilt for passive data channel started (pid 114244) 05:46:55.252495 DATA sockfilt for passive data channel listens on port 45011 05:46:55.252552 > "229 Entering Passive Mode (|||45011|)[CR][LF]" 05:46:55.252575 Client has been notified that DATA conn will be accepted on port 45011 05:46:55.255914 Client connects to port 45011 05:46:55.255984 ====> Client established passive DATA connection on port 45011 05:46:55.256170 < "TYPE I" 05:46:55.256218 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:55.256436 < "SIZE verifiedserver" 05:46:55.256486 > "213 17[CR][LF]" 05:46:55.256676 < "RETR verifiedserver" 05:46:55.256723 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:55.256835 =====> Closing passive DATA connection... 05:46:55.256856 Server disconnects passive DATA connection 05:46:55.256992 Server disconnected passive DATA connection 05:46:55.257021 DATA sockfilt for passive data channel quits (pid 114244) 05:46:55.257359 DATA sockfilt for passive data channel quit (pid 114244) 05:46:55.257390 =====> Closed passive DATA connection 05:46:55.257417 > "226 File transfer complete[CR][LF]" 05:46:55.309113 < "QUIT" 05:46:55.309177 > "221 bye bye baby[CR][LF]" 05:46:55.310869 MAIN sockfilt said DISC 05:46:55.310917 ====> Client disconnected 05:46:55.311011 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:46:55.695871 ====> Client connect 05:46:55.696156 Received DATA (on stdin) 05:46:55.696171 > 146 bytes data, server => client 05:46:55.696183 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:46:55.696193 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:46:55.696203 '220 \___|\___/|_| \_\_____|\r\n' 05:46:55.696279 < 16 bytes data, client => server 05:46:55.696291 'USER anonymous\r\n' 05:46:55.696469 Received DATA (on stdin) 05:46:55.696481 > 33 bytes data, server => client 05:46:55.696491 '331 We are happy you popped in!\r\n' 05:46:55.696543 < 22 bytes data, client => server 05:46:55.696555 'PASS ftp@example.com\r\n' 05:46:55.696678 Received DATA (on stdin) 05:46:55.696689 > 30 bytes data, server => client 05:46:55.696699 '230 Welcome you silly person\r\n' 05:46:55.696748 < 5 bytes data, client => server 05:46:55.696758 'PWD\r\n' 05:46:55.696871 Received DATA (on stdin) 05:46:55.696882 > 30 bytes data, server => client 05:46:55.696892 '257 "/" is current directory\r\n' 05:46:55.696948 < 6 bytes data, client => server 05:46:55.696958 'EPSV\r\n' 05:46:55.716999 Received DATA (on stdin) 05:46:55.717051 > 39 bytes data, server => client 05:46:55.717064 '229 Entering Passive Mode (|||45011|)\r\n' 05:46:55.717477 < 8 bytes data, client => server 05:46:55.717494 'TYPE I\r\n' 05:46:55.717688 Received DATA (on stdin) 05:46:55.717702 > 33 bytes data, server => client 05:46:55.717713 '200 I modify TYPE as you wanted\r\n' 05:46:55.717781 < 21 bytes data, client => server 05:46:55.717796 'SIZE verifiedserver\r\n' 05:46:55.717951 Received DATA (on stdin) 05:46:55.717963 > 8 bytes data, server => client 05:46:55.717974 '213 17\r\n' 05:46:55.718033 < 21 bytes data, client => server 05:46:55.718048 'RETR verifiedserver\r\n' 05:46:55.718882 Received DATA (on stdin) 05:46:55.718896 > 29 bytes data, server => client 05:46:55.718907 '150 Binary junk (17 bytes).\r\n' 05:46:55.718930 Received DATA (on stdin) 05:46:55.718942 > 28 bytes data, server => client 05:46:55.718952 '226 File transfer complete\r\n' 05:46:55.770352 < 6 bytes data, client => server 05:46:55.770397 'QUIT\r\n' 05:46:55.770653 Received DATA (on stdin) 05:46:55.770669 > 18 bytes data, server => client 05:46:55.770678 '221 bye bye baby\r\n' 05:46:55.772262 ====> Client disconnect 05:46:55.772480 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:46:55.704385 Running IPv4 vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind732 ../src/curl -q --output log/10/curl732.out --include --trace-ascii log/10/trace732 --trace-time --ipfs-gateway http://127.0.0.1:46741 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/10/stdout732 2> log/10/stderr732 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind730 ../src/curl -q --output log/23/curl730.out --include --trace-ascii log/23/trace730 --trace-time --ipfs-gateway http://127.0.0.1:33217/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout730 2> log/23/stderr730 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind733 ../src/curl -q --output log/9/curl733.out --include --trace-ascii log/9/trace733 --trace-time --ipfs-gateway http://127.0.0.1:33885 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/9/stdout733 2> log/9/stderr733 ersion 05:46:55.704470 Listening on port 45011 05:46:55.704510 Wrote pid 114244 to log/16/server/ftp_sockdata.pid 05:46:55.713660 Received PING (on stdin) 05:46:55.713840 Received PORT (on stdin) 05:46:55.717297 ====> Client connect 05:46:55.718324 Received DATA (on stdin) 05:46:55.718341 > 17 bytes data, server => client 05:46:55.718352 'WE ROOLZ: 80884\r\n' 05:46:55.718381 Received DISC (on stdin) 05:46:55.718396 ====> Client forcibly disconnected 05:46:55.718496 Received QUIT (on stdin) 05:46:55.718507 quits 05:46:55.718588 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 05:46:55.816251 Run as proxy, CONNECT to host 127.0.0.1 05:46:55.816386 Running HTTP IPv4 version on port 41375 05:46:55.816434 Wrote pid 114251 to log/16/server/http2_server.pid 05:46:55.816465 Wrote port 41375 to log/16/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 05:46:56.786439 Running IPv4 version 05:46:56.786511 Listening on port 38479 05:46:56.786563 Wrote pid 114928 to log/16/server/socks_server.pid 05:46:56.786598 Wrote port 38479 to log/16/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==115644== ==115644== Process terminating with default action of signal 4 (SIGILL) ==115644== Illegal opcode at address 0x4014883 ==115644== at 0x4014883: getparameter (tool_getparam.c:2899) ==115644== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115644== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115644== by 0x4004208: main (tool_main.c:189) === End of file valgrind715 test 0732...[IPFS with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind732 ../src/curl -q --output log/10/curl732.out --include --trace-ascii log/10/trace732 --trace-time --ipfs-gateway http://127.0.0.1:46741 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/10/stdout732 2> log/10/stderr732 732: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 732 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind732 ../src/curl -q --output log/10/curl732.out --include --trace-ascii log/10/trace732 --trace-time --ipfs-gateway http://127.0.0.1:46741 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/10/stdout732 2> log/10/stderr732 === End of file commands.log === Start of file http_server.log 05:46:57.197327 ====> Client connect 05:46:57.197373 accept_connection 3 returned 4 05:46:57.197523 accept_connection 3 returned 0 05:46:57.197542 Read 93 bytes 05:46:57.197552 Process 93 bytes request 05:46:57.197565 Got request: GET /verifiedserver HTTP/1.1 05:46:57.197574 Are-we-friendly question received 05:46:57.197605 Wrote request (93 bytes) input to log/10/server.input 05:46:57.197623 Identifying ourselves as friends 05:46:57.197687 Response sent (56 bytes) and written to log/10/server.response 05:46:57.197699 special request received, no persistency 05:46:57.197707 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 34618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 732 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind732 ==115860== ==115860== Process terminating with default action of signal 4 (SIGILL) ==115860== Illegal opcode at address 0x4014883 ==115860== at 0x4014883: getparameter (tool_getparam.c:2899) ==115860== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115860== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115860== by 0x4004208: main (tool_main.c:189) === End of file valgrind732 test 0730...[IPFS arg gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind730 ../src/curl -q --output log/23/curl730.out --include --trace-ascii log/23/trace730 --trace-time --ipfs-gateway http://127.0.0.1:33217/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout730 2> log/23/stderr730 730: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 730 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind730 ../src/curl -q --output log/23/curl730.out --include --trace-ascii log/23/trace730 --trace-time --ipfs-gateway http://127.0.0.1:33217/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout730 2> log/23/stderr730 === End of file commands.log === Start of file http_server.log 05:46:57.936817 ====> Client connect 05:46:57.936858 accept_connection 3 returned 4 05:46:57.936876 accept_connection 3 returned 0 05:46:57.936893 Read 93 bytes 05:46:57.936903 Process 93 bytes request 05:46:57.936918 Got request: GET /verifiedserver HTTP/1.1 05:46:57.936927 Are-we-friendly question received 05:46:57.936954 Wrote request (93 bytes) input to log/23/server.input 05:46:57.937022 Identifying ourselves as friends 05:46:57.950701 Response sent (56 bytes) and written to log/23/server.response 05:46:57.950737 special request received, no persistency 05:46:57.950747 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 45318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 730 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind730 ==115705== ==115705== Process terminating with default action of signal 4 (SIGILL) ==115705== Illegal opcode at address 0x4014883 ==115705== at 0x4014883: getparameter (tool_getparam.c:2899) ==115705== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115705== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115705== by 0x4004208: main (tool_main.c:189) === End of file valgrind730 test 0733...[IPFS with path and query args] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind733 ../src/curl -q --output log/9/curl733.out --include --trace-ascii log/9/trace733 --trace-time --ipfs-gateway http://127.0.0.1:33885 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind734 ../src/curl -q --output log/2/curl734.out --include --trace-ascii log/2/trace734 --trace-time --ipfs-gateway http://127.0.0.1:41799/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/2/stdout734 2> log/2/stderr734 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind735 ../src/curl -q --output log/21/curl735.out --include --trace-ascii log/21/trace735 --trace-time --ipfs-gateway http://127.0.0.1:42891/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/21/stdout735 2> log/21/stderr735 d6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/9/stdout733 2> log/9/stderr733 733: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 733 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind733 ../src/curl -q --output log/9/curl733.out --include --trace-ascii log/9/trace733 --trace-time --ipfs-gateway http://127.0.0.1:33885 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/9/stdout733 2> log/9/stderr733 === End of file commands.log === Start of file http_server.log 05:46:57.197105 ====> Client connect 05:46:57.197156 accept_connection 3 returned 4 05:46:57.197180 accept_connection 3 returned 0 05:46:57.197199 Read 93 bytes 05:46:57.197210 Process 93 bytes request 05:46:57.197224 Got request: GET /verifiedserver HTTP/1.1 05:46:57.197235 Are-we-friendly question received 05:46:57.197263 Wrote request (93 bytes) input to log/9/server.input 05:46:57.197282 Identifying ourselves as friends 05:46:57.197371 Response sent (56 bytes) and written to log/9/server.response 05:46:57.197384 special request received, no persistency 05:46:57.197393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 37740 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 733 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind733 ==115863== ==115863== Process terminating with default action of signal 4 (SIGILL) ==115863== Illegal opcode at address 0x4014883 ==115863== at 0x4014883: getparameter (tool_getparam.c:2899) ==115863== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115863== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115863== by 0x4004208: main (tool_main.c:189) === End of file valgrind733 test 0734...[IPFS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind734 ../src/curl -q --output log/2/curl734.out --include --trace-ascii log/2/trace734 --trace-time --ipfs-gateway http://127.0.0.1:41799/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/2/stdout734 2> log/2/stderr734 734: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 734 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind734 ../src/curl -q --output log/2/curl734.out --include --trace-ascii log/2/trace734 --trace-time --ipfs-gateway http://127.0.0.1:41799/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/2/stdout734 2> log/2/stderr734 === End of file commands.log === Start of file http_server.log 05:46:58.377518 ====> Client connect 05:46:58.377550 accept_connection 3 returned 4 05:46:58.377565 accept_connection 3 returned 0 05:46:58.377577 Read 93 bytes 05:46:58.377586 Process 93 bytes request 05:46:58.377597 Got request: GET /verifiedserver HTTP/1.1 05:46:58.377605 Are-we-friendly question received 05:46:58.377627 Wrote request (93 bytes) input to log/2/server.input 05:46:58.377642 Identifying ourselves as friends 05:46:58.377696 Response sent (56 bytes) and written to log/2/server.response 05:46:58.377705 special request received, no persistency 05:46:58.377713 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 43072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 734 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind734 ==115971== ==115971== Process terminating with default action of signal 4 (SIGILL) ==115971== Illegal opcode at address 0x4014883 ==115971== at 0x4014883: getparameter (tool_getparam.c:2899) ==115971== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115971== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115971== by 0x4004208: main (tool_main.c:189) === End of file valgrind734 test 0735...[IPNS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind735 ../src/curl -q --output log/21/curl735.out --include --trace-ascii log/21/trace735 --trace-time --ipfs-gateway http://127.0.0.1:42891/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/21/stdout735 2> log/21/stderr735 735: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 735 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind735 ../src/curl -q --output log/21/curl735.out --include --trace-ascii log/21/trace735 --trace-time --ipfs-gateway http://127.0.0.1:42891/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/21/stdout735 2> log/21/stderr735 === End of file commands.log === Start of file http_server.log 05:46:57.477023 ====> Client connect 05:46:57.477056 accept_connection 3 returned 4 05:46:57.477073 accept_connection 3 returned 0 05:46:57.477221 Read 93 bytes 05:46:57.477235 Process 93 bytes request 05:46:57.477249 Got request: GET /verifiedserver HTTP/1.1 05:46:57.477259 Are-we-friendly question received 05:46:57.477286 Wrote request (93 bytes) input to log/21/server.input 05:46:57.477303 Identifying ourselves as friends 05:46:57.477357 Response sent (56 bytes) and written to log/21/server.response 05:46:57.477367 special request received, no persistency 05:46:57.477376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 59612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 735 === End of file server.cmd === Start of file server.response HTTP/1.1 200CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind736 ../src/curl -q --output log/1/curl736.out --include --trace-ascii log/1/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout736 2> log/1/stderr736 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind737 ../src/curl -q --output log/8/curl737.out --include --trace-ascii log/8/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout737 2> log/8/stderr737 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind738 ../src/curl -q --output log/18/curl738.out --include --trace-ascii log/18/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout738 2> log/18/stderr738 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind735 ==116023== ==116023== Process terminating with default action of signal 4 (SIGILL) ==116023== Illegal opcode at address 0x4014883 ==116023== at 0x4014883: getparameter (tool_getparam.c:2899) ==116023== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116023== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116023== by 0x4004208: main (tool_main.c:189) === End of file valgrind735 setenv IPFS_PATH = log/1/.ipfs test 0736...[IPFS with IPFS_PATH set, no trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind736 ../src/curl -q --output log/1/curl736.out --include --trace-ascii log/1/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout736 2> log/1/stderr736 736: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 736 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind736 ../src/curl -q --output log/1/curl736.out --include --trace-ascii log/1/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout736 2> log/1/stderr736 === End of file commands.log === Start of file http_server.log 05:46:58.530127 ====> Client connect 05:46:58.530165 accept_connection 3 returned 4 05:46:58.530184 accept_connection 3 returned 0 05:46:58.530200 Read 93 bytes 05:46:58.530211 Process 93 bytes request 05:46:58.530225 Got request: GET /verifiedserver HTTP/1.1 05:46:58.530234 Are-we-friendly question received 05:46:58.530261 Wrote request (93 bytes) input to log/1/server.input 05:46:58.530281 Identifying ourselves as friends 05:46:58.530423 Response sent (56 bytes) and written to log/1/server.response 05:46:58.530437 special request received, no persistency 05:46:58.530447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 736 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind736 ==116078== ==116078== Process terminating with default action of signal 4 (SIGILL) ==116078== Illegal opcode at address 0x4014883 ==116078== at 0x4014883: getparameter (tool_getparam.c:2899) ==116078== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116078== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116078== by 0x4004208: main (tool_main.c:189) === End of file valgrind736 setenv IPFS_PATH = log/8/.ipfs/ test 0737...[IPFS with IPFS_PATH set, with trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind737 ../src/curl -q --output log/8/curl737.out --include --trace-ascii log/8/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout737 2> log/8/stderr737 737: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 737 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind737 ../src/curl -q --output log/8/curl737.out --include --trace-ascii log/8/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout737 2> log/8/stderr737 === End of file commands.log === Start of file http_server.log 05:46:57.933706 ====> Client connect 05:46:57.933741 accept_connection 3 returned 4 05:46:57.933758 accept_connection 3 returned 0 05:46:57.933772 Read 93 bytes 05:46:57.933782 Process 93 bytes request 05:46:57.933792 Got request: GET /verifiedserver HTTP/1.1 05:46:57.933800 Are-we-friendly question received 05:46:57.933842 Wrote request (93 bytes) input to log/8/server.input 05:46:57.933861 Identifying ourselves as friends 05:46:57.933930 Response sent (56 bytes) and written to log/8/server.response 05:46:57.933941 special request received, no persistency 05:46:57.933950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 44416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 737 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind737 ==116263== ==116263== Process terminating with default action of signal 4 (SIGILL) ==116263== Illegal opcode at address 0x4014883 ==116263== at 0x4014883: getparameter (tool_getparam.c:2899) ==116263== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116263== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116263== by 0x4004208: main (tool_main.c:189) === End of file valgrind737 setenv IPFS_PATH = log/18/.ipfs/ test 0738...[IPFS with IPFS_PATH, no gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind738 ../src/curl -q --output log/18/curl738.out --include --trace-ascii log/18/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout738 2> log/18/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/18/ directory after test 738 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind738 ../src/curl -q --output log/18/curl738.out --include --trace-ascii log/18/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout738 2> log/18/stderr738 === End of file commands.log === Start of file http_server.log 05:46:57.914892 ====> Client connect 05:46:57.914925 accept_connection 3 returned 4 05:46:57.914941 accept_connection 3 returned 0 05:46:57.914954 Read 93 bytes 05:46:57.914964 Process 93 bytes request 05:46:57.914976 Got request: GET /verifiedserver HTTP/1.1 05:46:57.914985 Are-we-friendly question received 05:46:57.915010 Wrote request (93 bytes) input to log/18/server.input 05:46:57.915026 Identifying ourselves as friends 05:46:57.915080 Response sent (56 bytes) and written to log/18/server.response 05:46:57.915090 special request received, no persistency 05:46:57.915098 ====> Client disconnect 0 === End of file http_server.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind743 ../src/curl -q --output log/4/curl743.out --include --trace-ascii log/4/trace743 --trace-time http://127.0.0.1:40253/743 -K log/4/config > log/4/stdout743 2> log/4/stderr743 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind739 ../src/curl -q --output log/24/curl739.out --include --trace-ascii log/24/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:33593/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/24/stdout739 2> log/24/stderr739 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind748 ../src/curl -q --output log/6/curl748.out --include --trace-ascii log/6/trace748 --trace-time -K log/6/cmd > log/6/stdout748 2> log/6/stderr748 === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 56496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 738 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind738 ==116253== ==116253== Process terminating with default action of signal 4 (SIGILL) ==116253== Illegal opcode at address 0x4014883 ==116253== at 0x4014883: getparameter (tool_getparam.c:2899) ==116253== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116253== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116253== by 0x4004208: main (tool_main.c:189) === End of file valgrind738 test 0743...[--config with a 127 byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind743 ../src/curl -q --output log/4/curl743.out --include --trace-ascii log/4/trace743 --trace-time http://127.0.0.1:40253/743 -K log/4/config > log/4/stdout743 2> log/4/stderr743 743: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 743 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind743 ../src/curl -q --output log/4/curl743.out --include --trace-ascii log/4/trace743 --trace-time http://127.0.0.1:40253/743 -K log/4/config > log/4/stdout743 2> log/4/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 05:46:58.174744 ====> Client connect 05:46:58.174776 accept_connection 3 returned 4 05:46:58.174792 accept_connection 3 returned 0 05:46:58.174805 Read 93 bytes 05:46:58.174814 Process 93 bytes request 05:46:58.174828 Got request: GET /verifiedserver HTTP/1.1 05:46:58.174836 Are-we-friendly question received 05:46:58.174859 Wrote request (93 bytes) input to log/4/server.input 05:46:58.174875 Identifying ourselves as friends 05:46:58.174927 Response sent (56 bytes) and written to log/4/server.response 05:46:58.174936 special request received, no persistency 05:46:58.174944 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 743 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind743 ==116563== ==116563== Process terminating with default action of signal 4 (SIGILL) ==116563== Illegal opcode at address 0x4014883 ==116563== at 0x4014883: getparameter (tool_getparam.c:2899) ==116563== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116563== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116563== by 0x4004208: main (tool_main.c:189) === End of file valgrind743 test 0739...[IPNS path and query args for gateway and IPFS URL (malformed gateway URL)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind739 ../src/curl -q --output log/24/curl739.out --include --trace-ascii log/24/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:33593/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/24/stdout739 2> log/24/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/24/ directory after test 739 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind739 ../src/curl -q --output log/24/curl739.out --include --trace-ascii log/24/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:33593/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/24/stdout739 2> log/24/stderr739 === End of file commands.log === Start of file http_server.log 05:46:58.933706 ====> Client connect 05:46:58.933741 accept_connection 3 returned 4 05:46:58.933756 accept_connection 3 returned 0 05:46:58.933770 Read 93 bytes 05:46:58.933780 Process 93 bytes request 05:46:58.933790 Got request: GET /verifiedserver HTTP/1.1 05:46:58.933800 Are-we-friendly question received 05:46:58.933840 Wrote request (93 bytes) input to log/24/server.input 05:46:58.933857 Identifying ourselves as friends 05:46:58.933926 Response sent (56 bytes) and written to log/24/server.response 05:46:58.933936 special request received, no persistency 05:46:58.933944 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 36252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 739 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind739 ==116290== ==116290== Process terminating with default action of signal 4 (SIGILL) ==116290== Illegal opcode at address 0x4014883 ==116290== at 0x4014883: getparameter (tool_getparam.c:2899) ==116290== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116290== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116290== by 0x4004208: main (tool_main.c:189) === End of file valgrind739 test 0748...[A --config file that uses -h and no URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind748 ../src/curl -q --output log/6/curl748.out --include --trace-ascii log/6/trace748 --trace-time -K log/6/cmd > log/6/stdout748 2> log/6/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/6/ directory after test 748 === Start of file cmd -h all === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind748 ../src/curl -q --output log/6/curl748.out --include --trace-ascii log/6/trace748 --trace-time -K log/6/cmd > log/6/stdout748 2> log/6/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind742 ../src/curl -q --output log/20/curl742.out --include --trace-ascii log/20/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:38929 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:41891 > log/20/stdout742 2> log/20/stderr742 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind749 ../src/curl -q --output log/5/curl749.out --include --trace-ascii log/5/trace749 --trace-time http://test.example --proxy http://127.0.0.1:35621 --proxytunnel -sS > log/5/stdout749 2> log/5/stderr749 === End of file server.cmd === Start of file valgrind748 ==116647== ==116647== Process terminating with default action of signal 4 (SIGILL) ==116647== Illegal opcode at address 0x4014883 ==116647== at 0x4014883: getparameter (tool_getparam.c:2899) ==116647== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116647== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116647== by 0x4004208: main (tool_main.c:189) === End of file valgrind748 test 0742...[SOCKS5-hostname with max length credentials and max hostname length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind742 ../src/curl -q --output log/20/curl742.out --include --trace-ascii log/20/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:38929 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:41891 > log/20/stdout742 2> log/20/stderr742 742: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 742 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind742 ../src/curl -q --output log/20/curl742.out --include --trace-ascii log/20/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:38929 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:41891 > log/20/stdout742 2> log/20/stderr742 === End of file commands.log === Start of file http_server.log 05:46:58.077061 ====> Client connect 05:46:58.077108 accept_connection 3 returned 4 05:46:58.077126 accept_connection 3 returned 0 05:46:58.077142 Read 93 bytes 05:46:58.077152 Process 93 bytes request 05:46:58.077165 Got request: GET /verifiedserver HTTP/1.1 05:46:58.077174 Are-we-friendly question received 05:46:58.077205 Wrote request (93 bytes) input to log/20/server.input 05:46:58.077221 Identifying ourselves as friends 05:46:58.077296 Response sent (56 bytes) and written to log/20/server.response 05:46:58.077306 special request received, no persistency 05:46:58.077314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 35678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 38929 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind742 ==116457== ==116457== Process terminating with default action of signal 4 (SIGILL) ==116457== Illegal opcode at address 0x4014883 ==116457== at 0x4014883: getparameter (tool_getparam.c:2899) ==116457== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116457== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116457== by 0x4004208: main (tool_main.c:189) === End of file valgrind742 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind746 ../src/curl -q --output log/13/curl746.out --include --trace-ascii log/13/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/13/stdout746 2> log/13/stderr746 test 0749...[HTTP CONNECT with proxy returning 400 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind749 ../src/curl -q --output log/5/curl749.out --include --trace-ascii log/5/trace749 --trace-time http://test.example --proxy http://127.0.0.1:35621 --proxytunnel -sS > log/5/stdout749 2> log/5/stderr749 749: stderr FAILED: --- log/5/check-expected 2026-03-14 05:47:00.781282684 +0000 +++ log/5/check-generated 2026-03-14 05:47:00.781282684 +0000 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/5/ directory after test 749 === Start of file check-expected curl: (56) CONNECT tunnel failed, response 400[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind749 ../src/curl -q --output log/5/curl749.out --include --trace-ascii log/5/trace749 --trace-time http://test.example --proxy http://127.0.0.1:35621 --proxytunnel -sS > log/5/stdout749 2> log/5/stderr749 === End of file commands.log === Start of file http_server.log 05:46:59.400587 ====> Client connect 05:46:59.400624 accept_connection 3 returned 4 05:46:59.400642 accept_connection 3 returned 0 05:46:59.400662 Read 93 bytes 05:46:59.400672 Process 93 bytes request 05:46:59.400687 Got request: GET /verifiedserver HTTP/1.1 05:46:59.400697 Are-we-friendly question received 05:46:59.400719 Wrote request (93 bytes) input to log/5/server.input 05:46:59.400736 Identifying ourselves as friends 05:46:59.400819 Response sent (56 bytes) and written to log/5/server.response 05:46:59.400829 special request received, no persistency 05:46:59.400838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 45876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 749 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind749 ==116776== ==116776== Process terminating with default action of signal 4 (SIGILL) ==116776== Illegal opcode at address 0x4014883 ==116776== at 0x4014883: getparameter (tool_getparam.c:2899) ==116776== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116776== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116776== by 0x4004208: main (tool_main.c:189) === End of file valgrind749 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind751 ./libtest/libtests lib751 - > log/7/stdout751 2> log/7/stderr751 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind750 ../src/curl -q --output log/17/curl750.out --include --trace-ascii log/17/trace750 --trace-time http://test.example --proxy http://127.0.0.1:41505 --proxytunnel -sS > log/17/stdout750 2> log/17/stderr750 test 0746...[too large numerical value passed to -m] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind746 ../src/curl -q --output log/13/curl746.out --include --trace-ascii log/13/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/13/stdout746 2> log/13/stderr746 746: stderr FAILED: --- log/13/check-expected 2026-03-14 05:47:00.907949350 +0000 +++ log/13/check-generated 2026-03-14 05:47:00.907949350 +0000 @@ -1,2 +0,0 @@ -curl: option -m: expected a proper numerical parameter[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/13/ directory after test 746 === Start of file check-expected curl: option -m: expected a proper numerical parameter[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind746 ../src/curl -q --output log/13/curl746.out --include --trace-ascii log/13/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/13/stdout746 2> log/13/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==116618== ==116618== Process terminating with default action of signal 4 (SIGILL) ==116618== Illegal opcode at address 0x4014883 ==116618== at 0x4014883: getparameter (tool_getparam.c:2899) ==116618== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116618== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116618== by 0x4004208: main (tool_main.c:189) === End of file valgrind746 test 0751...[multi - add many easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind751 ./libtest/libtests lib751 - > log/7/stdout751 2> log/7/stderr751 libtests returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/7/ directory after test 751 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind751 ./libtest/libtests lib751 - > log/7/stdout751 2> log/7/stderr751 === End of file commands.log === Start of file server.cmd Testnum 751 === End of file server.cmd === Start of file stderr751 URL: - === End of file stderr751 === Start of file valgrind751 ==116777== ==116777== Process terminating with default action of signal 4 (SIGILL) ==116777== Illegal opcode at address 0x519F3C0 ==116777== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==116777== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==116777== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==116777== by 0x4029F7D: test_lib751.lto_priv.0 (lib751.c:42) ==116777== by 0x40034B5: main (first.c:279) ==116777== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==116777== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==116777== by 0x519F354: Curl_multi_handle (multi.c:235) ==116777== by 0x4029F7D: test_lib751.lto_priv.0 (lib751.c:42) ==116777== by 0x40034B5: main (first.c:279) ==116777== === End of file valgrind751 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind755 ../src/curl -q --output log/23/curl755.out --include --trace-ascii log/23/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:33217 -A "" --netrc > log/23/stdout755 2> log/23/stderr755 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind756 ../src/curl -q --include --trace-ascii log/9/trace756 --trace-time http://127.0.0.1:33885/want/756 http://127.0.0.1:33885/want/7560002 --out-null -o - > log/9/stdout756 2> log/9/stderr756 test 0750...[HTTP CONNECT with proxy returning just HTML and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind750 ../src/curl -q --output log/17/curl750.out --include --trace-ascii log/17/trace750 --trace-time http://test.example --proxy http://127.0.0.1:41505 --proxytunnel -sS > log/17/stdout750 2> log/17/stderr750 750: stderr FAILED: --- log/17/check-expected 2026-03-14 05:47:01.181282683 +0000 +++ log/17/check-generated 2026-03-14 05:47:01.181282683 +0000 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/17/ directory after test 750 === Start of file check-expected curl: (43) Invalid response header[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind750 ../src/curl -q --output log/17/curl750.out --include --trace-ascii log/17/trace750 --trace-time http://test.example --proxy http://127.0.0.1:41505 --proxytunnel -sS > log/17/stdout750 2> log/17/stderr750 === End of file commands.log === Start of file http_server.log 05:46:59.483717 ====> Client connect 05:46:59.483750 accept_connection 3 returned 4 05:46:59.483766 accept_connection 3 returned 0 05:46:59.483779 Read 93 bytes 05:46:59.483788 Process 93 bytes request 05:46:59.483800 Got request: GET /verifiedserver HTTP/1.1 05:46:59.483809 Are-we-friendly question received 05:46:59.483832 Wrote request (93 bytes) input to log/17/server.input 05:46:59.483848 Identifying ourselves as friends 05:46:59.483906 Response sent (56 bytes) and written to log/17/server.response 05:46:59.483915 special request received, no persistency 05:46:59.483923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 44718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 750 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind750 ==116853== ==116853== Process terminating with default action of signal 4 (SIGILL) ==116853== Illegal opcode at address 0x4014883 ==116853== at 0x4014883: getparameter (tool_getparam.c:2899) ==116853== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116853== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116853== by 0x4004208: main (tool_main.c:189) === End of file valgrind750 setenv NETRC = log/23/netrc755 test 0755...[netrc with NETRC pointing out the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind755 ../src/curl -q --output log/23/curl755.out --include --trace-ascii log/23/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:33217 -A "" --netrc > log/23/stdout755 2> log/23/stderr755 755: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 755 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind755 ../src/curl -q --output log/23/curl755.out --include --trace-ascii log/23/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:33217 -A "" --netrc > log/23/stdout755 2> log/23/stderr755 === End of file commands.log === Start of file http_server.log 05:47:00.280395 ====> Client connect 05:47:00.280432 accept_connection 3 returned 4 05:47:00.280449 accept_connection 3 returned 0 05:47:00.280464 Read 93 bytes 05:47:00.280473 Process 93 bytes request 05:47:00.280486 Got request: GET /verifiedserver HTTP/1.1 05:47:00.280495 Are-we-friendly question received 05:47:00.280517 Wrote request (93 bytes) input to log/23/server.input 05:47:00.280532 Identifying ourselves as friends 05:47:00.280592 Response sent (56 bytes) and written to log/23/server.response 05:47:00.280601 special request received, no persistency 05:47:00.280609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 45324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file netrc755 machine foo.host login foo password alone-in-the-dark === End of file netrc755 === Start of file server.cmd Testnum 755 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind755 ==117148== ==117148== Process terminating with default action of signal 4 (SIGILL) ==117148== Illegal opcode at address 0x4014883 ==117148== at 0x4014883: getparameter (tool_getparam.c:2899) ==117148== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117148== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117148== by 0x4004208: main (tool_main.c:189) === End of file valgrind755 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind747 ../src/curl -q --output log/22/curl747.out --include --trace-ascii log/22/trace747 --trace-time http://127.0.0.1:41477/747 > log/22/stdout747 2> log/22/stderr747 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind744 ../src/curl -q --output log/19/curl744.out --include --trace-ascii log/19/trace744 --trace-time http://foo.host:35701/744 -p --proxy1.0 127.0.0.1:44431 -A "" --netrc-file log/19/netrc744 > log/19/stdout744 2> log/19/stderr744 test 0756...[mix --output and --out-null] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind756 ../src/curl -q --include --trace-ascii log/9/trace756 --trace-time http://127.0.0.1:33885/want/756 http://127.0.0.1:33885/want/7560002 --out-null -o - > log/9/stdout756 2> log/9/stderr756 756: stdout FAILED: --- log/9/check-expected 2026-03-14 05:47:01.631282683 +0000 +++ log/9/check-generated 2026-03-14 05:47:01.631282683 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Response: 2[LF] -Content-Type: text/html[LF] -Content-Length: 8[LF] -[LF] -Hello2![LF] == Contents of files in the log/9/ directory after test 756 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Response: 2[LF] Content-Type: text/html[LF] Content-Length: 8[LF] [LF] Hello2![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind756 ../src/curl -q --include --trace-ascii log/9/trace756 --trace-time http://127.0.0.1:33885/want/756 http://127.0.0.1:33885/want/7560002 --out-null -o - > log/9/stdout756 2> log/9/stderr756 === End of file commands.log === Start of file http_server.log 05:46:59.296805 ====> Client connect 05:46:59.296834 accept_connection 3 returned 4 05:46:59.296850 accept_connection 3 returned 0 05:46:59.296863 Read 93 bytes 05:46:59.296873 Process 93 bytes request 05:46:59.296885 Got request: GET /verifiedserver HTTP/1.1 05:46:59.296894 Are-we-friendly question received 05:46:59.296915 Wrote request (93 bytes) input to log/9/server.input 05:46:59.296932 Identifying ourselves as friends 05:46:59.296993 Response sent (56 bytes) and written to log/9/server.response 05:46:59.297002 special request received, no persistency 05:46:59.297011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 37746 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 756 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind756 ==117163== ==117163== Process terminating with default action of signal 4 (SIGILL) ==117163== Illegal opcode at address 0x4014883 ==117163== at 0x4014883: getparameter (tool_getparam.c:2899) ==117163== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117163== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117163== by 0x4004208: main (tool_main.c:189) === End of file valgrind756 test 0747...[Reject too many HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind747 ../src/curl -q --output log/22/curl747.out --include --trace-ascii log/22/trace747 --trace-time http://127.0.0.1:41477/747 > log/22/stdout747 2> log/22/stderr747 747: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 747 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind747 ../src/curl -q --output log/22/curl747.out --include --trace-ascii log/22/trace747 --trace-time http://127.0.0.1:41477/747 > log/22/stdout747 2> log/22/stderr747 === End of file commands.log === Start of file http_server.log 05:46:59.372230 ====> Client connect 05:46:59.372302 accept_connection 3 returned 4 05:46:59.372333 accept_connection 3 returned 0 05:46:59.372348 Read 93 bytes 05:46:59.372369 Process 93 bytes request 05:46:59.372395 Got request: GET /verifiedserver HTTP/1.1 05:46:59.372414 Are-we-friendly question received 05:46:59.372463 Wrote request (93 bytes) input to log/22/server.input 05:46:59.372494 Identifying ourselves as friends 05:46:59.372606 Response sent (56 bytes) and written to log/22/server.response 05:46:59.372622 special request received, no persistency 05:46:59.372640 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 49236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 747 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind747 ==116822== ==116822== Process terminating with default action of signal 4 (SIGILL) ==116822== Illegal opcode at address 0x4014883 ==116822== at 0x4014883: getparameter (tool_getparam.c:2899) ==116822== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116822== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116822== by 0x4004208: main (tool_main.c:189) === End of file valgrind747 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/19/server/http2_server.pid" --logfile "log/19/http2_server.log" --logdir "log/19" --portfile log/19/server/http2_server.port --config log/19/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 116662 port 44431 * pid http-proxy => 116662 116662 test 0744...[--netrc-file with a 127 byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind744 ../src/curl -q --output log/19/curl744.out --include --trace-ascii log/19/trace744 --trace-time http://foo.host:35701/744 -p --proxy1.0 127.0.0.1:44431 -A "" --netrc-file log/19/netrc744 > log/19/stdout744 2> log/19/stderr744 744: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 744 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind744 ../src/curl -q --output log/19/curl744.out --include --trace-ascii log/19/trace744 --trace-time http://foo.host:35701/744 -p --proxy1.0 127.0.0.1:44431 -A "" --netrc-file log/19/netrc744 > log/19/stdout744 2> log/19/stderr744 === End of file commands.log === Start of file http2_server.log 05:46:58.399451 Run as proxy, CONNECT to host 127.0.0.1 05:46:58.399596 Running HTTP IPv4 version on port 44431 05:46:58.399669 Wrote pid 116662 to log/19/server/http2_server.pid 05:46:58.399705 Wrote port 44431 to log/19/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:46:58.317371 ====> Client connect 05:46:58.3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind759 ../src/curl -q --output log/21/curl759.out --include --trace-ascii log/21/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/21/stdout759 2> log/21/stderr759 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind752 ../src/curl -q --output log/16/curl752.out --include --trace-ascii log/16/trace752 --trace-time http://127.0.0.1:44673/752 -f --retry 1 > log/16/stdout752 2> log/16/stderr752 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:41799/we/want/757 > log/2/stdout757 2> log/2/stderr757 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind760 ../src/curl -q --output log/1/curl760.out --include --trace-ascii log/1/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/1/stdout760 2> log/1/stderr760 17410 accept_connection 3 returned 4 05:46:58.317428 accept_connection 3 returned 0 05:46:58.317444 Read 93 bytes 05:46:58.317454 Process 93 bytes request 05:46:58.317468 Got request: GET /verifiedserver HTTP/1.1 05:46:58.317478 Are-we-friendly question received 05:46:58.317510 Wrote request (93 bytes) input to log/19/server.input 05:46:58.317531 Identifying ourselves as friends 05:46:58.317615 Response sent (56 bytes) and written to log/19/server.response 05:46:58.317628 special request received, no persistency 05:46:58.317637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 34068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file netrc744 machine foo.host login foo password baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar === End of file netrc744 === Start of file server.cmd Testnum 744 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind744 ==117191== ==117191== Process terminating with default action of signal 4 (SIGILL) ==117191== Illegal opcode at address 0x4014883 ==117191== at 0x4014883: getparameter (tool_getparam.c:2899) ==117191== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117191== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117191== by 0x4004208: main (tool_main.c:189) === End of file valgrind744 test 0759...[glob '{,'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind759 ../src/curl -q --output log/21/curl759.out --include --trace-ascii log/21/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/21/stdout759 2> log/21/stderr759 curl returned 132, when expecting 3 759: exit FAILED == Contents of files in the log/21/ directory after test 759 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind759 ../src/curl -q --output log/21/curl759.out --include --trace-ascii log/21/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/21/stdout759 2> log/21/stderr759 === End of file commands.log === Start of file server.cmd Testnum 759 === End of file server.cmd === Start of file valgrind759 ==117383== ==117383== Process terminating with default action of signal 4 (SIGILL) ==117383== Illegal opcode at address 0x4014883 ==117383== at 0x4014883: getparameter (tool_getparam.c:2899) ==117383== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117383== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117383== by 0x4004208: main (tool_main.c:189) === End of file valgrind759 test 0752...[--retry and -f on an HTTP 404 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind752 ../src/curl -q --output log/16/curl752.out --include --trace-ascii log/16/trace752 --trace-time http://127.0.0.1:44673/752 -f --retry 1 > log/16/stdout752 2> log/16/stderr752 752: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 752 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind752 ../src/curl -q --output log/16/curl752.out --include --trace-ascii log/16/trace752 --trace-time http://127.0.0.1:44673/752 -f --retry 1 > log/16/stdout752 2> log/16/stderr752 === End of file commands.log === Start of file http_server.log 05:47:00.140172 ====> Client connect 05:47:00.140205 accept_connection 3 returned 4 05:47:00.140221 accept_connection 3 returned 0 05:47:00.140234 Read 93 bytes 05:47:00.140244 Process 93 bytes request 05:47:00.140257 Got request: GET /verifiedserver HTTP/1.1 05:47:00.140266 Are-we-friendly question received 05:47:00.140289 Wrote request (93 bytes) input to log/16/server.input 05:47:00.140318 Identifying ourselves as friends 05:47:00.140490 Response sent (56 bytes) and written to log/16/server.response 05:47:00.140501 special request received, no persistency 05:47:00.140510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 34946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 752 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind752 ==117055== ==117055== Process terminating with default action of signal 4 (SIGILL) ==117055== Illegal opcode at address 0x4014883 ==117055== at 0x4014883: getparameter (tool_getparam.c:2899) ==117055== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117055== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117055== by 0x4004208: main (tool_main.c:189) === End of file valgrind752 test 0760...[more cmdline options than URLs and --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind760 ../src/curl -q --output log/1/curl760.out --include --trace-ascii log/1/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/1/stdout760 2> log/1/stderr760 curl returned 132, when expecting 1 760: exit FAILED == Contents of files in the log/1/ directory after test 760 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind760 ../src/curl -q --output log/1/curl760.out --include --trace-ascii log/1/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/1/stdout760 2> log/1/stderr760 === End of file commands.log === Start of file server.cmd Testnum 760 === End of file server.cmd === Start of file valgrind760 ==117412== ==117412== Process terminating with default action of signal 4 (SIGILL) ==117412== Illegal opcode at address 0x4014883 ==117412== at 0x4014883: getparameter (tool_getparam.c:2899) ==117412== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117412== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117412== by 0x4004208: main (tool_main.c:189) === End of file valgrind760 test 0757...[MIME parts reused as a child part, using data_cb] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:41799/we/want/757 > log/2/stdout757 2> log/2/stderr757 757: protocol FAILED! There was no content at all in thCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind754 ../src/curl -q --output log/10/curl754.out --include --trace-ascii log/10/trace754 --trace-time ftp://127.0.0.1:32809/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/10/stdout754 2> log/10/stderr754 e file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 757 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:41799/we/want/757 > log/2/stdout757 2> log/2/stderr757 === End of file commands.log === Start of file http_server.log 05:47:00.563732 ====> Client connect 05:47:00.563780 accept_connection 3 returned 4 05:47:00.563798 accept_connection 3 returned 0 05:47:00.563814 Read 93 bytes 05:47:00.563824 Process 93 bytes request 05:47:00.563838 Got request: GET /verifiedserver HTTP/1.1 05:47:00.563847 Are-we-friendly question received 05:47:00.563882 Wrote request (93 bytes) input to log/2/server.input 05:47:00.563898 Identifying ourselves as friends 05:47:00.563974 Response sent (56 bytes) and written to log/2/server.response 05:47:00.563984 special request received, no persistency 05:47:00.563992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 43088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 757 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr757 URL: http://127.0.0.1:41799/we/want/757 === End of file stderr757 === Start of file valgrind757 ==117394== ==117394== Process terminating with default action of signal 4 (SIGILL) ==117394== Illegal opcode at address 0x51D8933 ==117394== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==117394== by 0x51D8933: UnknownInlinedFun (request.c:40) ==117394== by 0x51D8933: Curl_open (url.c:503) ==117394== by 0x514E50F: curl_easy_init (easy.c:350) ==117394== by 0x402654A: test_lib757.lto_priv.0 (lib757.c:72) ==117394== by 0x40034B5: main (first.c:279) === End of file valgrind757 test 0754...[FTP list with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind754 ../src/curl -q --output log/10/curl754.out --include --trace-ascii log/10/trace754 --trace-time ftp://127.0.0.1:32809/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/10/stdout754 2> log/10/stderr754 754: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 754 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind754 ../src/curl -q --output log/10/curl754.out --include --trace-ascii log/10/trace754 --trace-time ftp://127.0.0.1:32809/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/10/stdout754 2> log/10/stderr754 === End of file commands.log === Start of file ftp_server.log 05:46:59.822336 ====> Client connect 05:46:59.822504 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:46:59.832397 < "USER anonymous" 05:46:59.832472 > "331 We are happy you popped in![CR][LF]" 05:46:59.832705 < "PASS ftp@example.com" 05:46:59.832734 > "230 Welcome you silly person[CR][LF]" 05:46:59.832914 < "PWD" 05:46:59.832955 > "257 "/" is current directory[CR][LF]" 05:46:59.833149 < "EPSV" 05:46:59.833176 ====> Passive DATA channel requested by client 05:46:59.833194 DATA sockfilt for passive data channel starting... 05:46:59.837080 DATA sockfilt for passive data channel started (pid 117145) 05:46:59.837196 DATA sockfilt for passive data channel listens on port 34897 05:46:59.837245 > "229 Entering Passive Mode (|||34897|)[CR][LF]" 05:46:59.837267 Client has been notified that DATA conn will be accepted on port 34897 05:46:59.837532 Client connects to port 34897 05:46:59.837564 ====> Client established passive DATA connection on port 34897 05:46:59.837649 < "TYPE I" 05:46:59.837682 > "200 I modify TYPE as you wanted[CR][LF]" 05:46:59.837851 < "SIZE verifiedserver" 05:46:59.837892 > "213 17[CR][LF]" 05:46:59.838059 < "RETR verifiedserver" 05:46:59.838094 > "150 Binary junk (17 bytes).[CR][LF]" 05:46:59.838176 =====> Closing passive DATA connection... 05:46:59.838193 Server disconnects passive DATA connection 05:46:59.842481 Server disconnected passive DATA connection 05:46:59.842519 DATA sockfilt for passive data channel quits (pid 117145) 05:46:59.842807 DATA sockfilt for passive data channel quit (pid 117145) 05:46:59.842836 =====> Closed passive DATA connection 05:46:59.842870 > "226 File transfer complete[CR][LF]" 05:46:59.892538 < "QUIT" 05:46:59.892603 > "221 bye bye baby[CR][LF]" 05:46:59.893919 MAIN sockfilt said DISC 05:46:59.893953 ====> Client disconnected 05:46:59.894034 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:00.283669 ====> Client connect 05:47:00.283974 Received DATA (on stdin) 05:47:00.283988 > 146 bytes data, server => client 05:47:00.284000 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:00.284010 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:00.284020 '220 \___|\___/|_| \_\_____|\r\n' 05:47:00.290421 < 16 bytes data, client => server 05:47:00.290453 'USER anonymous\r\n' 05:47:00.293949 Received DATA (on stdin) 05:47:00.293967 > 33 bytes data, server => client 05:47:00.293979 '331 We are happy you popped in!\r\n' 05:47:00.294059 < 22 bytes data, client => server 05:47:00.294077 'PASS ftp@example.com\r\n' 05:47:00.294196 Received DATA (on stdin) 05:47:00.294209 > 30 bytes data, server => client 05:47:00.294220 '230 Welcome you silly person\r\n' 05:47:00.294276 < 5 bytes data, client => server 05:47:00.294291 'PWD\r\n' 05:47:00.294417 Received DATA (on stdin) 05:47:00.294430 > 30 bytes data, server => client 05:47:00.294440 '257 "/" is current directory\r\n' 05:47:00.294510 < 6 bytes data, client => server 05:47:00.294525 'EPSV\r\n' 05:47:00.298736 Received DATA (on stdin) 05:47:00.298751 > 39 bytes data, server => client 05:47:00.298762 '229 Entering Passive Mode (|||34897|)\r\n' 05:47:00.298908 < 8 bytes data, client => server 05:47:00.298923 'TYPE I\r\n' 05:47:00.299144 Received DATA (on stdin) 05:47:00.299156 > 33 bytes data, server => client 05:47:00.299166 '200 I modify TYPE as you wanted\r\n' 05:47:00.299219 < 21 bytes data, client => server 05:47:00.299231 'SIZE verifiedserver\r\n' 05:47:00.299355 Received DATA (on stdin) 05:47:00.299367 > 8 bytes data, server => client 05:47:00.299377 '213 17\r\n' 05:47:00.299427 < 21 bytes data, client => server 05:47:00.299440 'RETR verifiedserver\r\n' 05:47:00.303652 Received DATA (on stdin) 05:47:00.303675 > 29 bytes data, server => client 05:47:00.303687 '150 Binary junk (17 bytes).\r\n' 05:47:00.304333 Received DATA (on stdin) 05:47:00.304346 > 28 bytes data, server => client 05:47:00.304356 '226 File transfer complete\r\n' 05:47:00.353769 < 6 bytes data, client => server 05:47:00.353800 'QUIT\r\n' 05:47:00.354067 Received DATA (on stdin) 05:47:00.354079 > 18 bytes data, server => client 05:47:00.354090 '221 bye bye baby\r\n' 05:47:00.355321 ====> Client disconnect 05:47:00.355497 Received ACKD (on stdin) === End of file ftp_sockctrl.lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind762 ../src/curl -q --trace-ascii log/18/trace762 --trace-time http://127.0.0.1:39913/762 -O --remote-time --output-dir log/18 > log/18/stdout762 2> log/18/stderr762 CMD (256): /usr/bin/perl -e 'exit((stat("log/18/762"))[9] != -922349651)' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind761 ../src/curl -q --output log/8/curl761.out --include --trace-ascii log/8/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/8/stdout761 2> log/8/stderr761 og === Start of file ftp_sockdata.log 05:46:59.298207 Running IPv4 version 05:46:59.298287 Listening on port 34897 05:46:59.298325 Wrote pid 117145 to log/10/server/ftp_sockdata.pid 05:46:59.298477 Received PING (on stdin) 05:46:59.298568 Received PORT (on stdin) 05:46:59.298943 ====> Client connect 05:46:59.303758 Received DATA (on stdin) 05:46:59.303775 > 17 bytes data, server => client 05:46:59.303785 'WE ROOLZ: 81057\r\n' 05:46:59.303814 Received DISC (on stdin) 05:46:59.303826 ====> Client forcibly disconnected 05:46:59.303989 Received QUIT (on stdin) 05:46:59.304000 quits 05:46:59.304066 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY FAIL 500 this might not be a failure Testnum 754 === End of file server.cmd === Start of file valgrind754 ==117226== ==117226== Process terminating with default action of signal 4 (SIGILL) ==117226== Illegal opcode at address 0x4014883 ==117226== at 0x4014883: getparameter (tool_getparam.c:2899) ==117226== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117226== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117226== by 0x4004208: main (tool_main.c:189) === End of file valgrind754 test 0762...[HTTP GET with --remote-time with file date from 1940] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind762 ../src/curl -q --trace-ascii log/18/trace762 --trace-time http://127.0.0.1:39913/762 -O --remote-time --output-dir log/18 > log/18/stdout762 2> log/18/stderr762 postcheck /usr/bin/perl -e 'exit((stat("log/18/762"))[9] != -922349651)' 762: postcheck FAILED == Contents of files in the log/18/ directory after test 762 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind762 ../src/curl -q --trace-ascii log/18/trace762 --trace-time http://127.0.0.1:39913/762 -O --remote-time --output-dir log/18 > log/18/stdout762 2> log/18/stderr762 === End of file commands.log === Start of file http_server.log 05:46:59.911778 ====> Client connect 05:46:59.911811 accept_connection 3 returned 4 05:46:59.911826 accept_connection 3 returned 0 05:46:59.911840 Read 93 bytes 05:46:59.911850 Process 93 bytes request 05:46:59.911862 Got request: GET /verifiedserver HTTP/1.1 05:46:59.911871 Are-we-friendly question received 05:46:59.911895 Wrote request (93 bytes) input to log/18/server.input 05:46:59.911912 Identifying ourselves as friends 05:46:59.911966 Response sent (56 bytes) and written to log/18/server.response 05:46:59.911975 special request received, no persistency 05:46:59.911984 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 56504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 762 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind762 ==117578== ==117578== Process terminating with default action of signal 4 (SIGILL) ==117578== Illegal opcode at address 0x4014883 ==117578== at 0x4014883: getparameter (tool_getparam.c:2899) ==117578== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117578== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117578== by 0x4004208: main (tool_main.c:189) === End of file valgrind762 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind767 ../src/curl -q --output log/5/curl767.out --include --trace-ascii log/5/trace767 --trace-time http://127.0.0.1:35621/767 > log/5/stdout767 2> log/5/stderr767 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind764 ../src/curl -q --include --trace-ascii log/24/trace764 --trace-time http://127.0.0.1:33593/764 -L -w '%header{this:all:***}\n' -o log/24/764.out > log/24/stdout764 2> log/24/stderr764 test 0761...[too many {} globs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind761 ../src/curl -q --output log/8/curl761.out --include --trace-ascii log/8/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/8/stdout761 2> log/8/stderr761 761: stderr FAILED: --- log/8/check-expected 2026-03-14 05:47:02.521282683 +0000 +++ log/8/check-generated 2026-03-14 05:47:02.521282683 +0000 @@ -1,2 +0,0 @@ -curl: (3) too many {} sets in URL position 403:[CR][LF] -http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a[CR][LF] == Contents of files in the log/8/ directory after test 761 === Start of file check-expected curl: (3) too many {} sets in URL position 403:[CR][LF] http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind761 ../src/curl -q --output log/8/curl761.out --include --trace-ascii log/8/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/8/stdout761 2> log/8/stderr761 === End of file commands.log === Start of file server.cmd Testnum 761 === End of file server.cmd === Start of file valgrind761 ==117540== ==117540== Process terminating with default action of signal 4 (SIGILL) ==117540== Illegal opcode at address 0x4014883 ==117540== at 0x4014883: getparameter (tool_getparam.c:2899) ==117540== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117540== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117540== by 0x4004208: main (tool_main.c:189) === End of file valgrind761 test 0767...[HTTP with two Content-Length response header fields same size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind767 ../src/curl -q --output log/5/curl767.out --include --trace-ascii log/5/trace767 --trace-time http://127.0.0.1:35621/767 > log/5/stdout767 2> log/5/stderr767 767: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 767 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind767 ../src/curl -q --output log/5/curl767.out --include --trace-ascii log/5/trace767 --trace-time http://127.0.0.1:35621/767 > log/5/stdout767 2> log/5/stderr767 === End of file commands.log === Start of file http_server.log 05:47:01.343042 ====> Client connect 05:47:01.343074 accept_connection 3 returned 4 05:47:01.343091 accept_connection 3 returned 0 05:47:01.343106 Read 93 bytes 05:47:01.343116 Process 93 bytes request 05:47:01.343130 Got request: GET /verifiedserver HTTP/1.1 05:47:01.343139 Are-we-friendly question received 05:47:01.343162 Wrote request (93 bytes) input to log/5/server.input 05:47:01.343179 Identifying ourselves as friends 05:47:01.343272 Response sent (56 bytes) and written to log/5/server.response 05:47:01.343284 special request received, no persistency 05:47:01.343294 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 45886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 767 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind767 ==117845== ==117845== Process terminating with default action of signal 4 (SIGILL) ==117845== Illegal opcode at address 0x4014883 ==117845== at 0x4014883: getparameter (tool_getparam.c:2899) ==117845== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117845== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117845== by 0x4004208: main (tool_main.c:189) === End of file valgrind767 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind725 ../src/curl -q --output log/3/curl725.out --include --trace-ascii log/3/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout725 2> log/3/stderr725 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind765 ../src/curl -q --include --trace-ascii log/6/trace765 --trace-time http://127.0.0.1:33035/765 -L -w '%header{this:all:-{\}-}\n' -o log/6/765.out > log/6/stdout765 2> log/6/stderr765 test 0764...[-w with multiple header output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind764 ../src/curl -q --include --trace-ascii log/24/trace764 --trace-time http://127.0.0.1:33593/764 -L -w '%header{this:all:***}\n' -o log/24/764.out > log/24/stdout764 2> log/24/stderr764 764: stdout FAILED: --- log/24/check-expected 2026-03-14 05:47:02.821282682 +0000 +++ log/24/check-generated 2026-03-14 05:47:02.821282682 +0000 @@ -1 +0,0 @@ -one***two***three***four[CR][LF] == Contents of files in the log/24/ directory after test 764 === Start of file check-expected one***two***three***four[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind764 ../src/curl -q --include --trace-ascii log/24/trace764 --trace-time http://127.0.0.1:33593/764 -L -w '%header{this:all:***}\n' -o log/24/764.out > log/24/stdout764 2> log/24/stderr764 === End of file commands.log === Start of file http_server.log 05:47:01.181277 ====> Client connect 05:47:01.181308 accept_connection 3 returned 4 05:47:01.181322 accept_connection 3 returned 0 05:47:01.181335 Read 93 bytes 05:47:01.181344 Process 93 bytes request 05:47:01.181356 Got request: GET /verifiedserver HTTP/1.1 05:47:01.181364 Are-we-friendly question received 05:47:01.181385 Wrote request (93 bytes) input to log/24/server.input 05:47:01.181401 Identifying ourselves as friends 05:47:01.181451 Response sent (56 bytes) and written to log/24/server.response 05:47:01.181459 special request received, no persistency 05:47:01.181468 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 36262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 764 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind764 ==117733== ==117733== Process terminating with default action of signal 4 (SIGILL) ==117733== Illegal opcode at address 0x4014883 ==117733== at 0x4014883: getparameter (tool_getparam.c:2899) ==117733== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117733== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117733== by 0x4004208: main (tool_main.c:189) === End of file valgrind764 setenv HOME = /startdir/src/build-curl/tests/log/3 test 0725...[IPFS with malformed gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind725 ../src/curl -q --output log/3/curl725.out --include --trace-ascii log/3/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout725 2> log/3/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/3/ directory after test 725 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind725 ../src/curl -q --output log/3/curl725.out --include --trace-ascii log/3/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout725 2> log/3/stderr725 === End of file commands.log === Start of file http_server.log 05:46:56.625025 ====> Client connect 05:46:56.625060 accept_connection 3 returned 4 05:46:56.625075 accept_connection 3 returned 0 05:46:56.625090 Read 93 bytes 05:46:56.625100 Process 93 bytes request 05:46:56.625114 Got request: GET /verifiedserver HTTP/1.1 05:46:56.625123 Are-we-friendly question received 05:46:56.625148 Wrote request (93 bytes) input to log/3/server.input 05:46:56.625164 Identifying ourselves as friends 05:46:56.625220 Response sent (56 bytes) and written to log/3/server.response 05:46:56.625229 special request received, no persistency 05:46:56.625238 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 41394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 725 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind725 ==114815== ==114815== Process terminating with default action of signal 4 (SIGILL) ==114815== Illegal opcode at address 0x4014883 ==114815== at 0x4014883: getparameter (tool_getparam.c:2899) ==114815== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114815== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114815== by 0x4004208: main (tool_main.c:189) === End of file valgrind725 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind763 ../src/curl -q --output log/4/curl763.out --include --trace-ascii log/4/trace763 --trace-time '​‌' > log/4/stdout763 2> log/4/stderr763 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind768 ../src/curl -q --output log/13/curl768.out --include --trace-ascii log/13/trace768 --trace-time http://127.0.0.1:45359/768 > log/13/stdout768 2> log/13/stderr768 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind770 ../src/curl -q --output log/7/curl770.out --include --trace-ascii log/7/trace770 --trace-time http://127.0.0.1:39013/770 > log/7/stdout770 2> log/7/stderr770 test 0765...[-w with multiple header output using } in separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind765 ../src/curl -q --include --trace-ascii log/6/trace765 --trace-time http://127.0.0.1:33035/765 -L -w '%header{this:all:-{\}-}\n' -o log/6/765.out > log/6/stdout765 2> log/6/stderr765 765: stdout FAILED: --- log/6/check-expected 2026-03-14 05:47:02.844616015 +0000 +++ log/6/check-generated 2026-03-14 05:47:02.844616015 +0000 @@ -1 +0,0 @@ -one-{}-two-{}-three-{}-four[CR][LF] == Contents of files in the log/6/ directory after test 765 === Start of file check-expected one-{}-two-{}-three-{}-four[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind765 ../src/curl -q --include --trace-ascii log/6/trace765 --trace-time http://127.0.0.1:33035/765 -L -w '%header{this:all:-{\}-}\n' -o log/6/765.out > log/6/stdout765 2> log/6/stderr765 === End of file commands.log === Start of file http_server.log 05:47:00.273739 ====> Client connect 05:47:00.273790 accept_connection 3 returned 4 05:47:00.273813 accept_connection 3 returned 0 05:47:00.273830 Read 93 bytes 05:47:00.273840 Process 93 bytes request 05:47:00.273854 Got request: GET /verifiedserver HTTP/1.1 05:47:00.273864 Are-we-friendly question received 05:47:00.273893 Wrote request (93 bytes) input to log/6/server.input 05:47:00.273913 Identifying ourselves as friends 05:47:00.274009 Response sent (56 bytes) and written to log/6/server.response 05:47:00.274023 special request received, no persistency 05:47:00.274033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 59942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 765 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind765 ==117797== ==117797== Process terminating with default action of signal 4 (SIGILL) ==117797== Illegal opcode at address 0x4014883 ==117797== at 0x4014883: getparameter (tool_getparam.c:2899) ==117797== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117797== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117797== by 0x4004208: main (tool_main.c:189) === End of file valgrind765 test 0763...[Unicode hostname ending up in a blank name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind763 ../src/curl -q --output log/4/curl763.out --include --trace-ascii log/4/trace763 --trace-time '​‌' > log/4/stdout763 2> log/4/stderr763 curl returned 132, when expecting 3 763: exit FAILED == Contents of files in the log/4/ directory after test 763 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind763 ../src/curl -q --output log/4/curl763.out --include --trace-ascii log/4/trace763 --trace-time '​‌' > log/4/stdout763 2> log/4/stderr763 === End of file commands.log === Start of file server.cmd Testnum 763 === End of file server.cmd === Start of file valgrind763 ==117592== ==117592== Process terminating with default action of signal 4 (SIGILL) ==117592== Illegal opcode at address 0x4014883 ==117592== at 0x4014883: getparameter (tool_getparam.c:2899) ==117592== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117592== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117592== by 0x4004208: main (tool_main.c:189) === End of file valgrind763 test 0768...[HTTP with letters after the number in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind768 ../src/curl -q --output log/13/curl768.out --include --trace-ascii log/13/trace768 --trace-time http://127.0.0.1:45359/768 > log/13/stdout768 2> log/13/stderr768 768: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 768 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind768 ../src/curl -q --output log/13/curl768.out --include --trace-ascii log/13/trace768 --trace-time http://127.0.0.1:45359/768 > log/13/stdout768 2> log/13/stderr768 === End of file commands.log === Start of file http_server.log 05:47:01.493885 ====> Client connect 05:47:01.493937 accept_connection 3 returned 4 05:47:01.493958 accept_connection 3 returned 0 05:47:01.493975 Read 93 bytes 05:47:01.493986 Process 93 bytes request 05:47:01.494000 Got request: GET /verifiedserver HTTP/1.1 05:47:01.494009 Are-we-friendly question received 05:47:01.494037 Wrote request (93 bytes) input to log/13/server.input 05:47:01.494053 Identifying ourselves as friends 05:47:01.494140 Response sent (56 bytes) and written to log/13/server.response 05:47:01.494153 special request received, no persistency 05:47:01.494162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 43052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 768 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind768 ==117968== ==117968== Process terminating with default action of signal 4 (SIGILL) ==117968== Illegal opcode at address 0x4014883 ==117968== at 0x4014883: getparameter (tool_getparam.c:2899) ==117968== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==117968== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==117968== by 0x4004208: main (tool_main.c:189) === End of file valgrind768 test 0770...[HTTP with Content-Length headers using comma separated list] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind770 ../src/curl -q --output log/7/curl770.out --include --trace-ascii log/7/trace770 --trace-time http://127.0.0.1:39013/770 > log/7/stdout770 2> log/7/stderr770 770: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 770 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind77CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:46185/path/766 > log/20/stdout766 2> log/20/stderr766 0 ../src/curl -q --output log/7/curl770.out --include --trace-ascii log/7/trace770 --trace-time http://127.0.0.1:39013/770 > log/7/stdout770 2> log/7/stderr770 === End of file commands.log === Start of file http_server.log 05:47:00.845736 ====> Client connect 05:47:00.845772 accept_connection 3 returned 4 05:47:00.845789 accept_connection 3 returned 0 05:47:00.845804 Read 93 bytes 05:47:00.845813 Process 93 bytes request 05:47:00.845828 Got request: GET /verifiedserver HTTP/1.1 05:47:00.845837 Are-we-friendly question received 05:47:00.845861 Wrote request (93 bytes) input to log/7/server.input 05:47:00.845877 Identifying ourselves as friends 05:47:00.845939 Response sent (56 bytes) and written to log/7/server.response 05:47:00.845948 special request received, no persistency 05:47:00.845957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 59348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 770 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind770 ==118113== ==118113== Process terminating with default action of signal 4 (SIGILL) ==118113== Illegal opcode at address 0x4014883 ==118113== at 0x4014883: getparameter (tool_getparam.c:2899) ==118113== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118113== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118113== by 0x4004208: main (tool_main.c:189) === End of file valgrind770 test 0766...[FTP PORT with sockopt callback refusing the accept] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:46185/path/766 > log/20/stdout766 2> log/20/stderr766 766: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 766 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:46185/path/766 > log/20/stdout766 2> log/20/stderr766 === End of file commands.log === Start of file ftp_server.log 05:47:00.797157 ====> Client connect 05:47:00.797320 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:00.797633 < "USER anonymous" 05:47:00.797674 > "331 We are happy you popped in![CR][LF]" 05:47:00.797863 < "PASS ftp@example.com" 05:47:00.797895 > "230 Welcome you silly person[CR][LF]" 05:47:00.798071 < "PWD" 05:47:00.798110 > "257 "/" is current directory[CR][LF]" 05:47:00.798288 < "EPSV" 05:47:00.798320 ====> Passive DATA channel requested by client 05:47:00.798335 DATA sockfilt for passive data channel starting... 05:47:00.800480 DATA sockfilt for passive data channel started (pid 117775) 05:47:00.800594 DATA sockfilt for passive data channel listens on port 36807 05:47:00.800639 > "229 Entering Passive Mode (|||36807|)[CR][LF]" 05:47:00.800660 Client has been notified that DATA conn will be accepted on port 36807 05:47:00.800898 Client connects to port 36807 05:47:00.800929 ====> Client established passive DATA connection on port 36807 05:47:00.801011 < "TYPE I" 05:47:00.801044 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:00.801211 < "SIZE verifiedserver" 05:47:00.801252 > "213 17[CR][LF]" 05:47:00.801413 < "RETR verifiedserver" 05:47:00.801450 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:00.801539 =====> Closing passive DATA connection... 05:47:00.801558 Server disconnects passive DATA connection 05:47:00.801736 Server disconnected passive DATA connection 05:47:00.801761 DATA sockfilt for passive data channel quits (pid 117775) 05:47:00.802091 DATA sockfilt for passive data channel quit (pid 117775) 05:47:00.802117 =====> Closed passive DATA connection 05:47:00.802144 > "226 File transfer complete[CR][LF]" 05:47:00.846695 < "QUIT" 05:47:00.846765 > "221 bye bye baby[CR][LF]" 05:47:00.848044 MAIN sockfilt said DISC 05:47:00.848093 ====> Client disconnected 05:47:00.848193 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:01.258499 ====> Client connect 05:47:01.258804 Received DATA (on stdin) 05:47:01.258824 > 146 bytes data, server => client 05:47:01.258836 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:01.258847 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:01.258857 '220 \___|\___/|_| \_\_____|\r\n' 05:47:01.258936 < 16 bytes data, client => server 05:47:01.258951 'USER anonymous\r\n' 05:47:01.259138 Received DATA (on stdin) 05:47:01.259151 > 33 bytes data, server => client 05:47:01.259162 '331 We are happy you popped in!\r\n' 05:47:01.259216 < 22 bytes data, client => server 05:47:01.259229 'PASS ftp@example.com\r\n' 05:47:01.259356 Received DATA (on stdin) 05:47:01.259368 > 30 bytes data, server => client 05:47:01.259378 '230 Welcome you silly person\r\n' 05:47:01.259431 < 5 bytes data, client => server 05:47:01.259443 'PWD\r\n' 05:47:01.259572 Received DATA (on stdin) 05:47:01.259584 > 30 bytes data, server => client 05:47:01.259594 '257 "/" is current directory\r\n' 05:47:01.259655 < 6 bytes data, client => server 05:47:01.259668 'EPSV\r\n' 05:47:01.262126 Received DATA (on stdin) 05:47:01.262139 > 39 bytes data, server => client 05:47:01.262150 '229 Entering Passive Mode (|||36807|)\r\n' 05:47:01.262272 < 8 bytes data, client => server 05:47:01.262287 'TYPE I\r\n' 05:47:01.262506 Received DATA (on stdin) 05:47:01.262518 > 33 bytes data, server => client 05:47:01.262528 '200 I modify TYPE as you wanted\r\n' 05:47:01.262580 < 21 bytes data, client => server 05:47:01.262593 'SIZE verifiedserver\r\n' 05:47:01.262710 Received DATA (on stdin) 05:47:01.262722 > 8 bytes data, server => client 05:47:01.262732 '213 17\r\n' 05:47:01.262782 < 21 bytes data, client => server 05:47:01.262794 'RETR verifiedserver\r\n' 05:47:01.263021 Received DATA (on stdin) 05:47:01.263033 > 29 bytes data, server => client 05:47:01.263043 '150 Binary junk (17 bytes).\r\n' 05:47:01.263602 Received DATA (on stdin) 05:47:01.263614 > 28 bytes data, server => client 05:47:01.263624 '226 File transfer complete\r\n' 05:47:01.307522 < 6 bytes data, client => server 05:47:01.307561 'QUIT\r\n' 05:47:01.308242 Received DATA (on stdin) 05:47:01.308261 > 18 bytes data, server => client 05:47:01.308274 '221 bye bye baby\r\n' 05:47:01.309436 ====> Client disconnect 05:47:01.309664 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:00.261609 Running IPv4 version 05:47:00.261678 Listening on port 36807 05:47:00.261717 Wrote pid 117775 to log/20/server/ftp_sockdata.pid 05:47:00.261875 Received PING (on stdin) 05:47:00.261966 Received PORT (on stdin) 05:47:00.262307 ====> Client connect 05:47:00.263099 Received DATA (on stdin) 05:47:00.263114 > 17 bytes data, server => client 05:47:00.263124 'WE ROOLZ: 89997\r\n' 05:47:00.263150 Received DISC (on stdin) 05:47:00.263268 ====> Client forcibly disconnected 05:47:00.263303 Received QUIT (on stdin) 05:47:00.263313 quits 05:47:00.263373 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 766 === EndCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind769 ../src/curl -q --output log/17/curl769.out --include --trace-ascii log/17/trace769 --trace-time http://127.0.0.1:41505/769 > log/17/stdout769 2> log/17/stderr769 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind724 ../src/curl -q --output log/12/curl724.out --include --trace-ascii log/12/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout724 2> log/12/stderr724 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind772 ../src/curl -q --output log/9/curl772.out --include --trace-ascii log/9/trace772 --trace-time http://127.0.0.1:33885/772 > log/9/stdout772 2> log/9/stderr772 of file server.cmd === Start of file stderr766 URL: ftp://127.0.0.1:46185/path/766 === End of file stderr766 === Start of file valgrind766 ==117826== ==117826== Process terminating with default action of signal 4 (SIGILL) ==117826== Illegal opcode at address 0x51D8933 ==117826== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==117826== by 0x51D8933: UnknownInlinedFun (request.c:40) ==117826== by 0x51D8933: Curl_open (url.c:503) ==117826== by 0x514E50F: curl_easy_init (easy.c:350) ==117826== by 0x4021E9E: test_lib766.lto_priv.0 (lib766.c:50) ==117826== by 0x40034B5: main (first.c:279) === End of file valgrind766 test 0769...[HTTP with space after Content-Length number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind769 ../src/curl -q --output log/17/curl769.out --include --trace-ascii log/17/trace769 --trace-time http://127.0.0.1:41505/769 > log/17/stdout769 2> log/17/stderr769 769: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 769 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind769 ../src/curl -q --output log/17/curl769.out --include --trace-ascii log/17/trace769 --trace-time http://127.0.0.1:41505/769 > log/17/stdout769 2> log/17/stderr769 === End of file commands.log === Start of file http_server.log 05:47:01.747221 ====> Client connect 05:47:01.747256 accept_connection 3 returned 4 05:47:01.747273 accept_connection 3 returned 0 05:47:01.747287 Read 93 bytes 05:47:01.747296 Process 93 bytes request 05:47:01.747309 Got request: GET /verifiedserver HTTP/1.1 05:47:01.747318 Are-we-friendly question received 05:47:01.747344 Wrote request (93 bytes) input to log/17/server.input 05:47:01.747360 Identifying ourselves as friends 05:47:01.747418 Response sent (56 bytes) and written to log/17/server.response 05:47:01.747428 special request received, no persistency 05:47:01.747437 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 44734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 769 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind769 ==118077== ==118077== Process terminating with default action of signal 4 (SIGILL) ==118077== Illegal opcode at address 0x4014883 ==118077== at 0x4014883: getparameter (tool_getparam.c:2899) ==118077== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118077== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118077== by 0x4004208: main (tool_main.c:189) === End of file valgrind769 setenv HOME = /startdir/src/build-curl/tests/log/12 test 0724...[IPFS with gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind724 ../src/curl -q --output log/12/curl724.out --include --trace-ascii log/12/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout724 2> log/12/stderr724 724: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 724 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind724 ../src/curl -q --output log/12/curl724.out --include --trace-ascii log/12/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout724 2> log/12/stderr724 === End of file commands.log === Start of file http_server.log 05:46:56.466963 ====> Client connect 05:46:56.467030 accept_connection 3 returned 4 05:46:56.467052 accept_connection 3 returned 0 05:46:56.467072 Read 93 bytes 05:46:56.467083 Process 93 bytes request 05:46:56.467098 Got request: GET /verifiedserver HTTP/1.1 05:46:56.467108 Are-we-friendly question received 05:46:56.467136 Wrote request (93 bytes) input to log/12/server.input 05:46:56.467154 Identifying ourselves as friends 05:46:56.467236 Response sent (56 bytes) and written to log/12/server.response 05:46:56.467249 special request received, no persistency 05:46:56.467258 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 37636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 724 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind724 ==114663== ==114663== Process terminating with default action of signal 4 (SIGILL) ==114663== Illegal opcode at address 0x4014883 ==114663== at 0x4014883: getparameter (tool_getparam.c:2899) ==114663== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==114663== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==114663== by 0x4004208: main (tool_main.c:189) === End of file valgrind724 test 0772...[HTTP with two Location: headers triggers error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind772 ../src/curl -q --output log/9/curl772.out --include --trace-ascii log/9/trace772 --trace-time http://127.0.0.1:33885/772 > log/9/stdout772 2> log/9/stderr772 772: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 772 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind772 ../src/curl -q --output log/9/curl772.out --include --trace-ascii log/9/trace772 --trace-time http://127.0.0.1:33885/772 > log/9/stdout772 2> log/9/stderr772 === End of file commands.log === Start of file http_server.log 05:47:01.180752 ====> Client connect 05:47:01.180787 accept_connection 3 returned 4 05:47:01.180803 accept_connection 3 returned 0 05:47:01.180816 Read 93 bytes 05:47:01.180826 Process 93 bytes request 05:47:01.180837 Got request: GET /verifiedserver HTTP/1.1 05:47:01.180846 Are-we-friendly question received 05:47:01.180868 Wrote request (93 bytes) input to log/9/server.input 05:47:01.180884 Identifying ourselves as friends 05:47:01.180934 Response sent (56 bytes) and written to log/9/server.response 05:47:01.180944 special request received, no persistency 05:47:01.180952 ====> Client disconnect 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind771 ../src/curl -q --output log/23/curl771.out --include --trace-ascii log/23/trace771 --trace-time http://127.0.0.1:33217/771 > log/23/stdout771 2> log/23/stderr771 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind774 ../src/curl -q --output log/19/curl774.out --include --trace-ascii log/19/trace774 --trace-time http://127.0.0.1:35701/ -K log/19/cmd > log/19/stdout774 2> log/19/stderr774 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind773 ../src/curl -q --output log/22/curl773.out --include --trace-ascii log/22/trace773 --trace-time http://127.0.0.1:41477/773 > log/22/stdout773 2> log/22/stderr773 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 37762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 772 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind772 ==118257== ==118257== Process terminating with default action of signal 4 (SIGILL) ==118257== Illegal opcode at address 0x4014883 ==118257== at 0x4014883: getparameter (tool_getparam.c:2899) ==118257== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118257== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118257== by 0x4004208: main (tool_main.c:189) === End of file valgrind772 test 0771...[HTTP with two Content-Length headers using different sizes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind771 ../src/curl -q --output log/23/curl771.out --include --trace-ascii log/23/trace771 --trace-time http://127.0.0.1:33217/771 > log/23/stdout771 2> log/23/stderr771 771: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 771 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind771 ../src/curl -q --output log/23/curl771.out --include --trace-ascii log/23/trace771 --trace-time http://127.0.0.1:33217/771 > log/23/stdout771 2> log/23/stderr771 === End of file commands.log === Start of file http_server.log 05:47:02.108598 ====> Client connect 05:47:02.108632 accept_connection 3 returned 4 05:47:02.108650 accept_connection 3 returned 0 05:47:02.110538 Read 93 bytes 05:47:02.110558 Process 93 bytes request 05:47:02.110572 Got request: GET /verifiedserver HTTP/1.1 05:47:02.110581 Are-we-friendly question received 05:47:02.110609 Wrote request (93 bytes) input to log/23/server.input 05:47:02.110625 Identifying ourselves as friends 05:47:02.110679 Response sent (56 bytes) and written to log/23/server.response 05:47:02.110688 special request received, no persistency 05:47:02.110696 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 45334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 771 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind771 ==118232== ==118232== Process terminating with default action of signal 4 (SIGILL) ==118232== Illegal opcode at address 0x4014883 ==118232== at 0x4014883: getparameter (tool_getparam.c:2899) ==118232== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118232== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118232== by 0x4004208: main (tool_main.c:189) === End of file valgrind771 test 0774...[config file recursively including itself] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind774 ../src/curl -q --output log/19/curl774.out --include --trace-ascii log/19/trace774 --trace-time http://127.0.0.1:35701/ -K log/19/cmd > log/19/stdout774 2> log/19/stderr774 curl returned 132, when expecting 2 774: exit FAILED == Contents of files in the log/19/ directory after test 774 === Start of file cmd --config log/19/cmd === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind774 ../src/curl -q --output log/19/curl774.out --include --trace-ascii log/19/trace774 --trace-time http://127.0.0.1:35701/ -K log/19/cmd > log/19/stdout774 2> log/19/stderr774 === End of file commands.log === Start of file server.cmd Testnum 774 === End of file server.cmd === Start of file valgrind774 ==118266== ==118266== Process terminating with default action of signal 4 (SIGILL) ==118266== Illegal opcode at address 0x4014883 ==118266== at 0x4014883: getparameter (tool_getparam.c:2899) ==118266== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118266== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118266== by 0x4004208: main (tool_main.c:189) === End of file valgrind774 test 0773...[HTTP with two identical Location: headers triggers no error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind773 ../src/curl -q --output log/22/curl773.out --include --trace-ascii log/22/trace773 --trace-time http://127.0.0.1:41477/773 > log/22/stdout773 2> log/22/stderr773 773: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 773 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind773 ../src/curl -q --output log/22/curl773.out --include --trace-ascii log/22/trace773 --trace-time http://127.0.0.1:41477/773 > log/22/stdout773 2> log/22/stderr773 === End of file commands.log === Start of file http_server.log 05:47:02.223716 ====> Client connect 05:47:02.223753 accept_connection 3 returned 4 05:47:02.223772 accept_connection 3 returned 0 05:47:02.223933 Read 93 bytes 05:47:02.223945 Process 93 bytes request 05:47:02.223958 Got request: GET /verifiedserver HTTP/1.1 05:47:02.223966 Are-we-friendly question received 05:47:02.223992 Wrote request (93 bytes) input to log/22/server.input 05:47:02.224009 Identifying ourselves as friends 05:47:02.224067 Response sent (56 bytes) and written to log/22/server.response 05:47:02.224077 special request received, no persistency 05:47:02.224085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 49250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 773 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind773 ==118309== ==118309== Process terminating with default action of signal 4 (SIGILL) =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind775 ../src/curl -q --output log/21/curl775.out --include --trace-ascii log/21/trace775 --trace-time http://127.0.0.1:42891/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/21/stdout775 2> log/21/stderr775 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind776 ../src/curl -q --output log/16/curl776.out --include --trace-ascii log/16/trace776 --trace-time http://127.0.0.1:44673/776 -u user:pass --ntlm > log/16/stdout776 2> log/16/stderr776 =118309== Illegal opcode at address 0x4014883 ==118309== at 0x4014883: getparameter (tool_getparam.c:2899) ==118309== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118309== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118309== by 0x4004208: main (tool_main.c:189) === End of file valgrind773 test 0775...[HTTP with NTLM with too long username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind775 ../src/curl -q --output log/21/curl775.out --include --trace-ascii log/21/trace775 --trace-time http://127.0.0.1:42891/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/21/stdout775 2> log/21/stderr775 775: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 775 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind775 ../src/curl -q --output log/21/curl775.out --include --trace-ascii log/21/trace775 --trace-time http://127.0.0.1:42891/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/21/stdout775 2> log/21/stderr775 === End of file commands.log === Start of file http_server.log 05:47:01.587049 ====> Client connect 05:47:01.587083 accept_connection 3 returned 4 05:47:01.587097 accept_connection 3 returned 0 05:47:01.587111 Read 93 bytes 05:47:01.587120 Process 93 bytes request 05:47:01.587133 Got request: GET /verifiedserver HTTP/1.1 05:47:01.587141 Are-we-friendly question received 05:47:01.587177 Wrote request (93 bytes) input to log/21/server.input 05:47:01.587195 Identifying ourselves as friends 05:47:01.587260 Response sent (56 bytes) and written to log/21/server.response 05:47:01.587271 special request received, no persistency 05:47:01.587281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 59620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 775 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind775 ==118479== ==118479== Process terminating with default action of signal 4 (SIGILL) ==118479== Illegal opcode at address 0x4014883 ==118479== at 0x4014883: getparameter (tool_getparam.c:2899) ==118479== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118479== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118479== by 0x4004208: main (tool_main.c:189) === End of file valgrind775 test 0776...[HTTP with NTLM with too long NTMLv2 ntresplen] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind776 ../src/curl -q --output log/16/curl776.out --include --trace-ascii log/16/trace776 --trace-time http://127.0.0.1:44673/776 -u user:pass --ntlm > log/16/stdout776 2> log/16/stderr776 776: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 776 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind776 ../src/curl -q --output log/16/curl776.out --include --trace-ascii log/16/trace776 --trace-time http://127.0.0.1:44673/776 -u user:pass --ntlm > log/16/stdout776 2> log/16/stderr776 === End of file commands.log === Start of file http_server.log 05:47:02.814545 ====> Client connect 05:47:02.814585 accept_connection 3 returned 4 05:47:02.814603 accept_connection 3 returned 0 05:47:02.820513 Read 93 bytes 05:47:02.820542 Process 93 bytes request 05:47:02.820554 Got request: GET /verifiedserver HTTP/1.1 05:47:02.820563 Are-we-friendly question received 05:47:02.820609 Wrote request (93 bytes) input to log/16/server.input 05:47:02.820629 Identifying ourselves as friends 05:47:02.820689 Response sent (56 bytes) and written to log/16/server.response 05:47:02.820700 special request received, no persistency 05:47:02.820709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 34960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 776 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind776 ==118573== ==118573== Process terminating with default action of signal 4 (SIGILL) ==118573== Illegal opcode at address 0x4014883 ==118573== at 0x4014883: getparameter (tool_getparam.c:2899) ==118573== by 0x4004208: UnknownInCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind778 ../src/curl -q --output log/2/curl778.out --include --trace-ascii log/2/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:41799 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/2/stdout778 2> log/2/stderr778 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind784 ../src/curl -q --output log/10/curl784.out --include --trace-ascii log/10/trace784 --trace-time http://127.0.0.1:46741/784 --variable "name[5-15]@log/10/in784" --expand-data '{{name}}' > log/10/stdout784 2> log/10/stderr784 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind791 ../src/curl -q --output log/4/curl791.out --include --trace-ascii log/4/trace791 --trace-time http://127.0.0.1:40253/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/4/stdout791 2> log/4/stderr791 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind785 ../src/curl -q --output log/18/curl785.out --include --trace-ascii log/18/trace785 --trace-time http://127.0.0.1:39913/785 --variable "name[5-]@log/18/in785" --expand-data '{{name}}' > log/18/stdout785 2> log/18/stderr785 linedFun (tool_getparam.c:3082) ==118573== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118573== by 0x4004208: main (tool_main.c:189) === End of file valgrind776 test 0778...[HTTP --oauth2-bearer redirect to new host (not passed on)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind778 ../src/curl -q --output log/2/curl778.out --include --trace-ascii log/2/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:41799 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/2/stdout778 2> log/2/stderr778 778: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 778 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind778 ../src/curl -q --output log/2/curl778.out --include --trace-ascii log/2/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:41799 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/2/stdout778 2> log/2/stderr778 === End of file commands.log === Start of file http_server.log 05:47:02.893683 ====> Client connect 05:47:02.893748 accept_connection 3 returned 4 05:47:02.893772 accept_connection 3 returned 0 05:47:02.893787 Read 93 bytes 05:47:02.893797 Process 93 bytes request 05:47:02.893810 Got request: GET /verifiedserver HTTP/1.1 05:47:02.893819 Are-we-friendly question received 05:47:02.893848 Wrote request (93 bytes) input to log/2/server.input 05:47:02.893865 Identifying ourselves as friends 05:47:02.893948 Response sent (56 bytes) and written to log/2/server.response 05:47:02.893960 special request received, no persistency 05:47:02.893970 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 43098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 778 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind778 ==118602== ==118602== Process terminating with default action of signal 4 (SIGILL) ==118602== Illegal opcode at address 0x4014883 ==118602== at 0x4014883: getparameter (tool_getparam.c:2899) ==118602== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118602== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118602== by 0x4004208: main (tool_main.c:189) === End of file valgrind778 test 0784...[--variable with a file byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind784 ../src/curl -q --output log/10/curl784.out --include --trace-ascii log/10/trace784 --trace-time http://127.0.0.1:46741/784 --variable "name[5-15]@log/10/in784" --expand-data '{{name}}' > log/10/stdout784 2> log/10/stderr784 784: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 784 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind784 ../src/curl -q --output log/10/curl784.out --include --trace-ascii log/10/trace784 --trace-time http://127.0.0.1:46741/784 --variable "name[5-15]@log/10/in784" --expand-data '{{name}}' > log/10/stdout784 2> log/10/stderr784 === End of file commands.log === Start of file http_server.log 05:47:02.003887 ====> Client connect 05:47:02.003923 accept_connection 3 returned 4 05:47:02.003938 accept_connection 3 returned 0 05:47:02.003951 Read 93 bytes 05:47:02.003960 Process 93 bytes request 05:47:02.003973 Got request: GET /verifiedserver HTTP/1.1 05:47:02.003981 Are-we-friendly question received 05:47:02.004007 Wrote request (93 bytes) input to log/10/server.input 05:47:02.004022 Identifying ourselves as friends 05:47:02.004080 Response sent (56 bytes) and written to log/10/server.response 05:47:02.004089 special request received, no persistency 05:47:02.004097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 34628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file in784 On the first Monday of the month of April, 1625, the market town of Meung === End of file in784 === Start of file server.cmd Testnum 784 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind784 ==118726== ==118726== Process terminating with default action of signal 4 (SIGILL) ==118726== Illegal opcode at address 0x4014883 ==118726== at 0x4014883: getparameter (tool_getparam.c:2899) ==118726== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118726== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118726== by 0x4004208: main (tool_main.c:189) === End of file valgrind784 test 0791...[--variable with a byte range using plain assign, out of range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind791 ../src/curl -q --output log/4/curl791.out --include --trace-ascii log/4/trace791 --trace-time http://127.0.0.1:40253/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/4/stdout791 2> log/4/stderr791 791: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 791 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind791 ../src/curl -q --output log/4/curl791.out --include --trace-ascii log/4/trace791 --trace-time http://127.0.0.1:40253/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/4/stdout791 2> log/4/stderr791 === End of file commands.log === Start of file http_server.log 05:47:02.550432 ====> Client connect 05:47:02.550466 accept_connection 3 returned 4 05:47:02.550484 accept_connection 3 returned 0 05:47:02.550498 Read 93 bytes 05:47:02.550508 Process 93 bytes request 05:47:02.550519 Got request: GET /verifiedserver HTTP/1.1 05:47:02.550527 Are-we-friendly question received 05:47:02.550550 Wrote request (93 bytes) input to log/4/server.input 05:47:02.550567 Identifying ourselves as friends 05:47:02.550646 Response sent (56 bytes) and written to log/4/server.response 05:47:02.550659 special request received, no persistency 05:47:02.550668 ====> Client disconnect 0 === End of file http_servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind786 ../src/curl -q --output log/8/curl786.out --include --trace-ascii log/8/trace786 --trace-time http://127.0.0.1:45623/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/8/stdout786 2> log/8/stderr786 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind779 ../src/curl -q --output log/1/curl779.out --include --trace-ascii log/1/trace779 --trace-time http://127.0.0.1:38765/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:34849:127.0.0.1 > log/1/stdout779 2> log/1/stderr779 er.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 791 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind791 ==119193== ==119193== Process terminating with default action of signal 4 (SIGILL) ==119193== Illegal opcode at address 0x4014883 ==119193== at 0x4014883: getparameter (tool_getparam.c:2899) ==119193== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119193== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119193== by 0x4004208: main (tool_main.c:189) === End of file valgrind791 test 0786...[--variable with a file byte range, reading from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind786 ../src/curl -q --output log/8/curl786.out --include --trace-ascii log/8/trace786 --trace-time http://127.0.0.1:45623/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/8/stdout786 2> log/8/stderr786 786: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 786 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind786 ../src/curl -q --output log/8/curl786.out --include --trace-ascii log/8/trace786 --trace-time http://127.0.0.1:45623/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/8/stdout786 2> log/8/stderr786 === End of file commands.log === Start of file http_server.log 05:47:02.056672 ====> Client connect 05:47:02.056704 accept_connection 3 returned 4 05:47:02.056719 accept_connection 3 returned 0 05:47:02.063341 Read 93 bytes 05:47:02.063364 Process 93 bytes request 05:47:02.063376 Got request: GET /verifiedserver HTTP/1.1 05:47:02.063385 Are-we-friendly question received 05:47:02.063416 Wrote request (93 bytes) input to log/8/server.input 05:47:02.063434 Identifying ourselves as friends 05:47:02.063487 Response sent (56 bytes) and written to log/8/server.response 05:47:02.063496 special request received, no persistency 05:47:02.063504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 44426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 786 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stdin-for-786 On the first Monday of the month of April, 1625, the market town of Meung === End of file stdin-for-786 === Start of file valgrind786 ==118770== ==118770== Process terminating with default action of signal 4 (SIGILL) ==118770== Illegal opcode at address 0x4014883 ==118770== at 0x4014883: getparameter (tool_getparam.c:2899) ==118770== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118770== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118770== by 0x4004208: main (tool_main.c:189) === End of file valgrind786 test 0785...[--variable with a file byte range without end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind785 ../src/curl -q --output log/18/curl785.out --include --trace-ascii log/18/trace785 --trace-time http://127.0.0.1:39913/785 --variable "name[5-]@log/18/in785" --expand-data '{{name}}' > log/18/stdout785 2> log/18/stderr785 785: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 785 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind785 ../src/curl -q --output log/18/curl785.out --include --trace-ascii log/18/trace785 --trace-time http://127.0.0.1:39913/785 --variable "name[5-]@log/18/in785" --expand-data '{{name}}' > log/18/stdout785 2> log/18/stderr785 === End of file commands.log === Start of file http_server.log 05:47:02.027063 ====> Client connect 05:47:02.027098 accept_connection 3 returned 4 05:47:02.027115 accept_connection 3 returned 0 05:47:02.030490 Read 93 bytes 05:47:02.030513 Process 93 bytes request 05:47:02.030525 Got request: GET /verifiedserver HTTP/1.1 05:47:02.030534 Are-we-friendly question received 05:47:02.030566 Wrote request (93 bytes) input to log/18/server.input 05:47:02.030583 Identifying ourselves as friends 05:47:02.030636 Response sent (56 bytes) and written to log/18/server.response 05:47:02.030645 special request received, no persistency 05:47:02.030653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 56510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file in785 On the first Monday of the month of April, 1625, the market town of Meung === End of file in785 === Start of file server.cmd Testnum 785 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind785 ==118751== ==118751== Process terminating with default action of signal 4 (SIGILL) ==118751== Illegal opcode at address 0x4014883 ==118751== at 0x4014883: getparameter (tool_getparam.c:2899) ==118751== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118751== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118751== by 0x4004208: main (tool_main.c:189) === End of file valgrind785 test 0779...[HTTP --oauth2-bearer redirects to IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind779 ../src/curl -q --output log/1/curl779.out --include --trace-ascii log/1/trace779 --trace-time http://127.0.0.1:38765/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:34849:127.0.0.1 > log/1/stdout779 2> log/1/stderr779 779: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 779 === Start of file commands.log ../libtool --mode=execute CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind789 ../src/curl -q --output log/6/curl789.out --include --trace-ascii log/6/trace789 --trace-time http://127.0.0.1:33035/789 --variable "name[75-85]@log/6/in789" --expand-data '{{name}}' > log/6/stdout789 2> log/6/stderr789 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind787 ../src/curl -q --output log/5/curl787.out --include --trace-ascii log/5/trace787 --trace-time http://127.0.0.1:35621/787 --variable "name[15-14]@log/5/fooo" --expand-data '{{name}}' > log/5/stdout787 2> log/5/stderr787 /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind779 ../src/curl -q --output log/1/curl779.out --include --trace-ascii log/1/trace779 --trace-time http://127.0.0.1:38765/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:34849:127.0.0.1 > log/1/stdout779 2> log/1/stderr779 === End of file commands.log === Start of file http_server.log 05:47:02.951583 ====> Client connect 05:47:02.951613 accept_connection 3 returned 4 05:47:02.951627 accept_connection 3 returned 0 05:47:02.951641 Read 93 bytes 05:47:02.951650 Process 93 bytes request 05:47:02.951662 Got request: GET /verifiedserver HTTP/1.1 05:47:02.951671 Are-we-friendly question received 05:47:02.951691 Wrote request (93 bytes) input to log/1/server.input 05:47:02.951707 Identifying ourselves as friends 05:47:02.951753 Response sent (56 bytes) and written to log/1/server.response 05:47:02.951762 special request received, no persistency 05:47:02.951770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file imap_server.log 05:47:02.562350 ====> Client connect 05:47:02.562555 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:02.562926 < "A001 CAPABILITY" 05:47:02.562968 > "A001 BAD Command[CR][LF]" 05:47:02.563160 < "A002 LIST "verifiedserver" *" 05:47:02.563198 LIST_imap got "verifiedserver" * 05:47:02.563226 > "* LIST () "/" "WE ROOLZ: 112350"[CR][LF]" 05:47:02.563246 > "A002 OK LIST Completed[CR][LF]" 05:47:02.563261 return proof we are we 05:47:02.612521 < "A003 LOGOUT" 05:47:02.612586 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:02.612609 > "A003 OK LOGOUT completed[CR][LF]" 05:47:02.613873 MAIN sockfilt said DISC 05:47:02.613912 ====> Client disconnected 05:47:02.614002 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:02.023676 ====> Client connect 05:47:02.024032 Received DATA (on stdin) 05:47:02.024048 > 164 bytes data, server => client 05:47:02.024060 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:02.024071 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:02.024081 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:02.024213 < 17 bytes data, client => server 05:47:02.024228 'A001 CAPABILITY\r\n' 05:47:02.024429 Received DATA (on stdin) 05:47:02.024442 > 18 bytes data, server => client 05:47:02.024452 'A001 BAD Command\r\n' 05:47:02.024520 < 30 bytes data, client => server 05:47:02.024535 'A002 LIST "verifiedserver" *\r\n' 05:47:02.024719 Received DATA (on stdin) 05:47:02.024730 > 34 bytes data, server => client 05:47:02.024741 '* LIST () "/" "WE ROOLZ: 112350"\r\n' 05:47:02.024762 Received DATA (on stdin) 05:47:02.024772 > 24 bytes data, server => client 05:47:02.024783 'A002 OK LIST Completed\r\n' 05:47:02.073791 < 13 bytes data, client => server 05:47:02.073826 'A003 LOGOUT\r\n' 05:47:02.074068 Received DATA (on stdin) 05:47:02.074080 > 36 bytes data, server => client 05:47:02.074091 '* BYE curl IMAP server signing off\r\n' 05:47:02.074113 Received DATA (on stdin) 05:47:02.074122 > 26 bytes data, server => client 05:47:02.074132 'A003 OK LOGOUT completed\r\n' 05:47:02.075265 ====> Client disconnect 05:47:02.075476 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj12AWF1dGg9QmVhcmVyIHMzY3IzdAEB B002 OK AUTHENTICATE completed Testnum 779 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind779 ==118783== ==118783== Process terminating with default action of signal 4 (SIGILL) ==118783== Illegal opcode at address 0x4014883 ==118783== at 0x4014883: getparameter (tool_getparam.c:2899) ==118783== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==118783== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==118783== by 0x4004208: main (tool_main.c:189) === End of file valgrind779 test 0789...[--variable with a file and byte range out of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind789 ../src/curl -q --output log/6/curl789.out --include --trace-ascii log/6/trace789 --trace-time http://127.0.0.1:33035/789 --variable "name[75-85]@log/6/in789" --expand-data '{{name}}' > log/6/stdout789 2> log/6/stderr789 789: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 789 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind789 ../src/curl -q --output log/6/curl789.out --include --trace-ascii log/6/trace789 --trace-time http://127.0.0.1:33035/789 --variable "name[75-85]@log/6/in789" --expand-data '{{name}}' > log/6/stdout789 2> log/6/stderr789 === End of file commands.log === Start of file http_server.log 05:47:02.408044 ====> Client connect 05:47:02.408081 accept_connection 3 returned 4 05:47:02.408098 accept_connection 3 returned 0 05:47:02.408114 Read 93 bytes 05:47:02.408124 Process 93 bytes request 05:47:02.408137 Got request: GET /verifiedserver HTTP/1.1 05:47:02.408147 Are-we-friendly question received 05:47:02.408175 Wrote request (93 bytes) input to log/6/server.input 05:47:02.408193 Identifying ourselves as friends 05:47:02.408253 Response sent (56 bytes) and written to log/6/server.response 05:47:02.408263 special request received, no persistency 05:47:02.408273 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 59954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file in789 On the first Monday of the month of April, 1625, the market town of Meung === End of file in789 === Start of file server.cmd Testnum 789 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind789 ==119055== ==119055== Process terminating with default action of signal 4 (SIGILL) ==119055== Illegal opcode at address 0x4014883 ==119055== at 0x4014883: getparameter (tool_getparam.c:2899) ==119055== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119055== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119055== by 0x4004208: main (tool_main.c:189) === End of file valgrind789 test 0787...[--variable with a file byte range, bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind788 ../src/curl -q --output log/24/curl788.out --include --trace-ascii log/24/trace788 --trace-time http://127.0.0.1:33593/788 --variable "name[15-15]@log/24/in788" --expand-data '{{name}}' > log/24/stdout788 2> log/24/stderr788 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind790 ../src/curl -q --output log/3/curl790.out --include --trace-ascii log/3/trace790 --trace-time http://127.0.0.1:39591/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/3/stdout790 2> log/3/stderr790 /valgrind787 ../src/curl -q --output log/5/curl787.out --include --trace-ascii log/5/trace787 --trace-time http://127.0.0.1:35621/787 --variable "name[15-14]@log/5/fooo" --expand-data '{{name}}' > log/5/stdout787 2> log/5/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/5/ directory after test 787 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind787 ../src/curl -q --output log/5/curl787.out --include --trace-ascii log/5/trace787 --trace-time http://127.0.0.1:35621/787 --variable "name[15-14]@log/5/fooo" --expand-data '{{name}}' > log/5/stdout787 2> log/5/stderr787 === End of file commands.log === Start of file http_server.log 05:47:03.353721 ====> Client connect 05:47:03.353788 accept_connection 3 returned 4 05:47:03.353806 accept_connection 3 returned 0 05:47:03.353822 Read 93 bytes 05:47:03.353832 Process 93 bytes request 05:47:03.353844 Got request: GET /verifiedserver HTTP/1.1 05:47:03.353853 Are-we-friendly question received 05:47:03.353879 Wrote request (93 bytes) input to log/5/server.input 05:47:03.353896 Identifying ourselves as friends 05:47:03.353966 Response sent (56 bytes) and written to log/5/server.response 05:47:03.353978 special request received, no persistency 05:47:03.353988 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 45900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 787 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind787 ==119010== ==119010== Process terminating with default action of signal 4 (SIGILL) ==119010== Illegal opcode at address 0x4014883 ==119010== at 0x4014883: getparameter (tool_getparam.c:2899) ==119010== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119010== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119010== by 0x4004208: main (tool_main.c:189) === End of file valgrind787 test 0788...[--variable with a file and single-byte byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind788 ../src/curl -q --output log/24/curl788.out --include --trace-ascii log/24/trace788 --trace-time http://127.0.0.1:33593/788 --variable "name[15-15]@log/24/in788" --expand-data '{{name}}' > log/24/stdout788 2> log/24/stderr788 788: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 788 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind788 ../src/curl -q --output log/24/curl788.out --include --trace-ascii log/24/trace788 --trace-time http://127.0.0.1:33593/788 --variable "name[15-15]@log/24/in788" --expand-data '{{name}}' > log/24/stdout788 2> log/24/stderr788 === End of file commands.log === Start of file http_server.log 05:47:03.389893 ====> Client connect 05:47:03.389928 accept_connection 3 returned 4 05:47:03.389946 accept_connection 3 returned 0 05:47:03.389961 Read 93 bytes 05:47:03.389971 Process 93 bytes request 05:47:03.389985 Got request: GET /verifiedserver HTTP/1.1 05:47:03.389994 Are-we-friendly question received 05:47:03.390020 Wrote request (93 bytes) input to log/24/server.input 05:47:03.390037 Identifying ourselves as friends 05:47:03.390097 Response sent (56 bytes) and written to log/24/server.response 05:47:03.390109 special request received, no persistency 05:47:03.390118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 36270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file in788 On the first Monday of the month of April, 1625, the market town of Meung === End of file in788 === Start of file server.cmd Testnum 788 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind788 ==119039== ==119039== Process terminating with default action of signal 4 (SIGILL) ==119039== Illegal opcode at address 0x4014883 ==119039== at 0x4014883: getparameter (tool_getparam.c:2899) ==119039== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119039== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119039== by 0x4004208: main (tool_main.c:189) === End of file valgrind788 test 0790...[--variable with a byte range using plain assign] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind790 ../src/curl -q --output log/3/curl790.out --include --trace-ascii log/3/trace790 --trace-time http://127.0.0.1:39591/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/3/stdout790 2> log/3/stderr790 790: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 790 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind790 ../src/curl -q --output log/3/curl790.out --include --trace-ascii log/3/trace790 --trace-time http://127.0.0.1:39591/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/3/stdout790 2> log/3/stderr790 === End of file commands.log === Start of file http_server.log 05:47:03.465495 ====> Client connect 05:47:03.465527 accept_connection 3 returned 4 05:47:03.465541 accept_connection 3 returned 0 05:47:03.465554 Read 93 bytes 05:47:03.465563 Process 93 bytes request 05:47:03.465575 Got request: GET /verifiedserver HTTP/1.1 05:47:03.465583 Are-we-friendly question received 05:47:03.465606 Wrote request (93 bytes) input to log/3/server.input 05:47:03.465621 Identifying ourselves as friends 05:47:03.465669 Response sent (56 bytes) and written to log/3/server.response 05:47:03.465677 special request received, no persistency 05:47:03.465685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 35880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd TestCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind731 ../src/curl -q --output log/11/curl731.out --include --trace-ascii log/11/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout731 2> log/11/stderr731 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind796 ../src/curl -q --output log/12/curl796.out --include --trace-ascii log/12/trace796 --trace-time http://127.0.0.1:36353/796 -X IGLOO -d moo --follow > log/12/stdout796 2> log/12/stderr796 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind792 ../src/curl -q --output log/13/curl792.out --include --trace-ascii log/13/trace792 --trace-time --netrc --netrc-file log/13/netrc792 ftp://127.0.0.1:46845/792 > log/13/stdout792 2> log/13/stderr792 num 790 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind790 ==119120== ==119120== Process terminating with default action of signal 4 (SIGILL) ==119120== Illegal opcode at address 0x4014883 ==119120== at 0x4014883: getparameter (tool_getparam.c:2899) ==119120== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119120== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119120== by 0x4004208: main (tool_main.c:189) === End of file valgrind790 setenv HOME = /startdir/src/build-curl/tests/log/11 test 0731...[IPFS with gateway URL and path from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind731 ../src/curl -q --output log/11/curl731.out --include --trace-ascii log/11/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout731 2> log/11/stderr731 731: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 731 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind731 ../src/curl -q --output log/11/curl731.out --include --trace-ascii log/11/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout731 2> log/11/stderr731 === End of file commands.log === Start of file http_server.log 05:46:58.079365 ====> Client connect 05:46:58.079401 accept_connection 3 returned 4 05:46:58.079418 accept_connection 3 returned 0 05:46:58.079433 Read 93 bytes 05:46:58.079443 Process 93 bytes request 05:46:58.079456 Got request: GET /verifiedserver HTTP/1.1 05:46:58.079465 Are-we-friendly question received 05:46:58.079493 Wrote request (93 bytes) input to log/11/server.input 05:46:58.079512 Identifying ourselves as friends 05:46:58.079576 Response sent (56 bytes) and written to log/11/server.response 05:46:58.079589 special request received, no persistency 05:46:58.079598 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 46082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 731 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind731 ==115761== ==115761== Process terminating with default action of signal 4 (SIGILL) ==115761== Illegal opcode at address 0x4014883 ==115761== at 0x4014883: getparameter (tool_getparam.c:2899) ==115761== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==115761== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==115761== by 0x4004208: main (tool_main.c:189) === End of file valgrind731 test 0796...[--follow with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind796 ../src/curl -q --output log/12/curl796.out --include --trace-ascii log/12/trace796 --trace-time http://127.0.0.1:36353/796 -X IGLOO -d moo --follow > log/12/stdout796 2> log/12/stderr796 796: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 796 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind796 ../src/curl -q --output log/12/curl796.out --include --trace-ascii log/12/trace796 --trace-time http://127.0.0.1:36353/796 -X IGLOO -d moo --follow > log/12/stdout796 2> log/12/stderr796 === End of file commands.log === Start of file http_server.log 05:47:04.157061 ====> Client connect 05:47:04.157101 accept_connection 3 returned 4 05:47:04.157119 accept_connection 3 returned 0 05:47:04.157135 Read 93 bytes 05:47:04.157145 Process 93 bytes request 05:47:04.157158 Got request: GET /verifiedserver HTTP/1.1 05:47:04.157167 Are-we-friendly question received 05:47:04.157194 Wrote request (93 bytes) input to log/12/server.input 05:47:04.157212 Identifying ourselves as friends 05:47:04.157290 Response sent (56 bytes) and written to log/12/server.response 05:47:04.157302 special request received, no persistency 05:47:04.157311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 43006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 796 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind796 ==119517== ==119517== Process terminating with default action of signal 4 (SIGILL) ==119517== Illegal opcode at address 0x4014883 ==119517== at 0x4014883: getparameter (tool_getparam.c:2899) ==119517== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119517== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119517== by 0x4004208: main (tool_main.c:189) === End of file valgrind796 test 0792...[.netrc with embedded NULL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind792 ../src/curl -q --output log/13/curl792.out --include --trace-ascii log/13/trace792 --trace-time --netrc --netrc-file log/13/netrc792 ftp://127.0.0.1:46845/792 > log/13/stdout792 2> log/13/stderr792 792: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 792 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind792 ../src/curl -q --output log/13/curl792.out --include --trace-ascii log/13/trace792 --trace-time --netrc --netrc-file log/13/netrc792 ftp://127.0.0.1:46845/792 > log/13/stdout792 2> log/13/stderr792 === End of file commands.log === Start of file ftp_server.log 05:47:03.249120 ====> Client connect 05:47:03.252310 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:03.252637 < "USER anonymous" 05:47:03.252677 > "331 We are happy you popped in![CR][LF]" 05:47:03.252856 < "PASS ftp@example.com" 05:47:03.252888 > "230 Welcome you silly person[CR][LF]" 05:47:03.253064 < "PWD" 05:47:03.253099 > "257 "/" is current directory[CR][LF]" 05:47:03.253278 < "EPSV" 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind798 ../src/curl -q --output log/23/curl798.out --include --trace-ascii log/23/trace798 --trace-time http://localhost:33217/we/want/798 -b none -c log/23/jar798.txt > log/23/stdout798 2> log/23/stderr798 5:47:03.253304 ====> Passive DATA channel requested by client 05:47:03.253320 DATA sockfilt for passive data channel starting... 05:47:03.257053 DATA sockfilt for passive data channel started (pid 119309) 05:47:03.257180 DATA sockfilt for passive data channel listens on port 41261 05:47:03.257228 > "229 Entering Passive Mode (|||41261|)[CR][LF]" 05:47:03.257247 Client has been notified that DATA conn will be accepted on port 41261 05:47:03.257502 Client connects to port 41261 05:47:03.257534 ====> Client established passive DATA connection on port 41261 05:47:03.257668 < "TYPE I" 05:47:03.257703 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:03.259052 < "SIZE verifiedserver" 05:47:03.259091 > "213 17[CR][LF]" 05:47:03.259218 < "RETR verifiedserver" 05:47:03.259246 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:03.259331 =====> Closing passive DATA connection... 05:47:03.259344 Server disconnects passive DATA connection 05:47:03.262463 Server disconnected passive DATA connection 05:47:03.262510 DATA sockfilt for passive data channel quits (pid 119309) 05:47:03.265881 DATA sockfilt for passive data channel quit (pid 119309) 05:47:03.265928 =====> Closed passive DATA connection 05:47:03.265974 > "226 File transfer complete[CR][LF]" 05:47:03.305862 < "QUIT" 05:47:03.305928 > "221 bye bye baby[CR][LF]" 05:47:03.307346 MAIN sockfilt said DISC 05:47:03.307390 ====> Client disconnected 05:47:03.307484 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:03.710440 ====> Client connect 05:47:03.713666 Received DATA (on stdin) 05:47:03.713698 > 146 bytes data, server => client 05:47:03.713808 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:03.713822 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:03.713832 '220 \___|\___/|_| \_\_____|\r\n' 05:47:03.713930 < 16 bytes data, client => server 05:47:03.713946 'USER anonymous\r\n' 05:47:03.714143 Received DATA (on stdin) 05:47:03.714156 > 33 bytes data, server => client 05:47:03.714165 '331 We are happy you popped in!\r\n' 05:47:03.714219 < 22 bytes data, client => server 05:47:03.714231 'PASS ftp@example.com\r\n' 05:47:03.714348 Received DATA (on stdin) 05:47:03.714360 > 30 bytes data, server => client 05:47:03.714371 '230 Welcome you silly person\r\n' 05:47:03.714426 < 5 bytes data, client => server 05:47:03.714440 'PWD\r\n' 05:47:03.714560 Received DATA (on stdin) 05:47:03.714572 > 30 bytes data, server => client 05:47:03.714582 '257 "/" is current directory\r\n' 05:47:03.714644 < 6 bytes data, client => server 05:47:03.714658 'EPSV\r\n' 05:47:03.718718 Received DATA (on stdin) 05:47:03.718733 > 39 bytes data, server => client 05:47:03.718744 '229 Entering Passive Mode (|||41261|)\r\n' 05:47:03.719012 < 8 bytes data, client => server 05:47:03.719025 'TYPE I\r\n' 05:47:03.720334 Received DATA (on stdin) 05:47:03.720355 > 33 bytes data, server => client 05:47:03.720366 '200 I modify TYPE as you wanted\r\n' 05:47:03.720423 < 21 bytes data, client => server 05:47:03.720432 'SIZE verifiedserver\r\n' 05:47:03.720546 Received DATA (on stdin) 05:47:03.720555 > 8 bytes data, server => client 05:47:03.720564 '213 17\r\n' 05:47:03.720605 < 21 bytes data, client => server 05:47:03.720613 'RETR verifiedserver\r\n' 05:47:03.720800 Received DATA (on stdin) 05:47:03.720810 > 29 bytes data, server => client 05:47:03.720819 '150 Binary junk (17 bytes).\r\n' 05:47:03.730326 Received DATA (on stdin) 05:47:03.730352 > 28 bytes data, server => client 05:47:03.730363 '226 File transfer complete\r\n' 05:47:03.767156 < 6 bytes data, client => server 05:47:03.767182 'QUIT\r\n' 05:47:03.767398 Received DATA (on stdin) 05:47:03.767413 > 18 bytes data, server => client 05:47:03.767424 '221 bye bye baby\r\n' 05:47:03.768743 ====> Client disconnect 05:47:03.768950 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:03.718164 Running IPv4 version 05:47:03.718245 Listening on port 41261 05:47:03.718281 Wrote pid 119309 to log/13/server/ftp_sockdata.pid 05:47:03.718451 Received PING (on stdin) 05:47:03.718540 Received PORT (on stdin) 05:47:03.718906 ====> Client connect 05:47:03.723716 Received DATA (on stdin) 05:47:03.723747 > 17 bytes data, server => client 05:47:03.723758 'WE ROOLZ: 81411\r\n' 05:47:03.723797 Received DISC (on stdin) 05:47:03.723810 ====> Client forcibly disconnected 05:47:03.727003 Received QUIT (on stdin) 05:47:03.727030 quits 05:47:03.727139 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc792 machine 127.0.0.1 login username password hello === End of file netrc792 === Start of file server.cmd Testnum 792 === End of file server.cmd === Start of file valgrind792 ==119340== ==119340== Process terminating with default action of signal 4 (SIGILL) ==119340== Illegal opcode at address 0x4014883 ==119340== at 0x4014883: getparameter (tool_getparam.c:2899) ==119340== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119340== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119340== by 0x4004208: main (tool_main.c:189) === End of file valgrind792 test 0798...[HTTP cookies in a folded header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind798 ../src/curl -q --output log/23/curl798.out --include --trace-ascii log/23/trace798 --trace-time http://localhost:33217/we/want/798 -b none -c log/23/jar798.txt > log/23/stdout798 2> log/23/stderr798 798: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 798 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind798 ../src/curl -q --output log/23/curl798.out --include --trace-ascii log/23/trace798 --trace-time http://localhost:33217/we/want/798 -b none -c log/23/jar798.txt > log/23/stdout798 2> log/23/stderr798 === End of file commands.log === Start of file http_server.log 05:47:04.280576 ====> Client connect 05:47:04.280619 accept_connection 3 returned 4 05:47:04.280637 accept_connection 3 returned 0 05:47:04.280654 Read 93 bytes 05:47:04.280663 Process 93 bytes request 05:47:04.280677 Got request: GET /verifiedserver HTTP/1.1 05:47:04.280686 Are-we-friendly question received 05:47:04.283658 Wrote request (93 bytes) input to log/23/server.input 05:47:04.283699 Identifying ourselves as friends 05:47:04.283796 Response sent (56 bytes) and written to log/23/server.response 05:47:04.283806 special request received, no persistency 05:47:04.283814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 45338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd writedelay: 20 Testnum 798 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind798 ==119636== ==119636== Process terminating with default action of signal 4 (SIGILL) ==119636== Illegal opcode at address 0x4014883 ==119636== at 0x4014883: getparameter (tool_getparam.c:2899) ==119636== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119636== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119636== by 0x4004208: main (tool_main.c:189) === End of file vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind794 ../src/curl -q --output log/20/curl794.out --include --trace-ascii log/20/trace794 --trace-time http://127.0.0.1:38929/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/20/stdout794 2> log/20/stderr794 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind793 ../src/curl -q --output log/7/curl793.out --include --trace-ascii log/7/trace793 --trace-time --netrc --netrc-file log/7/netrc793 ftp://127.0.0.1:44937/793 > log/7/stdout793 2> log/7/stderr793 algrind798 test 0794...[--follow + --location with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind794 ../src/curl -q --output log/20/curl794.out --include --trace-ascii log/20/trace794 --trace-time http://127.0.0.1:38929/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/20/stdout794 2> log/20/stderr794 794: stderr FAILED: --- log/20/check-expected 2026-03-14 05:47:05.701282681 +0000 +++ log/20/check-generated 2026-03-14 05:47:05.701282681 +0000 @@ -1 +0,0 @@ -Warning: --follow overrides --location[CR][LF] == Contents of files in the log/20/ directory after test 794 === Start of file check-expected Warning: --follow overrides --location[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind794 ../src/curl -q --output log/20/curl794.out --include --trace-ascii log/20/trace794 --trace-time http://127.0.0.1:38929/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/20/stdout794 2> log/20/stderr794 === End of file commands.log === Start of file http_server.log 05:47:03.099501 ====> Client connect 05:47:03.099541 accept_connection 3 returned 4 05:47:03.099560 accept_connection 3 returned 0 05:47:03.099574 Read 93 bytes 05:47:03.099585 Process 93 bytes request 05:47:03.099598 Got request: GET /verifiedserver HTTP/1.1 05:47:03.099607 Are-we-friendly question received 05:47:03.099638 Wrote request (93 bytes) input to log/20/server.input 05:47:03.099658 Identifying ourselves as friends 05:47:03.099724 Response sent (56 bytes) and written to log/20/server.response 05:47:03.099736 special request received, no persistency 05:47:03.099745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 35686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 794 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind794 ==119507== ==119507== Process terminating with default action of signal 4 (SIGILL) ==119507== Illegal opcode at address 0x4014883 ==119507== at 0x4014883: getparameter (tool_getparam.c:2899) ==119507== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119507== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119507== by 0x4004208: main (tool_main.c:189) === End of file valgrind794 test 0793...[.netrc with embedded NULL byte, with quoted token] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind793 ../src/curl -q --output log/7/curl793.out --include --trace-ascii log/7/trace793 --trace-time --netrc --netrc-file log/7/netrc793 ftp://127.0.0.1:44937/793 > log/7/stdout793 2> log/7/stderr793 793: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 793 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind793 ../src/curl -q --output log/7/curl793.out --include --trace-ascii log/7/trace793 --trace-time --netrc --netrc-file log/7/netrc793 ftp://127.0.0.1:44937/793 > log/7/stdout793 2> log/7/stderr793 === End of file commands.log === Start of file ftp_server.log 05:47:03.345813 ====> Client connect 05:47:03.345992 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:03.346288 < "USER anonymous" 05:47:03.346323 > "331 We are happy you popped in![CR][LF]" 05:47:03.346496 < "PASS ftp@example.com" 05:47:03.346527 > "230 Welcome you silly person[CR][LF]" 05:47:03.346695 < "PWD" 05:47:03.346730 > "257 "/" is current directory[CR][LF]" 05:47:03.346904 < "EPSV" 05:47:03.346931 ====> Passive DATA channel requested by client 05:47:03.346944 DATA sockfilt for passive data channel starting... 05:47:03.365663 DATA sockfilt for passive data channel started (pid 119344) 05:47:03.365867 DATA sockfilt for passive data channel listens on port 40571 05:47:03.365934 > "229 Entering Passive Mode (|||40571|)[CR][LF]" 05:47:03.365958 Client has been notified that DATA conn will be accepted on port 40571 05:47:03.366300 Client connects to port 40571 05:47:03.366333 ====> Client established passive DATA connection on port 40571 05:47:03.366437 < "TYPE I" 05:47:03.366476 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:03.366658 < "SIZE verifiedserver" 05:47:03.366703 > "213 17[CR][LF]" 05:47:03.366872 < "RETR verifiedserver" 05:47:03.366911 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:03.367016 =====> Closing passive DATA connection... 05:47:03.367033 Server disconnects passive DATA connection 05:47:03.367262 Server disconnected passive DATA connection 05:47:03.367296 DATA sockfilt for passive data channel quits (pid 119344) 05:47:03.367624 DATA sockfilt for passive data channel quit (pid 119344) 05:47:03.367653 =====> Closed passive DATA connection 05:47:03.367688 > "226 File transfer complete[CR][LF]" 05:47:03.412575 < "QUIT" 05:47:03.412644 > "221 bye bye baby[CR][LF]" 05:47:03.413934 MAIN sockfilt said DISC 05:47:03.413972 ====> Client disconnected 05:47:03.414066 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:03.807147 ====> Client connect 05:47:03.807464 Received DATA (on stdin) 05:47:03.807477 > 146 bytes data, server => client 05:47:03.807488 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:03.807498 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:03.807506 '220 \___|\___/|_| \_\_____|\r\n' 05:47:03.807591 < 16 bytes data, client => server 05:47:03.807604 'USER anonymous\r\n' 05:47:03.807784 Received DATA (on stdin) 05:47:03.807797 > 33 bytes data, server => client 05:47:03.807808 '331 We are happy you popped in!\r\n' 05:47:03.807860 < 22 bytes data, client => server 05:47:03.807872 'PASS ftp@example.com\r\n' 05:47:03.807987 Received DATA (on stdin) 05:47:03.807999 > 30 bytes data, server => client 05:47:03.808009 '230 Welcome you silly person\r\n' 05:47:03.808060 < 5 bytes data, client => server 05:47:03.808074 'PWD\r\n' 05:47:03.808188 Received DATA (on stdin) 05:47:03.808201 > 30 bytes data, server => client 05:47:03.808211 '257 "/" is current directory\r\n' 05:47:03.808274 < 6 bytes data, client => server 05:47:03.808287 'EPSV\r\n' 05:47:03.827431 Received DATA (on stdin) 05:47:03.827450 > 39 bytes data, server => client 05:47:03.827462 '229 Entering Passive Mode (|||40571|)\r\n' 05:47:03.827672 < 8 bytes data, client => server 05:47:03.827689 'TYPE I\r\n' 05:47:03.827942 Received DATA (on stdin) 05:47:03.827954 > 33 bytes data, server => client 05:47:03.827965 '200 I modify TYPE as you wanted\r\n' 05:47:03.828020 < 21 bytes data, client => server 05:47:03.828034 'SIZE verifiedserver\r\n' 05:47:03.828168 Received DATA (on stdin) 05:47:03.828180 > 8 bytes data, server => client 05:47:03.828189 '213 17\r\n' 05:47:03.828240 < 21 bytes data, client => server 05:47:03.828252 'RETR verifiedserver\r\n' 05:47:03CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind797 ../src/curl -q --output log/9/curl797.out --include --trace-ascii log/9/trace797 --trace-time http://127.0.0.1:33885/797 -X IGLOO -d moo --follow > log/9/stdout797 2> log/9/stderr797 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind740 ../src/curl -q --output log/15/curl740.out --include --trace-ascii log/15/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout740 2> log/15/stderr740 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind795 ../src/curl -q --output log/17/curl795.out --include --trace-ascii log/17/trace795 --trace-time http://@127.0.0.1:41505/page/795 -u user:secret --location --proto-redir imap --resolve host:44311:127.0.0.1 > log/17/stdout795 2> log/17/stderr795 .828493 Received DATA (on stdin) 05:47:03.828505 > 29 bytes data, server => client 05:47:03.828516 '150 Binary junk (17 bytes).\r\n' 05:47:03.829153 Received DATA (on stdin) 05:47:03.829166 > 28 bytes data, server => client 05:47:03.829177 '226 File transfer complete\r\n' 05:47:03.873775 < 6 bytes data, client => server 05:47:03.873809 'QUIT\r\n' 05:47:03.874114 Received DATA (on stdin) 05:47:03.874129 > 18 bytes data, server => client 05:47:03.874140 '221 bye bye baby\r\n' 05:47:03.875333 ====> Client disconnect 05:47:03.875535 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:03.809838 Running IPv4 version 05:47:03.809901 Listening on port 40571 05:47:03.809935 Wrote pid 119344 to log/7/server/ftp_sockdata.pid 05:47:03.827005 Received PING (on stdin) 05:47:03.827199 Received PORT (on stdin) 05:47:03.827711 ====> Client connect 05:47:03.828542 Received DATA (on stdin) 05:47:03.828554 > 17 bytes data, server => client 05:47:03.828567 'WE ROOLZ: 81085\r\n' 05:47:03.828591 Received DISC (on stdin) 05:47:03.828602 ====> Client forcibly disconnected 05:47:03.828767 Received QUIT (on stdin) 05:47:03.828779 quits 05:47:03.828872 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc793 machine 127.0.0.1 login username "password" hello === End of file netrc793 === Start of file server.cmd Testnum 793 === End of file server.cmd === Start of file valgrind793 ==119363== ==119363== Process terminating with default action of signal 4 (SIGILL) ==119363== Illegal opcode at address 0x4014883 ==119363== at 0x4014883: getparameter (tool_getparam.c:2899) ==119363== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119363== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119363== by 0x4004208: main (tool_main.c:189) === End of file valgrind793 test 0797...[--follow with custom POST method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind797 ../src/curl -q --output log/9/curl797.out --include --trace-ascii log/9/trace797 --trace-time http://127.0.0.1:33885/797 -X IGLOO -d moo --follow > log/9/stdout797 2> log/9/stderr797 797: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 797 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind797 ../src/curl -q --output log/9/curl797.out --include --trace-ascii log/9/trace797 --trace-time http://127.0.0.1:33885/797 -X IGLOO -d moo --follow > log/9/stdout797 2> log/9/stderr797 === End of file commands.log === Start of file http_server.log 05:47:03.259710 ====> Client connect 05:47:03.263714 accept_connection 3 returned 4 05:47:03.263751 accept_connection 3 returned 0 05:47:03.263771 Read 93 bytes 05:47:03.263782 Process 93 bytes request 05:47:03.263796 Got request: GET /verifiedserver HTTP/1.1 05:47:03.263805 Are-we-friendly question received 05:47:03.263836 Wrote request (93 bytes) input to log/9/server.input 05:47:03.263853 Identifying ourselves as friends 05:47:03.263925 Response sent (56 bytes) and written to log/9/server.response 05:47:03.263936 special request received, no persistency 05:47:03.263945 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 37768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 797 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind797 ==119629== ==119629== Process terminating with default action of signal 4 (SIGILL) ==119629== Illegal opcode at address 0x4014883 ==119629== at 0x4014883: getparameter (tool_getparam.c:2899) ==119629== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119629== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119629== by 0x4004208: main (tool_main.c:189) === End of file valgrind797 setenv HOME = /startdir/src/build-curl/tests/log/15 test 0740...[IPFS with gateway URL from multiline gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind740 ../src/curl -q --output log/15/curl740.out --include --trace-ascii log/15/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout740 2> log/15/stderr740 740: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 740 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind740 ../src/curl -q --output log/15/curl740.out --include --trace-ascii log/15/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout740 2> log/15/stderr740 === End of file commands.log === Start of file http_server.log 05:46:58.949024 ====> Client connect 05:46:58.949057 accept_connection 3 returned 4 05:46:58.949074 accept_connection 3 returned 0 05:46:58.950486 Read 93 bytes 05:46:58.950503 Process 93 bytes request 05:46:58.950518 Got request: GET /verifiedserver HTTP/1.1 05:46:58.950528 Are-we-friendly question received 05:46:58.950574 Wrote request (93 bytes) input to log/15/server.input 05:46:58.950592 Identifying ourselves as friends 05:46:58.950647 Response sent (56 bytes) and written to log/15/server.response 05:46:58.950656 special request received, no persistency 05:46:58.950665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 59384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 740 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind740 ==116298== ==116298== Process terminating with default action of signal 4 (SIGILL) ==116298== Illegal opcode at address 0x4014883 ==116298== at 0x4014883: getparameter (tool_getparam.c:2899) ==116298== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116298== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116298== by 0x4004208: main (tool_main.c:189) === End of file valgrind740 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/imap_server.pid" --logfile "log/17/imap_server.log" --logdir "log/17" --portfile "log/17/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44311 (log/17/server/imap_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-time imap://127.0.0.1:34849 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind799 ../src/curl -q --output log/19/curl799.out --include --trace-ascii log/19/trace799 --trace-time 'imap://127.0.0.1:35753/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/19/stdout799 2> log/19/stderr799 server.port) RUN: IMAP server is PID 119499 port 44311 * pid imap => 119499 119499 test 0795...[HTTP with credentials redirects to IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind795 ../src/curl -q --output log/17/curl795.out --include --trace-ascii log/17/trace795 --trace-time http://@127.0.0.1:41505/page/795 -u user:secret --location --proto-redir imap --resolve host:44311:127.0.0.1 > log/17/stdout795 2> log/17/stderr795 795: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 795 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind795 ../src/curl -q --output log/17/curl795.out --include --trace-ascii log/17/trace795 --trace-time http://@127.0.0.1:41505/page/795 -u user:secret --location --proto-redir imap --resolve host:44311:127.0.0.1 > log/17/stdout795 2> log/17/stderr795 === End of file commands.log === Start of file http_server.log 05:47:04.115781 ====> Client connect 05:47:04.115818 accept_connection 3 returned 4 05:47:04.115835 accept_connection 3 returned 0 05:47:04.115849 Read 93 bytes 05:47:04.115859 Process 93 bytes request 05:47:04.115871 Got request: GET /verifiedserver HTTP/1.1 05:47:04.115881 Are-we-friendly question received 05:47:04.115908 Wrote request (93 bytes) input to log/17/server.input 05:47:04.115925 Identifying ourselves as friends 05:47:04.115987 Response sent (56 bytes) and written to log/17/server.response 05:47:04.115999 special request received, no persistency 05:47:04.116008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 44748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file imap_server.log 05:47:03.825657 IMAP server listens on port IPv4/44311 05:47:03.825799 logged pid 119499 in log/17/server/imap_server.pid 05:47:03.825831 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:03.277781 Running IPv4 version 05:47:03.277887 Listening on port 44311 05:47:03.277930 Wrote pid 119591 to log/17/server/imap_sockfilt.pid 05:47:03.277963 Wrote port 44311 to log/17/server/imap_server.port 05:47:03.283660 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN CAPA SASL-IR REPLY AUTHENTICATE B002 OK AUTHENTICATE completed Testnum 795 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind795 ==119793== ==119793== Process terminating with default action of signal 4 (SIGILL) ==119793== Illegal opcode at address 0x4014883 ==119793== at 0x4014883: getparameter (tool_getparam.c:2899) ==119793== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119793== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119793== by 0x4004208: main (tool_main.c:189) === End of file valgrind795 test 0807...[IMAP LSUB mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-time imap://127.0.0.1:34849 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 807: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 807 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-time imap://127.0.0.1:34849 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 === End of file commands.log === Start of file imap_server.log 05:47:04.999052 ====> Client connect 05:47:04.999226 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:04.999591 < "A001 CAPABILITY" 05:47:04.999635 > "A001 BAD Command[CR][LF]" 05:47:04.999823 < "A002 LIST "verifiedserver" *" 05:47:04.999857 LIST_imap got "verifiedserver" * 05:47:04.999887 > "* LIST () "/" "WE ROOLZ: 112350"[CR][LF]" 05:47:04.999911 > "A002 OK LIST Completed[CR][LF]" 05:47:04.999928 return proof we are we 05:47:05.045908 < "A003 LOGOUT" 05:47:05.045970 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:05.045990 > "A003 OK LOGOUT completed[CR][LF]" 05:47:05.047472 MAIN sockfilt said DISC 05:47:05.047517 ====> Client disconnected 05:47:05.047610 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.460351 ====> Client connect 05:47:04.460701 Received DATA (on stdin) 05:47:04.460717 > 164 bytes data, server => client 05:47:04.460729 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:04.460739 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:04.460749 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:04.460867 < 17 bytes data, client => server 05:47:04.460883 'A001 CAPABILITY\r\n' 05:47:04.461096 Received DATA (on stdin) 05:47:04.461107 > 18 bytes data, server => client 05:47:04.461115 'A001 BAD Command\r\n' 05:47:04.461177 < 30 bytes data, client => server 05:47:04.461192 'A002 LIST "verifiedserver" *\r\n' 05:47:04.461387 Received DATA (on stdin) 05:47:04.461400 > 34 bytes data, server => client 05:47:04.461411 '* LIST () "/" "WE ROOLZ: 112350"\r\n' 05:47:04.461435 Received DATA (on stdin) 05:47:04.461446 > 24 bytes data, server => client 05:47:04.461457 'A002 OK LIST Completed\r\n' 05:47:04.507153 < 13 bytes data, client => server 05:47:04.507194 'A003 LOGOUT\r\n' 05:47:04.507448 Received DATA (on stdin) 05:47:04.507458 > 36 bytes data, server => client 05:47:04.507468 '* BYE curl IMAP server signing off\r\n' 05:47:04.507490 Received DATA (on stdin) 05:47:04.507500 > 26 bytes data, server => client 05:47:04.507510 'A003 OK LOGOUT completed\r\n' 05:47:04.508864 ====> Client disconnect 05:47:04.509077 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 ==119903== ==119903== Process terminating with default action of signal 4 (SIGILL) ==119903== Illegal opcode at address 0x4014883 ==119903== at 0x4014883: getparameter (tool_getparam.c:2899) ==119903== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119903== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119903== by 0x4004208: main (tool_main.c:189) === End of file valgrind807 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/imap_server.pid" --logfile "log/19/imap_server.log" --logdir "log/19" --portfile "log/19/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35753 (log/19/server/imap_server.port) RUN: IMAP server is PID 119669 port 35753 * pid imap => 119669 119669 test CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind801 ../src/curl -q --output log/21/curl801.out --include --trace-ascii log/21/trace801 --trace-time 'imap://127.0.0.1:38913/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/21/stdout801 2> log/21/stderr801 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind802 ../src/curl -q --output log/16/curl802.out --include --trace-ascii log/16/trace802 --trace-time 'imap://127.0.0.1:33933/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/16/stdout802 2> log/16/stderr802 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind800 ../src/curl -q --output log/22/curl800.out --include --trace-ascii log/22/trace800 --trace-time 'imap://127.0.0.1:40755/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/22/stdout800 2> log/22/stderr800 0799...[IMAP with --login-options 'AUTH=+LOGIN'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind799 ../src/curl -q --output log/19/curl799.out --include --trace-ascii log/19/trace799 --trace-time 'imap://127.0.0.1:35753/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/19/stdout799 2> log/19/stderr799 799: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 799 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind799 ../src/curl -q --output log/19/curl799.out --include --trace-ascii log/19/trace799 --trace-time 'imap://127.0.0.1:35753/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/19/stdout799 2> log/19/stderr799 === End of file commands.log === Start of file imap_server.log 05:47:04.070590 IMAP server listens on port IPv4/35753 05:47:04.070717 logged pid 119669 in log/19/server/imap_server.pid 05:47:04.070754 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.531572 Running IPv4 version 05:47:04.531676 Listening on port 35753 05:47:04.531729 Wrote pid 119738 to log/19/server/imap_sockfilt.pid 05:47:04.531762 Wrote port 35753 to log/19/server/imap_server.port 05:47:04.531935 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY LOGIN A002 OK LOGIN completed Testnum 799 === End of file server.cmd === Start of file valgrind799 ==119870== ==119870== Process terminating with default action of signal 4 (SIGILL) ==119870== Illegal opcode at address 0x4014883 ==119870== at 0x4014883: getparameter (tool_getparam.c:2899) ==119870== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119870== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119870== by 0x4004208: main (tool_main.c:189) === End of file valgrind799 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/imap_server.pid" --logfile "log/21/imap_server.log" --logdir "log/21" --portfile "log/21/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38913 (log/21/server/imap_server.port) RUN: IMAP server is PID 119762 port 38913 * pid imap => 119762 119762 test 0801...[IMAP FETCH message by MAILINDEX and SECTION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind801 ../src/curl -q --output log/21/curl801.out --include --trace-ascii log/21/trace801 --trace-time 'imap://127.0.0.1:38913/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/21/stdout801 2> log/21/stderr801 801: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 801 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind801 ../src/curl -q --output log/21/curl801.out --include --trace-ascii log/21/trace801 --trace-time 'imap://127.0.0.1:38913/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/21/stdout801 2> log/21/stderr801 === End of file commands.log === Start of file imap_server.log 05:47:04.269220 IMAP server listens on port IPv4/38913 05:47:04.269377 logged pid 119762 in log/21/server/imap_server.pid 05:47:04.269417 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.728318 Running IPv4 version 05:47:04.728427 Listening on port 38913 05:47:04.728465 Wrote pid 119765 to log/21/server/imap_sockfilt.pid 05:47:04.728492 Wrote port 38913 to log/21/server/imap_server.port 05:47:04.730508 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 801 === End of file server.cmd === Start of file valgrind801 ==120011== ==120011== Process terminating with default action of signal 4 (SIGILL) ==120011== Illegal opcode at address 0x4014883 ==120011== at 0x4014883: getparameter (tool_getparam.c:2899) ==120011== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120011== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120011== by 0x4004208: main (tool_main.c:189) === End of file valgrind801 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/imap_server.pid" --logfile "log/16/imap_server.log" --logdir "log/16" --portfile "log/16/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33933 (log/16/server/imap_server.port) RUN: IMAP server is PID 119781 port 33933 * pid imap => 119781 119781 test 0802...[IMAP SELECT UIDVALIDITY Success] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind802 ../src/curl -q --output log/16/curl802.out --include --trace-ascii log/16/trace802 --trace-time 'imap://127.0.0.1:33933/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/16/stdout802 2> log/16/stderr802 802: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind802 ../src/curl -q --output log/16/curl802.out --include --trace-ascii log/16/trace802 --trace-time 'imap://127.0.0.1:33933/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/16/stdout802 2> log/16/stderr802 === End of file commands.log === Start of file imap_server.log 05:47:04.592302 IMAP server listens on port IPv4/33933 05:47:04.592424 logged pid 119781 in log/16/server/imap_server.pid 05:47:04.592456 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.051675 Running IPv4 version 05:47:04.051767 Listening on port 33933 05:47:04.051812 Wrote pid 119785 to log/16/server/imap_sockfilt.pid 05:47:04.051846 Wrote port 33933 to log/16/server/imap_server.port 05:47:04.051870 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 802 === End of file server.cmd === Start of file valgrind802 ==120119== ==120119== Process terminating with default action of signal 4 (SIGILL) ==120119== Illegal opcode at address 0x4014883 ==120119== at 0x4014883: getparameter (tool_getparam.c:2899) ==120119== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120119== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120119== by 0x4004208: main (tool_main.c:189) === End of file valgrind802 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/imap_server.pid" --logfile "log/22/imap_server.log" --logdir "log/22" --portfile "log/22/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40755 (log/22/server/imap_server.port) RUN: IMAP server is PID 119739 port 40755 * pid imap => 119739 119739 test 0800...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind800 ../src/curl -q --oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind813 ../src/curl -q --output log/11/curl813.out --include --trace-ascii log/11/trace813 --trace-time imap://127.0.0.1:39961 -u user:secret -X 'RENAME 666 813' > log/11/stdout813 2> log/11/stderr813 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind805 ../src/curl -q --output log/4/curl805.out --include --trace-ascii log/4/trace805 --trace-time imap://127.0.0.1:38711/805 -T log/4/upload805 -u user:secret > log/4/stdout805 2> log/4/stderr805 utput log/22/curl800.out --include --trace-ascii log/22/trace800 --trace-time 'imap://127.0.0.1:40755/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/22/stdout800 2> log/22/stderr800 800: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind800 ../src/curl -q --output log/22/curl800.out --include --trace-ascii log/22/trace800 --trace-time 'imap://127.0.0.1:40755/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/22/stdout800 2> log/22/stderr800 === End of file commands.log === Start of file imap_server.log 05:47:04.152421 IMAP server listens on port IPv4/40755 05:47:04.152586 logged pid 119739 in log/22/server/imap_server.pid 05:47:04.152617 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.601828 Running IPv4 version 05:47:04.601926 Listening on port 40755 05:47:04.601972 Wrote pid 119754 to log/22/server/imap_sockfilt.pid 05:47:04.602003 Wrote port 40755 to log/22/server/imap_server.port 05:47:04.613678 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 800 === End of file server.cmd === Start of file valgrind800 ==119914== ==119914== Process terminating with default action of signal 4 (SIGILL) ==119914== Illegal opcode at address 0x4014883 ==119914== at 0x4014883: getparameter (tool_getparam.c:2899) ==119914== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==119914== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==119914== by 0x4004208: main (tool_main.c:189) === End of file valgrind800 test 0813...[IMAP RENAME mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind813 ../src/curl -q --output log/11/curl813.out --include --trace-ascii log/11/trace813 --trace-time imap://127.0.0.1:39961 -u user:secret -X 'RENAME 666 813' > log/11/stdout813 2> log/11/stderr813 813: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 813 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind813 ../src/curl -q --output log/11/curl813.out --include --trace-ascii log/11/trace813 --trace-time imap://127.0.0.1:39961 -u user:secret -X 'RENAME 666 813' > log/11/stdout813 2> log/11/stderr813 === End of file commands.log === Start of file imap_server.log 05:47:05.512228 ====> Client connect 05:47:05.512444 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:05.512794 < "A001 CAPABILITY" 05:47:05.512841 > "A001 BAD Command[CR][LF]" 05:47:05.513027 < "A002 LIST "verifiedserver" *" 05:47:05.513061 LIST_imap got "verifiedserver" * 05:47:05.513088 > "* LIST () "/" "WE ROOLZ: 110655"[CR][LF]" 05:47:05.513108 > "A002 OK LIST Completed[CR][LF]" 05:47:05.513123 return proof we are we 05:47:05.569072 < "A003 LOGOUT" 05:47:05.569128 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:05.569149 > "A003 OK LOGOUT completed[CR][LF]" 05:47:05.572679 MAIN sockfilt said DISC 05:47:05.572741 ====> Client disconnected 05:47:05.572841 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.967021 ====> Client connect 05:47:05.973921 Received DATA (on stdin) 05:47:05.973943 > 164 bytes data, server => client 05:47:05.973955 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:05.973965 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:05.973975 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:05.974090 < 17 bytes data, client => server 05:47:05.974103 'A001 CAPABILITY\r\n' 05:47:05.974303 Received DATA (on stdin) 05:47:05.974315 > 18 bytes data, server => client 05:47:05.974325 'A001 BAD Command\r\n' 05:47:05.974385 < 30 bytes data, client => server 05:47:05.974397 'A002 LIST "verifiedserver" *\r\n' 05:47:05.974581 Received DATA (on stdin) 05:47:05.974593 > 34 bytes data, server => client 05:47:05.974603 '* LIST () "/" "WE ROOLZ: 110655"\r\n' 05:47:05.974625 Received DATA (on stdin) 05:47:05.974635 > 24 bytes data, server => client 05:47:05.974645 'A002 OK LIST Completed\r\n' 05:47:06.030343 < 13 bytes data, client => server 05:47:06.030385 'A003 LOGOUT\r\n' 05:47:06.030607 Received DATA (on stdin) 05:47:06.030619 > 36 bytes data, server => client 05:47:06.030630 '* BYE curl IMAP server signing off\r\n' 05:47:06.030665 Received DATA (on stdin) 05:47:06.030675 > 26 bytes data, server => client 05:47:06.030686 'A003 OK LOGOUT completed\r\n' 05:47:06.034046 ====> Client disconnect 05:47:06.034314 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==120138== ==120138== Process terminating with default action of signal 4 (SIGILL) ==120138== Illegal opcode at address 0x4014883 ==120138== at 0x4014883: getparameter (tool_getparam.c:2899) ==120138== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120138== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120138== by 0x4004208: main (tool_main.c:189) === End of file valgrind813 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/imap_server.pid" --logfile "log/4/imap_server.log" --logdir "log/4" --portfile "log/4/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38711 (log/4/server/imap_server.port) RUN: IMAP server is PID 119829 port 38711 * pid imap => 119829 119829 test 0805...[IMAP APPEND message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind805 ../src/curl -q --output log/4/curl805.out --include --trace-ascii log/4/trace805 --trace-time imap://127.0.0.1:38711/805 -T log/4/upload805 -u user:secret > log/4/stdout805 2> log/4/stderr805 805: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 805 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind805 ../src/curl -q --output log/4/curl805.out --include --trace-ascii log/4/trace805 --trace-time imap://127.0.0.1:38711/805 -T log/4/upload805 -u user:secret > log/4/stdout805 2> log/4/stderr805 === End of file commands.log === Start of file imap_server.log 05:47:04.899148 IMAP server listens on port IPv4/38711 05:47:04.899266 logged pid 119829 in log/4/server/imap_server.pid 05:47:04.899295 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.358863 Running IPv4 version 05:47:04.358960 Listening on port 38711 05:47:04.358999 Wrote pid 119852 to log/4/server/imap_sockfilt.pid 05:47:04.359027 Wrote port 38711 to log/4/server/imap_server.port 05:47:04.360488 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 805 === End of file server.cmd === Start of file upload805 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com MessageCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind741 ../src/curl -q --output log/14/curl741.out --include --trace-ascii log/14/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout741 2> log/14/stderr741 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind815 ../src/curl -q --output log/13/curl815.out --include --trace-ascii log/13/trace815 --trace-time imap://127.0.0.1:36835/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:36835/815 -X CLOSE -u user:secret > log/13/stdout815 2> log/13/stderr815 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind803 ../src/curl -q --output log/2/curl803.out --include --trace-ascii log/2/trace803 --trace-time 'imap://127.0.0.1:33343/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/2/stdout803 2> log/2/stderr803 -Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload805 === Start of file valgrind805 ==120369== ==120369== Process terminating with default action of signal 4 (SIGILL) ==120369== Illegal opcode at address 0x4014883 ==120369== at 0x4014883: getparameter (tool_getparam.c:2899) ==120369== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120369== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120369== by 0x4004208: main (tool_main.c:189) === End of file valgrind805 setenv HOME = /startdir/src/build-curl/tests/log/14 test 0741...[IPFS malformed gw URL from multiline gateway file, first line no url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind741 ../src/curl -q --output log/14/curl741.out --include --trace-ascii log/14/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout741 2> log/14/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/14/ directory after test 741 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind741 ../src/curl -q --output log/14/curl741.out --include --trace-ascii log/14/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout741 2> log/14/stderr741 === End of file commands.log === Start of file http_server.log 05:46:59.027467 ====> Client connect 05:46:59.027506 accept_connection 3 returned 4 05:46:59.027525 accept_connection 3 returned 0 05:46:59.027541 Read 93 bytes 05:46:59.027553 Process 93 bytes request 05:46:59.027567 Got request: GET /verifiedserver HTTP/1.1 05:46:59.027576 Are-we-friendly question received 05:46:59.027607 Wrote request (93 bytes) input to log/14/server.input 05:46:59.027627 Identifying ourselves as friends 05:46:59.027692 Response sent (56 bytes) and written to log/14/server.response 05:46:59.027703 special request received, no persistency 05:46:59.027712 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 60986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 741 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind741 ==116397== ==116397== Process terminating with default action of signal 4 (SIGILL) ==116397== Illegal opcode at address 0x4014883 ==116397== at 0x4014883: getparameter (tool_getparam.c:2899) ==116397== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==116397== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==116397== by 0x4004208: main (tool_main.c:189) === End of file valgrind741 test 0815...[IMAP STORE - delete message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind815 ../src/curl -q --output log/13/curl815.out --include --trace-ascii log/13/trace815 --trace-time imap://127.0.0.1:36835/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:36835/815 -X CLOSE -u user:secret > log/13/stdout815 2> log/13/stderr815 815: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 815 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind815 ../src/curl -q --output log/13/curl815.out --include --trace-ascii log/13/trace815 --trace-time imap://127.0.0.1:36835/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:36835/815 -X CLOSE -u user:secret > log/13/stdout815 2> log/13/stderr815 === End of file commands.log === Start of file imap_server.log 05:47:05.649011 ====> Client connect 05:47:05.649225 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:05.649560 < "A001 CAPABILITY" 05:47:05.649602 > "A001 BAD Command[CR][LF]" 05:47:05.649768 < "A002 LIST "verifiedserver" *" 05:47:05.649799 LIST_imap got "verifiedserver" * 05:47:05.649825 > "* LIST () "/" "WE ROOLZ: 111099"[CR][LF]" 05:47:05.649843 > "A002 OK LIST Completed[CR][LF]" 05:47:05.649856 return proof we are we 05:47:05.698388 < "A003 LOGOUT" 05:47:05.698457 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:05.698486 > "A003 OK LOGOUT completed[CR][LF]" 05:47:05.699878 MAIN sockfilt said DISC 05:47:05.699914 ====> Client disconnected 05:47:05.699998 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:06.110331 ====> Client connect 05:47:06.110696 Received DATA (on stdin) 05:47:06.110710 > 164 bytes data, server => client 05:47:06.110721 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:06.110731 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:06.110740 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:06.110855 < 17 bytes data, client => server 05:47:06.110866 'A001 CAPABILITY\r\n' 05:47:06.111059 Received DATA (on stdin) 05:47:06.111070 > 18 bytes data, server => client 05:47:06.111079 'A001 BAD Command\r\n' 05:47:06.111138 < 30 bytes data, client => server 05:47:06.111149 'A002 LIST "verifiedserver" *\r\n' 05:47:06.111311 Received DATA (on stdin) 05:47:06.111320 > 34 bytes data, server => client 05:47:06.111330 '* LIST () "/" "WE ROOLZ: 111099"\r\n' 05:47:06.111348 Received DATA (on stdin) 05:47:06.111357 > 24 bytes data, server => client 05:47:06.111366 'A002 OK LIST Completed\r\n' 05:47:06.159646 < 13 bytes data, client => server 05:47:06.159675 'A003 LOGOUT\r\n' 05:47:06.159947 Received DATA (on stdin) 05:47:06.159961 > 36 bytes data, server => client 05:47:06.159972 '* BYE curl IMAP server signing off\r\n' 05:47:06.159996 Received DATA (on stdin) 05:47:06.160007 > 26 bytes data, server => client 05:47:06.160017 'A003 OK LOGOUT completed\r\n' 05:47:06.161267 ====> Client disconnect 05:47:06.161466 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==120303== ==120303== Process terminating with default action of signal 4 (SIGILL) ==120303== Illegal opcode at address 0x4014883 ==120303== at 0x4014883: getparameter (tool_getparam.c:2899) ==120303== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120303== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120303== by 0x4004208: main (tool_main.c:189) === End of file valgrind815 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/imap_server.pid" --logfile "log/2/imap_server.log" --logdir "log/2" --portfile "log/2/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33343 (log/2/server/imap_server.port) RUN: IMAP server is PID 119784 port 33343 * pid imap => 119784 1197CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind804 ../src/curl -q --output log/10/curl804.out --include --trace-ascii log/10/trace804 --trace-time 'imap://127.0.0.1:38901/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:38901/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/10/stdout804 2> log/10/stderr804 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind806 ../src/curl -q --output log/18/curl806.out --include --trace-ascii log/18/trace806 --trace-time imap://127.0.0.1:44071/806 -u user:secret > log/18/stdout806 2> log/18/stderr806 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind811 ../src/curl -q --output log/24/curl811.out --include --trace-ascii log/24/trace811 --trace-time imap://127.0.0.1:43587 -u user:secret -X 'CREATE 811' > log/24/stdout811 2> log/24/stderr811 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind810 ../src/curl -q --output log/5/curl810.out --include --trace-ascii log/5/trace810 --trace-time imap://127.0.0.1:36067/810?NEW -u user:secret > log/5/stdout810 2> log/5/stderr810 84 test 0803...[IMAP SELECT UIDVALIDITY Failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind803 ../src/curl -q --output log/2/curl803.out --include --trace-ascii log/2/trace803 --trace-time 'imap://127.0.0.1:33343/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/2/stdout803 2> log/2/stderr803 803: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 803 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind803 ../src/curl -q --output log/2/curl803.out --include --trace-ascii log/2/trace803 --trace-time 'imap://127.0.0.1:33343/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/2/stdout803 2> log/2/stderr803 === End of file commands.log === Start of file imap_server.log 05:47:04.642376 IMAP server listens on port IPv4/33343 05:47:04.642574 logged pid 119784 in log/2/server/imap_server.pid 05:47:04.642614 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.095014 Running IPv4 version 05:47:04.095130 Listening on port 33343 05:47:04.095176 Wrote pid 119788 to log/2/server/imap_sockfilt.pid 05:47:04.095210 Wrote port 33343 to log/2/server/imap_server.port 05:47:04.100325 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 803 === End of file server.cmd === Start of file valgrind803 ==120165== ==120165== Process terminating with default action of signal 4 (SIGILL) ==120165== Illegal opcode at address 0x4014883 ==120165== at 0x4014883: getparameter (tool_getparam.c:2899) ==120165== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120165== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120165== by 0x4004208: main (tool_main.c:189) === End of file valgrind803 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/imap_server.pid" --logfile "log/10/imap_server.log" --logdir "log/10" --portfile "log/10/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38901 (log/10/server/imap_server.port) RUN: IMAP server is PID 119787 port 38901 * pid imap => 119787 119787 test 0804...[IMAP does not perform SELECT if reusing the same mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind804 ../src/curl -q --output log/10/curl804.out --include --trace-ascii log/10/trace804 --trace-time 'imap://127.0.0.1:38901/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:38901/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/10/stdout804 2> log/10/stderr804 804: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 804 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind804 ../src/curl -q --output log/10/curl804.out --include --trace-ascii log/10/trace804 --trace-time 'imap://127.0.0.1:38901/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:38901/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/10/stdout804 2> log/10/stderr804 === End of file commands.log === Start of file imap_server.log 05:47:04.653863 IMAP server listens on port IPv4/38901 05:47:04.653999 logged pid 119787 in log/10/server/imap_server.pid 05:47:04.654039 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.114970 Running IPv4 version 05:47:04.115090 Listening on port 38901 05:47:04.115145 Wrote pid 119790 to log/10/server/imap_sockfilt.pid 05:47:04.115178 Wrote port 38901 to log/10/server/imap_server.port 05:47:04.115201 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 804 === End of file server.cmd === Start of file valgrind804 ==120175== ==120175== Process terminating with default action of signal 4 (SIGILL) ==120175== Illegal opcode at address 0x4014883 ==120175== at 0x4014883: getparameter (tool_getparam.c:2899) ==120175== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120175== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120175== by 0x4004208: main (tool_main.c:189) === End of file valgrind804 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/imap_server.pid" --logfile "log/18/imap_server.log" --logdir "log/18" --portfile "log/18/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44071 (log/18/server/imap_server.port) RUN: IMAP server is PID 119831 port 44071 * pid imap => 119831 119831 test 0806...[IMAP LIST mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind806 ../src/curl -q --output log/18/curl806.out --include --trace-ascii log/18/trace806 --trace-time imap://127.0.0.1:44071/806 -u user:secret > log/18/stdout806 2> log/18/stderr806 806: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 806 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind806 ../src/curl -q --output log/18/curl806.out --include --trace-ascii log/18/trace806 --trace-time imap://127.0.0.1:44071/806 -u user:secret > log/18/stdout806 2> log/18/stderr806 === End of file commands.log === Start of file imap_server.log 05:47:04.909368 IMAP server listens on port IPv4/44071 05:47:04.909509 logged pid 119831 in log/18/server/imap_server.pid 05:47:04.909553 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.370351 Running IPv4 version 05:47:04.370452 Listening on port 44071 05:47:04.370494 Wrote pid 119857 to log/18/server/imap_sockfilt.pid 05:47:04.370528 Wrote port 44071 to log/18/server/imap_server.port 05:47:04.370711 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 806 === End of file server.cmd === Start of file valgrind806 ==120365== ==120365== Process terminating with default action of signal 4 (SIGILL) ==120365== Illegal opcode at address 0x4014883 ==120365== at 0x4014883: getparameter (tool_getparam.c:2899) ==120365== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120365== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120365== by 0x4004208: main (tool_main.c:189) === End of file valgrind806 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/imap_server.pid" --logfile "log/24/imap_server.log" --logdir "log/24" --portfile "log/24/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43587 (log/24/server/imap_server.port) RUN: IMAP server is PID 120033 port 43587 * pid imap => 120033 120033 test 0811...[IMAP CREATE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind811 ../src/curl -q --output log/24/curl811.out --include --trace-ascii log/24/tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind808 ../src/curl -q --output log/8/curl808.out --include --trace-ascii log/8/trace808 --trace-time imap://127.0.0.1:45531 -u user:secret -X 'EXAMINE 808' > log/8/stdout808 2> log/8/stderr808 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind809 ../src/curl -q --output log/6/curl809.out --include --trace-ascii log/6/trace809 --trace-time imap://127.0.0.1:46859 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/6/stdout809 2> log/6/stderr809 race811 --trace-time imap://127.0.0.1:43587 -u user:secret -X 'CREATE 811' > log/24/stdout811 2> log/24/stderr811 811: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 811 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind811 ../src/curl -q --output log/24/curl811.out --include --trace-ascii log/24/trace811 --trace-time imap://127.0.0.1:43587 -u user:secret -X 'CREATE 811' > log/24/stdout811 2> log/24/stderr811 === End of file commands.log === Start of file imap_server.log 05:47:05.322634 IMAP server listens on port IPv4/43587 05:47:05.322770 logged pid 120033 in log/24/server/imap_server.pid 05:47:05.322806 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.774713 Running IPv4 version 05:47:05.774821 Listening on port 43587 05:47:05.774861 Wrote pid 120065 to log/24/server/imap_sockfilt.pid 05:47:05.774888 Wrote port 43587 to log/24/server/imap_server.port 05:47:05.783942 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 811 === End of file server.cmd === Start of file valgrind811 ==120578== ==120578== Process terminating with default action of signal 4 (SIGILL) ==120578== Illegal opcode at address 0x4014883 ==120578== at 0x4014883: getparameter (tool_getparam.c:2899) ==120578== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120578== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120578== by 0x4004208: main (tool_main.c:189) === End of file valgrind811 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/imap_server.pid" --logfile "log/5/imap_server.log" --logdir "log/5" --portfile "log/5/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36067 (log/5/server/imap_server.port) RUN: IMAP server is PID 120019 port 36067 * pid imap => 120019 120019 test 0810...[IMAP SEARCH for NEW messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind810 ../src/curl -q --output log/5/curl810.out --include --trace-ascii log/5/trace810 --trace-time imap://127.0.0.1:36067/810?NEW -u user:secret > log/5/stdout810 2> log/5/stderr810 810: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 810 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind810 ../src/curl -q --output log/5/curl810.out --include --trace-ascii log/5/trace810 --trace-time imap://127.0.0.1:36067/810?NEW -u user:secret > log/5/stdout810 2> log/5/stderr810 === End of file commands.log === Start of file imap_server.log 05:47:05.300163 IMAP server listens on port IPv4/36067 05:47:05.300290 logged pid 120019 in log/5/server/imap_server.pid 05:47:05.300330 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.761171 Running IPv4 version 05:47:05.761249 Listening on port 36067 05:47:05.761293 Wrote pid 120062 to log/5/server/imap_sockfilt.pid 05:47:05.761321 Wrote port 36067 to log/5/server/imap_server.port 05:47:05.761510 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 810 === End of file server.cmd === Start of file valgrind810 ==120571== ==120571== Process terminating with default action of signal 4 (SIGILL) ==120571== Illegal opcode at address 0x4014883 ==120571== at 0x4014883: getparameter (tool_getparam.c:2899) ==120571== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120571== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120571== by 0x4004208: main (tool_main.c:189) === End of file valgrind810 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/imap_server.pid" --logfile "log/8/imap_server.log" --logdir "log/8" --portfile "log/8/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45531 (log/8/server/imap_server.port) RUN: IMAP server is PID 119868 port 45531 * pid imap => 119868 119868 test 0808...[IMAP EXAMINE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind808 ../src/curl -q --output log/8/curl808.out --include --trace-ascii log/8/trace808 --trace-time imap://127.0.0.1:45531 -u user:secret -X 'EXAMINE 808' > log/8/stdout808 2> log/8/stderr808 808: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 808 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind808 ../src/curl -q --output log/8/curl808.out --include --trace-ascii log/8/trace808 --trace-time imap://127.0.0.1:45531 -u user:secret -X 'EXAMINE 808' > log/8/stdout808 2> log/8/stderr808 === End of file commands.log === Start of file imap_server.log 05:47:05.000284 IMAP server listens on port IPv4/45531 05:47:05.000405 logged pid 119868 in log/8/server/imap_server.pid 05:47:05.000439 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:04.461271 Running IPv4 version 05:47:04.461345 Listening on port 45531 05:47:04.461385 Wrote pid 119889 to log/8/server/imap_sockfilt.pid 05:47:04.461416 Wrote port 45531 to log/8/server/imap_server.port 05:47:04.461623 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 808 === End of file server.cmd === Start of file valgrind808 ==120462== ==120462== Process terminating with default action of signal 4 (SIGILL) ==120462== Illegal opcode at address 0x4014883 ==120462== at 0x4014883: getparameter (tool_getparam.c:2899) ==120462== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120462== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120462== by 0x4004208: main (tool_main.c:189) === End of file valgrind808 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/imap_server.pid" --logfile "log/6/imap_server.log" --logdir "log/6" --portfile "log/6/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46859 (log/6/server/imap_server.port) RUN: IMAP server is PID 119999 port 46859 * pid imap => 119999 119999 test 0809...[IMAP mailbox STATUS (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind809 ../src/curl -q --output log/6/curl809.out --include --trace-ascii log/6/trace809 --trace-time imap://127.0.0.1:46859 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/6/stdout809 2> log/6/stderr809 809: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 809 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind812 ../src/curl -q --output log/3/curl812.out --include --trace-ascii log/3/trace812 --trace-time imap://127.0.0.1:35335 -u user:secret -X 'DELETE 812' > log/3/stdout812 2> log/3/stderr812 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind821 ../src/curl -q --output log/17/curl821.out --include --trace-ascii log/17/trace821 --trace-time 'imap://127.0.0.1:44311/821/;MAILINDEX=1' -u user:secret > log/17/stdout821 2> log/17/stderr821 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind817 ../src/curl -q --output log/20/curl817.out --include --trace-ascii log/20/trace817 --trace-time imap://127.0.0.1:45645 -u user:secret -X 'COPY 123 817' > log/20/stdout817 2> log/20/stderr817 rind809 ../src/curl -q --output log/6/curl809.out --include --trace-ascii log/6/trace809 --trace-time imap://127.0.0.1:46859 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/6/stdout809 2> log/6/stderr809 === End of file commands.log === Start of file imap_server.log 05:47:05.295718 IMAP server listens on port IPv4/46859 05:47:05.295881 logged pid 119999 in log/6/server/imap_server.pid 05:47:05.295921 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.751864 Running IPv4 version 05:47:05.751947 Listening on port 46859 05:47:05.751987 Wrote pid 120057 to log/6/server/imap_sockfilt.pid 05:47:05.752015 Wrote port 46859 to log/6/server/imap_server.port 05:47:05.756990 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 809 === End of file server.cmd === Start of file valgrind809 ==120567== ==120567== Process terminating with default action of signal 4 (SIGILL) ==120567== Illegal opcode at address 0x4014883 ==120567== at 0x4014883: getparameter (tool_getparam.c:2899) ==120567== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120567== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120567== by 0x4004208: main (tool_main.c:189) === End of file valgrind809 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/imap_server.pid" --logfile "log/3/imap_server.log" --logdir "log/3" --portfile "log/3/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35335 (log/3/server/imap_server.port) RUN: IMAP server is PID 120047 port 35335 * pid imap => 120047 120047 test 0812...[IMAP DELETE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind812 ../src/curl -q --output log/3/curl812.out --include --trace-ascii log/3/trace812 --trace-time imap://127.0.0.1:35335 -u user:secret -X 'DELETE 812' > log/3/stdout812 2> log/3/stderr812 812: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 812 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind812 ../src/curl -q --output log/3/curl812.out --include --trace-ascii log/3/trace812 --trace-time imap://127.0.0.1:35335 -u user:secret -X 'DELETE 812' > log/3/stdout812 2> log/3/stderr812 === End of file commands.log === Start of file imap_server.log 05:47:05.352525 IMAP server listens on port IPv4/35335 05:47:05.352668 logged pid 120047 in log/3/server/imap_server.pid 05:47:05.352706 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.808820 Running IPv4 version 05:47:05.808922 Listening on port 35335 05:47:05.808961 Wrote pid 120076 to log/3/server/imap_sockfilt.pid 05:47:05.808998 Wrote port 35335 to log/3/server/imap_server.port 05:47:05.813838 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==120603== ==120603== Process terminating with default action of signal 4 (SIGILL) ==120603== Illegal opcode at address 0x4014883 ==120603== at 0x4014883: getparameter (tool_getparam.c:2899) ==120603== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120603== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120603== by 0x4004208: main (tool_main.c:189) === End of file valgrind812 test 0821...[IMAP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind821 ../src/curl -q --output log/17/curl821.out --include --trace-ascii log/17/trace821 --trace-time 'imap://127.0.0.1:44311/821/;MAILINDEX=1' -u user:secret > log/17/stdout821 2> log/17/stderr821 821: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 821 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind821 ../src/curl -q --output log/17/curl821.out --include --trace-ascii log/17/trace821 --trace-time 'imap://127.0.0.1:44311/821/;MAILINDEX=1' -u user:secret > log/17/stdout821 2> log/17/stderr821 === End of file commands.log === Start of file imap_server.log 05:47:06.462944 ====> Client connect 05:47:06.463162 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:06.463530 < "A001 CAPABILITY" 05:47:06.463572 > "A001 BAD Command[CR][LF]" 05:47:06.463742 < "A002 LIST "verifiedserver" *" 05:47:06.463774 LIST_imap got "verifiedserver" * 05:47:06.463800 > "* LIST () "/" "WE ROOLZ: 119499"[CR][LF]" 05:47:06.463819 > "A002 OK LIST Completed[CR][LF]" 05:47:06.463833 return proof we are we 05:47:06.511271 < "A003 LOGOUT" 05:47:06.511337 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:06.511358 > "A003 OK LOGOUT completed[CR][LF]" 05:47:06.512788 MAIN sockfilt said DISC 05:47:06.512825 ====> Client disconnected 05:47:06.512905 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.923673 ====> Client connect 05:47:05.924641 Received DATA (on stdin) 05:47:05.924662 > 164 bytes data, server => client 05:47:05.924675 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:05.924685 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:05.924696 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:05.924807 < 17 bytes data, client => server 05:47:05.924820 'A001 CAPABILITY\r\n' 05:47:05.925031 Received DATA (on stdin) 05:47:05.925042 > 18 bytes data, server => client 05:47:05.925052 'A001 BAD Command\r\n' 05:47:05.925110 < 30 bytes data, client => server 05:47:05.925121 'A002 LIST "verifiedserver" *\r\n' 05:47:05.925290 Received DATA (on stdin) 05:47:05.925302 > 34 bytes data, server => client 05:47:05.925312 '* LIST () "/" "WE ROOLZ: 119499"\r\n' 05:47:05.925334 Received DATA (on stdin) 05:47:05.925345 > 24 bytes data, server => client 05:47:05.925355 'A002 OK LIST Completed\r\n' 05:47:05.972512 < 13 bytes data, client => server 05:47:05.972545 'A003 LOGOUT\r\n' 05:47:05.972818 Received DATA (on stdin) 05:47:05.972830 > 36 bytes data, server => client 05:47:05.972841 '* BYE curl IMAP server signing off\r\n' 05:47:05.972863 Received DATA (on stdin) 05:47:05.972873 > 26 bytes data, server => client 05:47:05.972883 'A003 OK LOGOUT completed\r\n' 05:47:05.974181 ====> Client disconnect 05:47:05.974366 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTHENTICATE + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== A002 OK AUTHENTICATE completed Testnum 821 === End of file server.cmd === Start of file valgrind821 ==120795== ==120795== Process terminating with default action of signal 4 (SIGILL) ==120795== Illegal opcode at address 0x4014883 ==120795== at 0x4014883: getparameter (tool_getparam.c:2899) ==120795== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120795== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120795== by 0x4004208: main (tool_main.c:189) === End of file valgrind821 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/imap_server.pid" --logfile "log/20/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind816 ../src/curl -q --output log/23/curl816.out --include --trace-ascii log/23/trace816 --trace-time imap://127.0.0.1:38003/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:38003/816 -X EXPUNGE -u user:secret > log/23/stdout816 2> log/23/stderr816 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind818 ../src/curl -q --output log/7/curl818.out --include --trace-ascii log/7/trace818 --trace-time imap://127.0.0.1:43315 -X NOOP -u user:secret > log/7/stdout818 2> log/7/stderr818 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind814 ../src/curl -q --output log/12/curl814.out --include --trace-ascii log/12/trace814 --trace-time imap://127.0.0.1:35611/814 -u user:secret -X 'CHECK' > log/12/stdout814 2> log/12/stderr814 imap_server.log" --logdir "log/20" --portfile "log/20/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45645 (log/20/server/imap_server.port) RUN: IMAP server is PID 120280 port 45645 * pid imap => 120280 120280 test 0817...[IMAP COPY message to mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind817 ../src/curl -q --output log/20/curl817.out --include --trace-ascii log/20/trace817 --trace-time imap://127.0.0.1:45645 -u user:secret -X 'COPY 123 817' > log/20/stdout817 2> log/20/stderr817 817: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 817 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind817 ../src/curl -q --output log/20/curl817.out --include --trace-ascii log/20/trace817 --trace-time imap://127.0.0.1:45645 -u user:secret -X 'COPY 123 817' > log/20/stdout817 2> log/20/stderr817 === End of file commands.log === Start of file imap_server.log 05:47:05.807338 IMAP server listens on port IPv4/45645 05:47:05.807463 logged pid 120280 in log/20/server/imap_server.pid 05:47:05.807497 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.268286 Running IPv4 version 05:47:05.268415 Listening on port 45645 05:47:05.268472 Wrote pid 120343 to log/20/server/imap_sockfilt.pid 05:47:05.268503 Wrote port 45645 to log/20/server/imap_server.port 05:47:05.268683 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 817 === End of file server.cmd === Start of file valgrind817 ==120925== ==120925== Process terminating with default action of signal 4 (SIGILL) ==120925== Illegal opcode at address 0x4014883 ==120925== at 0x4014883: getparameter (tool_getparam.c:2899) ==120925== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120925== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120925== by 0x4004208: main (tool_main.c:189) === End of file valgrind817 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/imap_server.pid" --logfile "log/23/imap_server.log" --logdir "log/23" --portfile "log/23/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38003 (log/23/server/imap_server.port) RUN: IMAP server is PID 120214 port 38003 * pid imap => 120214 120214 test 0816...[IMAP STORE - delete message with confirmation (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind816 ../src/curl -q --output log/23/curl816.out --include --trace-ascii log/23/trace816 --trace-time imap://127.0.0.1:38003/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:38003/816 -X EXPUNGE -u user:secret > log/23/stdout816 2> log/23/stderr816 816: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 816 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind816 ../src/curl -q --output log/23/curl816.out --include --trace-ascii log/23/trace816 --trace-time imap://127.0.0.1:38003/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:38003/816 -X EXPUNGE -u user:secret > log/23/stdout816 2> log/23/stderr816 === End of file commands.log === Start of file imap_server.log 05:47:05.726638 IMAP server listens on port IPv4/38003 05:47:05.726772 logged pid 120214 in log/23/server/imap_server.pid 05:47:05.726805 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.177930 Running IPv4 version 05:47:05.178022 Listening on port 38003 05:47:05.178068 Wrote pid 120272 to log/23/server/imap_sockfilt.pid 05:47:05.178097 Wrote port 38003 to log/23/server/imap_server.port 05:47:05.187654 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 816 === End of file server.cmd === Start of file valgrind816 ==120866== ==120866== Process terminating with default action of signal 4 (SIGILL) ==120866== Illegal opcode at address 0x4014883 ==120866== at 0x4014883: getparameter (tool_getparam.c:2899) ==120866== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120866== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120866== by 0x4004208: main (tool_main.c:189) === End of file valgrind816 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/imap_server.pid" --logfile "log/7/imap_server.log" --logdir "log/7" --portfile "log/7/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43315 (log/7/server/imap_server.port) RUN: IMAP server is PID 120283 port 43315 * pid imap => 120283 120283 test 0818...[IMAP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind818 ../src/curl -q --output log/7/curl818.out --include --trace-ascii log/7/trace818 --trace-time imap://127.0.0.1:43315 -X NOOP -u user:secret > log/7/stdout818 2> log/7/stderr818 818: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 818 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind818 ../src/curl -q --output log/7/curl818.out --include --trace-ascii log/7/trace818 --trace-time imap://127.0.0.1:43315 -X NOOP -u user:secret > log/7/stdout818 2> log/7/stderr818 === End of file commands.log === Start of file imap_server.log 05:47:05.815871 IMAP server listens on port IPv4/43315 05:47:05.816020 logged pid 120283 in log/7/server/imap_server.pid 05:47:05.816059 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.275705 Running IPv4 version 05:47:05.275769 Listening on port 43315 05:47:05.275807 Wrote pid 120344 to log/7/server/imap_sockfilt.pid 05:47:05.275835 Wrote port 43315 to log/7/server/imap_server.port 05:47:05.277170 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==120926== ==120926== Process terminating with default action of signal 4 (SIGILL) ==120926== Illegal opcode at address 0x4014883 ==120926== at 0x4014883: getparameter (tool_getparam.c:2899) ==120926== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120926== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120926== by 0x4004208: main (tool_main.c:189) === End of file valgrind818 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/imap_server.pid" --logfile "log/12/imap_server.log" --logdir "log/12" --portfile "log/12/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35611 (log/12/server/imap_server.port) RUN: IMAP server is PID 120117 port 35611 * pid imap => 120117 120117 test 0814...[IMAP CHECK mailboCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind822 ../src/curl -q --output log/19/curl822.out --include --trace-ascii log/19/trace822 --trace-time 'imap://127.0.0.1:35753/822/;MAILINDEX=1' -u testuser:testpass > log/19/stdout822 2> log/19/stderr822 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind819 ../src/curl -q --output log/9/curl819.out --include --trace-ascii log/9/trace819 --trace-time 'imap://127.0.0.1:33787/819/;MAILINDEX=1' -u user:secret > log/9/stdout819 2> log/9/stderr819 x (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind814 ../src/curl -q --output log/12/curl814.out --include --trace-ascii log/12/trace814 --trace-time imap://127.0.0.1:35611/814 -u user:secret -X 'CHECK' > log/12/stdout814 2> log/12/stderr814 814: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 814 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind814 ../src/curl -q --output log/12/curl814.out --include --trace-ascii log/12/trace814 --trace-time imap://127.0.0.1:35611/814 -u user:secret -X 'CHECK' > log/12/stdout814 2> log/12/stderr814 === End of file commands.log === Start of file imap_server.log 05:47:05.598979 IMAP server listens on port IPv4/35611 05:47:05.599114 logged pid 120117 in log/12/server/imap_server.pid 05:47:05.599148 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.053912 Running IPv4 version 05:47:05.054011 Listening on port 35611 05:47:05.054058 Wrote pid 120131 to log/12/server/imap_sockfilt.pid 05:47:05.054089 Wrote port 35611 to log/12/server/imap_server.port 05:47:05.054115 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 814 === End of file server.cmd === Start of file valgrind814 ==120784== ==120784== Process terminating with default action of signal 4 (SIGILL) ==120784== Illegal opcode at address 0x4014883 ==120784== at 0x4014883: getparameter (tool_getparam.c:2899) ==120784== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120784== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120784== by 0x4004208: main (tool_main.c:189) === End of file valgrind814 test 0822...[IMAP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind822 ../src/curl -q --output log/19/curl822.out --include --trace-ascii log/19/trace822 --trace-time 'imap://127.0.0.1:35753/822/;MAILINDEX=1' -u testuser:testpass > log/19/stdout822 2> log/19/stderr822 822: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 822 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind822 ../src/curl -q --output log/19/curl822.out --include --trace-ascii log/19/trace822 --trace-time 'imap://127.0.0.1:35753/822/;MAILINDEX=1' -u testuser:testpass > log/19/stdout822 2> log/19/stderr822 === End of file commands.log === Start of file imap_server.log 05:47:06.812243 ====> Client connect 05:47:06.812462 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:06.815930 < "A001 CAPABILITY" 05:47:06.815992 > "A001 BAD Command[CR][LF]" 05:47:06.816196 < "A002 LIST "verifiedserver" *" 05:47:06.816233 LIST_imap got "verifiedserver" * 05:47:06.816265 > "* LIST () "/" "WE ROOLZ: 119669"[CR][LF]" 05:47:06.816288 > "A002 OK LIST Completed[CR][LF]" 05:47:06.816304 return proof we are we 05:47:06.865796 < "A003 LOGOUT" 05:47:06.865867 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:06.865892 > "A003 OK LOGOUT completed[CR][LF]" 05:47:06.875973 MAIN sockfilt said DISC 05:47:06.876041 ====> Client disconnected 05:47:06.876145 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.272571 ====> Client connect 05:47:07.276992 Received DATA (on stdin) 05:47:07.277027 > 164 bytes data, server => client 05:47:07.277040 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.277050 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.277059 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.277170 < 17 bytes data, client => server 05:47:07.277187 'A001 CAPABILITY\r\n' 05:47:07.277459 Received DATA (on stdin) 05:47:07.277472 > 18 bytes data, server => client 05:47:07.277483 'A001 BAD Command\r\n' 05:47:07.277545 < 30 bytes data, client => server 05:47:07.277558 'A002 LIST "verifiedserver" *\r\n' 05:47:07.277762 Received DATA (on stdin) 05:47:07.277775 > 34 bytes data, server => client 05:47:07.277786 '* LIST () "/" "WE ROOLZ: 119669"\r\n' 05:47:07.277808 Received DATA (on stdin) 05:47:07.277819 > 24 bytes data, server => client 05:47:07.277829 'A002 OK LIST Completed\r\n' 05:47:07.327009 < 13 bytes data, client => server 05:47:07.327056 'A003 LOGOUT\r\n' 05:47:07.327355 Received DATA (on stdin) 05:47:07.327369 > 36 bytes data, server => client 05:47:07.327380 '* BYE curl IMAP server signing off\r\n' 05:47:07.327415 Received DATA (on stdin) 05:47:07.327426 > 26 bytes data, server => client 05:47:07.327437 'A003 OK LOGOUT completed\r\n' 05:47:07.337329 ====> Client disconnect 05:47:07.337603 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 822 === End of file server.cmd === Start of file valgrind822 ==121120== ==121120== Process terminating with default action of signal 4 (SIGILL) ==121120== Illegal opcode at address 0x4014883 ==121120== at 0x4014883: getparameter (tool_getparam.c:2899) ==121120== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121120== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121120== by 0x4004208: main (tool_main.c:189) === End of file valgrind822 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/imap_server.pid" --logfile "log/9/imap_server.log" --logdir "log/9" --portfile "log/9/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33787 (log/9/server/imap_server.port) RUN: IMAP server is PID 120285 port 33787 * pid imap => 120285 120285 test 0819...[IMAP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind819 ../src/curl -q --output log/9/curl819.out --include --trace-ascii log/9/trace819 --trace-time 'imap://127.0.0.1:33787/819/;MAILINDEX=1' -u user:secret > log/9/stdout819 2> log/9/stderr819 819: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 819 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind819 ../src/curl -q --output log/9/curl819.out --include --trace-ascii log/9/trace819 --trace-time 'imap://127.0.0.1:33787/819/;MAILINDEX=1' -u user:secret > log/9/stdout819 2> log/9/stderr819 === End of file commands.log === Start of file imap_server.log 05:47:05.812343 IMAP server lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind826 ../src/curl -q --output log/16/curl826.out --include --trace-ascii log/16/trace826 --trace-time 'imap://127.0.0.1:33933/826/;MAILINDEX=1' -u user:secret > log/16/stdout826 2> log/16/stderr826 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind824 ../src/curl -q --output log/1/curl824.out --include --trace-ascii log/1/trace824 --trace-time 'imap://127.0.0.1:34849/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout824 2> log/1/stderr824 istens on port IPv4/33787 05:47:05.812482 logged pid 120285 in log/9/server/imap_server.pid 05:47:05.812516 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:05.261222 Running IPv4 version 05:47:05.261302 Listening on port 33787 05:47:05.261342 Wrote pid 120327 to log/9/server/imap_sockfilt.pid 05:47:05.261372 Wrote port 33787 to log/9/server/imap_server.port 05:47:05.267020 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY AHVzZXIAc2VjcmV0 A002 OK AUTHENTICATE completed Testnum 819 === End of file server.cmd === Start of file valgrind819 ==120919== ==120919== Process terminating with default action of signal 4 (SIGILL) ==120919== Illegal opcode at address 0x4014883 ==120919== at 0x4014883: getparameter (tool_getparam.c:2899) ==120919== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==120919== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==120919== by 0x4004208: main (tool_main.c:189) === End of file valgrind819 test 0826...[IMAP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind826 ../src/curl -q --output log/16/curl826.out --include --trace-ascii log/16/trace826 --trace-time 'imap://127.0.0.1:33933/826/;MAILINDEX=1' -u user:secret > log/16/stdout826 2> log/16/stderr826 826: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 826 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind826 ../src/curl -q --output log/16/curl826.out --include --trace-ascii log/16/trace826 --trace-time 'imap://127.0.0.1:33933/826/;MAILINDEX=1' -u user:secret > log/16/stdout826 2> log/16/stderr826 === End of file commands.log === Start of file imap_server.log 05:47:07.212256 ====> Client connect 05:47:07.212503 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.225790 < "A001 CAPABILITY" 05:47:07.225872 > "A001 BAD Command[CR][LF]" 05:47:07.235714 < "A002 LIST "verifiedserver" *" 05:47:07.235779 LIST_imap got "verifiedserver" * 05:47:07.235824 > "* LIST () "/" "WE ROOLZ: 119781"[CR][LF]" 05:47:07.235848 > "A002 OK LIST Completed[CR][LF]" 05:47:07.235865 return proof we are we 05:47:07.285868 < "A003 LOGOUT" 05:47:07.285938 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.285967 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.287280 MAIN sockfilt said DISC 05:47:07.287315 ====> Client disconnected 05:47:07.287404 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:06.670335 ====> Client connect 05:47:06.680332 Received DATA (on stdin) 05:47:06.680391 > 164 bytes data, server => client 05:47:06.680406 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:06.680421 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:06.680430 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:06.683772 < 17 bytes data, client => server 05:47:06.683803 'A001 CAPABILITY\r\n' 05:47:06.693663 Received DATA (on stdin) 05:47:06.693716 > 18 bytes data, server => client 05:47:06.693728 'A001 BAD Command\r\n' 05:47:06.693849 < 30 bytes data, client => server 05:47:06.693862 'A002 LIST "verifiedserver" *\r\n' 05:47:06.697330 Received DATA (on stdin) 05:47:06.697349 > 34 bytes data, server => client 05:47:06.697360 '* LIST () "/" "WE ROOLZ: 119781"\r\n' 05:47:06.697396 Received DATA (on stdin) 05:47:06.697409 > 24 bytes data, server => client 05:47:06.697420 'A002 OK LIST Completed\r\n' 05:47:06.747113 < 13 bytes data, client => server 05:47:06.747152 'A003 LOGOUT\r\n' 05:47:06.747430 Received DATA (on stdin) 05:47:06.747443 > 36 bytes data, server => client 05:47:06.747454 '* BYE curl IMAP server signing off\r\n' 05:47:06.747479 Received DATA (on stdin) 05:47:06.747491 > 26 bytes data, server => client 05:47:06.747500 'A003 OK LOGOUT completed\r\n' 05:47:06.748674 ====> Client disconnect 05:47:06.748870 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN CAPA SASL-IR REPLY AUTHENTICATE + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 826 === End of file server.cmd === Start of file valgrind826 ==121381== ==121381== Process terminating with default action of signal 4 (SIGILL) ==121381== Illegal opcode at address 0x4014883 ==121381== at 0x4014883: getparameter (tool_getparam.c:2899) ==121381== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121381== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121381== by 0x4004208: main (tool_main.c:189) === End of file valgrind826 test 0824...[IMAP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind824 ../src/curl -q --output log/1/curl824.out --include --trace-ascii log/1/trace824 --trace-time 'imap://127.0.0.1:34849/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout824 2> log/1/stderr824 824: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 824 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind824 ../src/curl -q --output log/1/curl824.out --include --trace-ascii log/1/trace824 --trace-time 'imap://127.0.0.1:34849/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/1/stdout824 2> log/1/stderr824 === End of file commands.log === Start of file imap_server.log 05:47:06.819051 ====> Client connect 05:47:06.819215 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:06.839112 < "A001 CAPABILITY" 05:47:06.839186 > "A001 BAD Command[CR][LF]" 05:47:06.839458 < "A002 LIST "verifiedserver" *" 05:47:06.839489 LIST_imap got "verifiedserver" * 05:47:06.839516 > "* LIST () "/" "WE ROOLZ: 112350"[CR][LF]" 05:47:06.839536 > "A002 OK LIST Completed[CR][LF]" 05:47:06.839551 return proof we are we 05:47:06.885901 < "A003 LOGOUT" 05:47:06.885970 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:06.885995 > "A003 OK LOGOUT completed[CR][LF]" 05:47:06.887396 MAIN sockfilt said DISC 05:47:06.887436 ====> Client disconnected 05:47:06.887535 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:06.280360 ====> Client connect 05:47:06.290333 Received DATA (on stdin) 05:47:06.290396 > 164 bytes data, server => client 05:47:06.290409 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:06.290420 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:06.290430 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:06.290577 < 17 bytes data, client => server 05:47:06.290592 'A001 CAPABILITY\r\n' 05:47:06.300659 Received DATA (on stdin) 05:47:06.300684 > 18 bytes data, server => client 05:47:06.300695 'A001 BAD Command\r\n' 05:47:06.300820 < 30 bytes data, client => server 05:47:06.300833 'A002 LIST "verifiedserver" *\r\n' 05:47:06.301009 Received DATA (on stdin) 05:47:06.301022 > 34 bytes data, server => client 05:47:06.301033 '* LIST () "/" "WE ROOLZ: 112350"\r\n' 05:47:06.301053 Received DATA (on stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind820 ../src/curl -q --output log/15/curl820.out --include --trace-ascii log/15/trace820 --trace-time 'imap://127.0.0.1:33289/820/;MAILINDEX=1' -u user:secret > log/15/stdout820 2> log/15/stderr820 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind828 ../src/curl -q --output log/11/curl828.out --include --trace-ascii log/11/trace828 --trace-time 'imap://127.0.0.1:39961/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout828 2> log/11/stderr828 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind825 ../src/curl -q --output log/21/curl825.out --include --trace-ascii log/21/trace825 --trace-time 'imap://127.0.0.1:38913/825/;MAILINDEX=1' -u user:secret > log/21/stdout825 2> log/21/stderr825 in) 05:47:06.301063 > 24 bytes data, server => client 05:47:06.301074 'A002 OK LIST Completed\r\n' 05:47:06.347147 < 13 bytes data, client => server 05:47:06.347190 'A003 LOGOUT\r\n' 05:47:06.347457 Received DATA (on stdin) 05:47:06.347470 > 36 bytes data, server => client 05:47:06.347481 '* BYE curl IMAP server signing off\r\n' 05:47:06.347506 Received DATA (on stdin) 05:47:06.347517 > 26 bytes data, server => client 05:47:06.347528 'A003 OK LOGOUT completed\r\n' 05:47:06.348798 ====> Client disconnect 05:47:06.349000 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed Testnum 824 === End of file server.cmd === Start of file valgrind824 ==121138== ==121138== Process terminating with default action of signal 4 (SIGILL) ==121138== Illegal opcode at address 0x4014883 ==121138== at 0x4014883: getparameter (tool_getparam.c:2899) ==121138== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121138== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121138== by 0x4004208: main (tool_main.c:189) === End of file valgrind824 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/imap_server.pid" --logfile "log/15/imap_server.log" --logdir "log/15" --portfile "log/15/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33289 (log/15/server/imap_server.port) RUN: IMAP server is PID 120534 port 33289 * pid imap => 120534 120534 test 0820...[IMAP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind820 ../src/curl -q --output log/15/curl820.out --include --trace-ascii log/15/trace820 --trace-time 'imap://127.0.0.1:33289/820/;MAILINDEX=1' -u user:secret > log/15/stdout820 2> log/15/stderr820 820: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 820 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind820 ../src/curl -q --output log/15/curl820.out --include --trace-ascii log/15/trace820 --trace-time 'imap://127.0.0.1:33289/820/;MAILINDEX=1' -u user:secret > log/15/stdout820 2> log/15/stderr820 === End of file commands.log === Start of file imap_server.log 05:47:06.160579 IMAP server listens on port IPv4/33289 05:47:06.160684 logged pid 120534 in log/15/server/imap_server.pid 05:47:06.160714 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:06.621602 Running IPv4 version 05:47:06.621709 Listening on port 33289 05:47:06.621745 Wrote pid 120555 to log/15/server/imap_sockfilt.pid 05:47:06.621771 Wrote port 33289 to log/15/server/imap_server.port 05:47:06.621937 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTHENTICATE + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 820 === End of file server.cmd === Start of file valgrind820 ==121246== ==121246== Process terminating with default action of signal 4 (SIGILL) ==121246== Illegal opcode at address 0x4014883 ==121246== at 0x4014883: getparameter (tool_getparam.c:2899) ==121246== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121246== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121246== by 0x4004208: main (tool_main.c:189) === End of file valgrind820 test 0828...[IMAP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind828 ../src/curl -q --output log/11/curl828.out --include --trace-ascii log/11/trace828 --trace-time 'imap://127.0.0.1:39961/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout828 2> log/11/stderr828 828: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 828 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind828 ../src/curl -q --output log/11/curl828.out --include --trace-ascii log/11/trace828 --trace-time 'imap://127.0.0.1:39961/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/11/stdout828 2> log/11/stderr828 === End of file commands.log === Start of file imap_server.log 05:47:07.578094 ====> Client connect 05:47:07.578263 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.578602 < "A001 CAPABILITY" 05:47:07.578642 > "A001 BAD Command[CR][LF]" 05:47:07.578845 < "A002 LIST "verifiedserver" *" 05:47:07.578894 LIST_imap got "verifiedserver" * 05:47:07.578922 > "* LIST () "/" "WE ROOLZ: 110655"[CR][LF]" 05:47:07.578941 > "A002 OK LIST Completed[CR][LF]" 05:47:07.578955 return proof we are we 05:47:07.639058 < "A003 LOGOUT" 05:47:07.639109 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.639128 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.640375 MAIN sockfilt said DISC 05:47:07.640411 ====> Client disconnected 05:47:07.640492 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.039384 ====> Client connect 05:47:08.039743 Received DATA (on stdin) 05:47:08.039760 > 164 bytes data, server => client 05:47:08.039772 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.039783 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.039793 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.039873 < 17 bytes data, client => server 05:47:08.039890 'A001 CAPABILITY\r\n' 05:47:08.040105 Received DATA (on stdin) 05:47:08.040119 > 18 bytes data, server => client 05:47:08.040131 'A001 BAD Command\r\n' 05:47:08.040195 < 30 bytes data, client => server 05:47:08.040211 'A002 LIST "verifiedserver" *\r\n' 05:47:08.040411 Received DATA (on stdin) 05:47:08.040422 > 34 bytes data, server => client 05:47:08.040432 '* LIST () "/" "WE ROOLZ: 110655"\r\n' 05:47:08.040453 Received DATA (on stdin) 05:47:08.040462 > 24 bytes data, server => client 05:47:08.040472 'A002 OK LIST Completed\r\n' 05:47:08.100334 < 13 bytes data, client => server 05:47:08.100369 'A003 LOGOUT\r\n' 05:47:08.100585 Received DATA (on stdin) 05:47:08.100596 > 36 bytes data, server => client 05:47:08.100606 '* BYE curl IMAP server signing off\r\n' 05:47:08.100637 Received DATA (on stdin) 05:47:08.100646 > 26 bytes data, server => client 05:47:08.100656 'A003 OK LOGOUT completed\r\n' 05:47:08.101778 ====> Client disconnect 05:47:08.101950 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 828 === End of file server.cmd === Start of file valgrind828 ==121537== ==121537== Process terminating with default action of signal 4 (SIGILL) ==121537== Illegal opcode at address 0x4014883 ==121537== at 0x4014883: getparameter (tool_getparam.c:2899) ==121537== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121537== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121537== by 0x4004208: main (tool_main.c:189) === End of file valgrind828 test 0825...[IMAP plain authentication with initial response] ../libtool CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind834 ../src/curl -q --output log/10/curl834.out --include --trace-ascii log/10/trace834 --trace-time 'imap://127.0.0.1:38901/834/;MAILINDEX=1' -u user:secret > log/10/stdout834 2> log/10/stderr834 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind825 ../src/curl -q --output log/21/curl825.out --include --trace-ascii log/21/trace825 --trace-time 'imap://127.0.0.1:38913/825/;MAILINDEX=1' -u user:secret > log/21/stdout825 2> log/21/stderr825 825: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 825 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind825 ../src/curl -q --output log/21/curl825.out --include --trace-ascii log/21/trace825 --trace-time 'imap://127.0.0.1:38913/825/;MAILINDEX=1' -u user:secret > log/21/stdout825 2> log/21/stderr825 === End of file commands.log === Start of file imap_server.log 05:47:07.102356 ====> Client connect 05:47:07.102684 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.103697 < "A001 CAPABILITY" 05:47:07.103751 > "A001 BAD Command[CR][LF]" 05:47:07.103915 < "A002 LIST "verifiedserver" *" 05:47:07.103947 LIST_imap got "verifiedserver" * 05:47:07.103971 > "* LIST () "/" "WE ROOLZ: 119762"[CR][LF]" 05:47:07.103990 > "A002 OK LIST Completed[CR][LF]" 05:47:07.104003 return proof we are we 05:47:07.152437 < "A003 LOGOUT" 05:47:07.152508 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.152532 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.153762 MAIN sockfilt said DISC 05:47:07.153803 ====> Client disconnected 05:47:07.153893 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.563669 ====> Client connect 05:47:07.564170 Received DATA (on stdin) 05:47:07.564188 > 164 bytes data, server => client 05:47:07.564206 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.564217 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.564227 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.564869 < 17 bytes data, client => server 05:47:07.564898 'A001 CAPABILITY\r\n' 05:47:07.565210 Received DATA (on stdin) 05:47:07.565222 > 18 bytes data, server => client 05:47:07.565232 'A001 BAD Command\r\n' 05:47:07.565286 < 30 bytes data, client => server 05:47:07.565459 'A002 LIST "verifiedserver" *\r\n' 05:47:07.565471 Received DATA (on stdin) 05:47:07.565480 > 34 bytes data, server => client 05:47:07.565490 '* LIST () "/" "WE ROOLZ: 119762"\r\n' 05:47:07.565509 Received DATA (on stdin) 05:47:07.565518 > 24 bytes data, server => client 05:47:07.565527 'A002 OK LIST Completed\r\n' 05:47:07.613670 < 13 bytes data, client => server 05:47:07.613709 'A003 LOGOUT\r\n' 05:47:07.613994 Received DATA (on stdin) 05:47:07.614007 > 36 bytes data, server => client 05:47:07.614018 '* BYE curl IMAP server signing off\r\n' 05:47:07.614052 Received DATA (on stdin) 05:47:07.614063 > 26 bytes data, server => client 05:47:07.614073 'A003 OK LOGOUT completed\r\n' 05:47:07.615153 ====> Client disconnect 05:47:07.615361 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 825 === End of file server.cmd === Start of file valgrind825 ==121295== ==121295== Process terminating with default action of signal 4 (SIGILL) ==121295== Illegal opcode at address 0x4014883 ==121295== at 0x4014883: getparameter (tool_getparam.c:2899) ==121295== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121295== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121295== by 0x4004208: main (tool_main.c:189) === End of file valgrind825 test 0834...[IMAP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind834 ../src/curl -q --output log/10/curl834.out --include --trace-ascii log/10/trace834 --trace-time 'imap://127.0.0.1:38901/834/;MAILINDEX=1' -u user:secret > log/10/stdout834 2> log/10/stderr834 834: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 834 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind834 ../src/curl -q --output log/10/curl834.out --include --trace-ascii log/10/trace834 --trace-time 'imap://127.0.0.1:38901/834/;MAILINDEX=1' -u user:secret > log/10/stdout834 2> log/10/stderr834 === End of file commands.log === Start of file imap_server.log 05:47:07.829011 ====> Client connect 05:47:07.829196 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.834913 < "A001 CAPABILITY" 05:47:07.834963 > "A001 BAD Command[CR][LF]" 05:47:07.835118 < "A002 LIST "verifiedserver" *" 05:47:07.835148 LIST_imap got "verifiedserver" * 05:47:07.835170 > "* LIST () "/" "WE ROOLZ: 119787"[CR][LF]" 05:47:07.835187 > "A002 OK LIST Completed[CR][LF]" 05:47:07.835200 return proof we are we 05:47:07.882603 < "A003 LOGOUT" 05:47:07.882681 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.882713 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.884201 MAIN sockfilt said DISC 05:47:07.884238 ====> Client disconnected 05:47:07.884361 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.290333 ====> Client connect 05:47:07.290665 Received DATA (on stdin) 05:47:07.290677 > 164 bytes data, server => client 05:47:07.290688 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.290698 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.290707 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.296153 < 17 bytes data, client => server 05:47:07.296176 'A001 CAPABILITY\r\n' 05:47:07.296422 Received DATA (on stdin) 05:47:07.296432 > 18 bytes data, server => client 05:47:07.296441 'A001 BAD Command\r\n' 05:47:07.296493 < 30 bytes data, client => server 05:47:07.296503 'A002 LIST "verifiedserver" *\r\n' 05:47:07.296653 Received DATA (on stdin) 05:47:07.296663 > 34 bytes data, server => client 05:47:07.296672 '* LIST () "/" "WE ROOLZ: 119787"\r\n' 05:47:07.296690 Received DATA (on stdin) 05:47:07.296698 > 24 bytes data, server => client 05:47:07.296707 'A002 OK LIST Completed\r\n' 05:47:07.343801 < 13 bytes data, client => server 05:47:07.343845 'A003 LOGOUT\r\n' 05:47:07.344178 Received DATA (on stdin) 05:47:07.344194 > 36 bytes data, server => client 05:47:07.344206 '* BYE curl IMAP server signing off\r\n' 05:47:07.344233 Received DATA (on stdin) 05:47:07.344246 > 26 bytes data, server => client 05:47:07.344257 'A003 OK LOGOUT completed\r\n' 05:47:07.345589 ====> Client disconnect 05:47:07.345837 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTHENTICATE NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 834 === End of file server.cmd === Start of file valgrind834 ==121731== ==121731== Process terminating with default action of signal 4 (SIGILL) ==121731== Illegal opcode at address 0x4014883 ==121731== at 0x4014883: getparameter (tool_getparam.c:2899) ==121731== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121731== by CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind827 ../src/curl -q --output log/22/curl827.out --include --trace-ascii log/22/trace827 --trace-time 'imap://127.0.0.1:40755/827/;MAILINDEX=1' -u testuser:testpass > log/22/stdout827 2> log/22/stderr827 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind829 ../src/curl -q --output log/4/curl829.out --include --trace-ascii log/4/trace829 --trace-time imap://127.0.0.1:38711/%0d%0a/829 > log/4/stdout829 2> log/4/stderr829 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind831 ../src/curl -q --output log/13/curl831.out --include --trace-ascii log/13/trace831 --trace-time 'imap://127.0.0.1:36835/831/;MAILINDEX=1' -u testuser:testpass > log/13/stdout831 2> log/13/stderr831 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121731== by 0x4004208: main (tool_main.c:189) === End of file valgrind834 test 0827...[IMAP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind827 ../src/curl -q --output log/22/curl827.out --include --trace-ascii log/22/trace827 --trace-time 'imap://127.0.0.1:40755/827/;MAILINDEX=1' -u testuser:testpass > log/22/stdout827 2> log/22/stderr827 827: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 827 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind827 ../src/curl -q --output log/22/curl827.out --include --trace-ascii log/22/trace827 --trace-time 'imap://127.0.0.1:40755/827/;MAILINDEX=1' -u testuser:testpass > log/22/stdout827 2> log/22/stderr827 === End of file commands.log === Start of file imap_server.log 05:47:07.205964 ====> Client connect 05:47:07.206165 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.206456 < "A001 CAPABILITY" 05:47:07.206492 > "A001 BAD Command[CR][LF]" 05:47:07.206647 < "A002 LIST "verifiedserver" *" 05:47:07.206676 LIST_imap got "verifiedserver" * 05:47:07.206700 > "* LIST () "/" "WE ROOLZ: 119739"[CR][LF]" 05:47:07.206717 > "A002 OK LIST Completed[CR][LF]" 05:47:07.206730 return proof we are we 05:47:07.255891 < "A003 LOGOUT" 05:47:07.255955 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.255973 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.257400 MAIN sockfilt said DISC 05:47:07.257435 ====> Client disconnected 05:47:07.257512 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.667289 ====> Client connect 05:47:07.667636 Received DATA (on stdin) 05:47:07.667648 > 164 bytes data, server => client 05:47:07.667659 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.667669 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.667677 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.667752 < 17 bytes data, client => server 05:47:07.667762 'A001 CAPABILITY\r\n' 05:47:07.667949 Received DATA (on stdin) 05:47:07.667959 > 18 bytes data, server => client 05:47:07.667968 'A001 BAD Command\r\n' 05:47:07.668021 < 30 bytes data, client => server 05:47:07.668030 'A002 LIST "verifiedserver" *\r\n' 05:47:07.668184 Received DATA (on stdin) 05:47:07.668194 > 34 bytes data, server => client 05:47:07.668203 '* LIST () "/" "WE ROOLZ: 119739"\r\n' 05:47:07.668220 Received DATA (on stdin) 05:47:07.668229 > 24 bytes data, server => client 05:47:07.668238 'A002 OK LIST Completed\r\n' 05:47:07.717145 < 13 bytes data, client => server 05:47:07.717175 'A003 LOGOUT\r\n' 05:47:07.717668 Received DATA (on stdin) 05:47:07.717683 > 36 bytes data, server => client 05:47:07.717692 '* BYE curl IMAP server signing off\r\n' 05:47:07.717714 Received DATA (on stdin) 05:47:07.717723 > 26 bytes data, server => client 05:47:07.717731 'A003 OK LOGOUT completed\r\n' 05:47:07.718797 ====> Client disconnect 05:47:07.718969 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA SASL-IR REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 827 === End of file server.cmd === Start of file valgrind827 ==121368== ==121368== Process terminating with default action of signal 4 (SIGILL) ==121368== Illegal opcode at address 0x4014883 ==121368== at 0x4014883: getparameter (tool_getparam.c:2899) ==121368== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121368== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121368== by 0x4004208: main (tool_main.c:189) === End of file valgrind827 test 0829...[IMAP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind829 ../src/curl -q --output log/4/curl829.out --include --trace-ascii log/4/trace829 --trace-time imap://127.0.0.1:38711/%0d%0a/829 > log/4/stdout829 2> log/4/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/4/ directory after test 829 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind829 ../src/curl -q --output log/4/curl829.out --include --trace-ascii log/4/trace829 --trace-time imap://127.0.0.1:38711/%0d%0a/829 > log/4/stdout829 2> log/4/stderr829 === End of file commands.log === Start of file imap_server.log 05:47:07.637654 ====> Client connect 05:47:07.637856 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.638132 < "A001 CAPABILITY" 05:47:07.638167 > "A001 BAD Command[CR][LF]" 05:47:07.638316 < "A002 LIST "verifiedserver" *" 05:47:07.638345 LIST_imap got "verifiedserver" * 05:47:07.638368 > "* LIST () "/" "WE ROOLZ: 119829"[CR][LF]" 05:47:07.638389 > "A002 OK LIST Completed[CR][LF]" 05:47:07.638402 return proof we are we 05:47:07.686358 < "A003 LOGOUT" 05:47:07.686424 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.686453 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.688929 MAIN sockfilt said DISC 05:47:07.688966 ====> Client disconnected 05:47:07.689059 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.098982 ====> Client connect 05:47:07.099324 Received DATA (on stdin) 05:47:07.099336 > 164 bytes data, server => client 05:47:07.099346 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.099355 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.099364 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.099434 < 17 bytes data, client => server 05:47:07.099444 'A001 CAPABILITY\r\n' 05:47:07.099622 Received DATA (on stdin) 05:47:07.099633 > 18 bytes data, server => client 05:47:07.099641 'A001 BAD Command\r\n' 05:47:07.099684 < 30 bytes data, client => server 05:47:07.099693 'A002 LIST "verifiedserver" *\r\n' 05:47:07.099855 Received DATA (on stdin) 05:47:07.099865 > 34 bytes data, server => client 05:47:07.099874 '* LIST () "/" "WE ROOLZ: 119829"\r\n' 05:47:07.099892 Received DATA (on stdin) 05:47:07.099900 > 24 bytes data, server => client 05:47:07.099909 'A002 OK LIST Completed\r\n' 05:47:07.147612 < 13 bytes data, client => server 05:47:07.147650 'A003 LOGOUT\r\n' 05:47:07.147917 Received DATA (on stdin) 05:47:07.147935 > 36 bytes data, server => client 05:47:07.147947 '* BYE curl IMAP server signing off\r\n' 05:47:07.147979 Received DATA (on stdin) 05:47:07.147991 > 26 bytes data, server => client 05:47:07.148001 'A003 OK LOGOUT completed\r\n' 05:47:07.150318 ====> Client disconnect 05:47:07.150529 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 829 === End of file server.cmd === Start of file valgrind829 ==121574== ==121574== Process terminating with default aCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind838 ../src/curl -q --output log/24/curl838.out --include --trace-ascii log/24/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:43587/838/;MAILINDEX=1' > log/24/stdout838 2> log/24/stderr838 ction of signal 4 (SIGILL) ==121574== Illegal opcode at address 0x4014883 ==121574== at 0x4014883: getparameter (tool_getparam.c:2899) ==121574== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121574== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121574== by 0x4004208: main (tool_main.c:189) === End of file valgrind829 test 0831...[IMAP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind831 ../src/curl -q --output log/13/curl831.out --include --trace-ascii log/13/trace831 --trace-time 'imap://127.0.0.1:36835/831/;MAILINDEX=1' -u testuser:testpass > log/13/stdout831 2> log/13/stderr831 831: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 831 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind831 ../src/curl -q --output log/13/curl831.out --include --trace-ascii log/13/trace831 --trace-time 'imap://127.0.0.1:36835/831/;MAILINDEX=1' -u testuser:testpass > log/13/stdout831 2> log/13/stderr831 === End of file commands.log === Start of file imap_server.log 05:47:07.762374 ====> Client connect 05:47:07.762534 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.762882 < "A001 CAPABILITY" 05:47:07.762918 > "A001 BAD Command[CR][LF]" 05:47:07.763073 < "A002 LIST "verifiedserver" *" 05:47:07.763101 LIST_imap got "verifiedserver" * 05:47:07.763124 > "* LIST () "/" "WE ROOLZ: 111099"[CR][LF]" 05:47:07.763142 > "A002 OK LIST Completed[CR][LF]" 05:47:07.763156 return proof we are we 05:47:07.812578 < "A003 LOGOUT" 05:47:07.812636 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.812656 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.814137 MAIN sockfilt said DISC 05:47:07.814171 ====> Client disconnected 05:47:07.814257 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.223681 ====> Client connect 05:47:08.224004 Received DATA (on stdin) 05:47:08.224017 > 164 bytes data, server => client 05:47:08.224029 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.224039 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.224048 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.224177 < 17 bytes data, client => server 05:47:08.224190 'A001 CAPABILITY\r\n' 05:47:08.224375 Received DATA (on stdin) 05:47:08.224385 > 18 bytes data, server => client 05:47:08.224395 'A001 BAD Command\r\n' 05:47:08.224448 < 30 bytes data, client => server 05:47:08.224458 'A002 LIST "verifiedserver" *\r\n' 05:47:08.224610 Received DATA (on stdin) 05:47:08.224621 > 34 bytes data, server => client 05:47:08.224631 '* LIST () "/" "WE ROOLZ: 111099"\r\n' 05:47:08.224650 Received DATA (on stdin) 05:47:08.224659 > 24 bytes data, server => client 05:47:08.224669 'A002 OK LIST Completed\r\n' 05:47:08.273827 < 13 bytes data, client => server 05:47:08.273868 'A003 LOGOUT\r\n' 05:47:08.274112 Received DATA (on stdin) 05:47:08.274123 > 36 bytes data, server => client 05:47:08.274134 '* BYE curl IMAP server signing off\r\n' 05:47:08.274156 Received DATA (on stdin) 05:47:08.274169 > 26 bytes data, server => client 05:47:08.274180 'A003 OK LOGOUT completed\r\n' 05:47:08.275540 ====> Client disconnect 05:47:08.275713 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA LOGINDISABLED REPLY AUTHENTICATE + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 831 === End of file server.cmd === Start of file valgrind831 ==121686== ==121686== Process terminating with default action of signal 4 (SIGILL) ==121686== Illegal opcode at address 0x4014883 ==121686== at 0x4014883: getparameter (tool_getparam.c:2899) ==121686== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121686== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121686== by 0x4004208: main (tool_main.c:189) === End of file valgrind831 test 0838...[IMAP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind838 ../src/curl -q --output log/24/curl838.out --include --trace-ascii log/24/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:43587/838/;MAILINDEX=1' > log/24/stdout838 2> log/24/stderr838 838: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 838 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind838 ../src/curl -q --output log/24/curl838.out --include --trace-ascii log/24/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:43587/838/;MAILINDEX=1' > log/24/stdout838 2> log/24/stderr838 === End of file commands.log === Start of file imap_server.log 05:47:08.212874 ====> Client connect 05:47:08.213083 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.213447 < "A001 CAPABILITY" 05:47:08.213502 > "A001 BAD Command[CR][LF]" 05:47:08.213702 < "A002 LIST "verifiedserver" *" 05:47:08.213742 LIST_imap got "verifiedserver" * 05:47:08.213774 > "* LIST () "/" "WE ROOLZ: 120033"[CR][LF]" 05:47:08.213795 > "A002 OK LIST Completed[CR][LF]" 05:47:08.213810 return proof we are we 05:47:08.263815 < "A003 LOGOUT" 05:47:08.263906 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.263942 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.275579 MAIN sockfilt said DISC 05:47:08.275675 ====> Client disconnected 05:47:08.275806 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.674194 ====> Client connect 05:47:08.674570 Received DATA (on stdin) 05:47:08.674588 > 164 bytes data, server => client 05:47:08.674600 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.674610 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.674620 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.674707 < 17 bytes data, client => server 05:47:08.674724 'A001 CAPABILITY\r\n' 05:47:08.674968 Received DATA (on stdin) 05:47:08.674981 > 18 bytes data, server => client 05:47:08.674991 'A001 BAD Command\r\n' 05:47:08.675050 < 30 bytes data, client => server 05:47:08.675065 'A002 LIST "verifiedserver" *\r\n' 05:47:08.675268 Received DATA (on stdin) 05:47:08.675279 > 34 bytes data, server => client 05:47:08.675288 '* LIST () "/" "WE ROOLZ: 120033"\r\n' 05:47:08.675308 Received DATA (on stdin) 05:47:08.675317 > 24 bytes data, server => client 05:47:08.675326 'A002 OK LIST Completed\r\n' 05:47:08.725056 < 13 bytes data, client => server 05:47:08.725090 'A003 LOGOUT\r\n' 05:47:08.725408 Received DATA (on stdin) 05:47:08.725424 > 36 bytes data, server => client 05:47:08.725436 '* BYE curl IMAP server signing off\r\n' 05:47:08.725465 Received DATA (on stdin) 05:47:08.725476 > 26 bytes data, server => client 05:47:08.725486 'A003 OK LOGOUT completed\r\n' 05:47:08.733682 ====> Client disconnect 05:47:08.737283 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY = A002 OK AUTHENTICATE completed TeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind833 ../src/curl -q --output log/2/curl833.out --include --trace-ascii log/2/trace833 --trace-time 'imap://127.0.0.1:33343/833/;MAILINDEX=1' -u user:secret > log/2/stdout833 2> log/2/stderr833 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind830 ../src/curl -q --output log/14/curl830.out --include --trace-ascii log/14/trace830 --trace-time 'imap://127.0.0.1:46615/830/;MAILINDEX=1' -u user:secret > log/14/stdout830 2> log/14/stderr830 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind840 ../src/curl -q --output log/8/curl840.out --include --trace-ascii log/8/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:45531/840/;MAILINDEX=1' > log/8/stdout840 2> log/8/stderr840 stnum 838 === End of file server.cmd === Start of file valgrind838 ==121967== ==121967== Process terminating with default action of signal 4 (SIGILL) ==121967== Illegal opcode at address 0x4014883 ==121967== at 0x4014883: getparameter (tool_getparam.c:2899) ==121967== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121967== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121967== by 0x4004208: main (tool_main.c:189) === End of file valgrind838 test 0833...[IMAP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind833 ../src/curl -q --output log/2/curl833.out --include --trace-ascii log/2/trace833 --trace-time 'imap://127.0.0.1:33343/833/;MAILINDEX=1' -u user:secret > log/2/stdout833 2> log/2/stderr833 833: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 833 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind833 ../src/curl -q --output log/2/curl833.out --include --trace-ascii log/2/trace833 --trace-time 'imap://127.0.0.1:33343/833/;MAILINDEX=1' -u user:secret > log/2/stdout833 2> log/2/stderr833 === End of file commands.log === Start of file imap_server.log 05:47:07.738334 ====> Client connect 05:47:07.738581 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.739005 < "A001 CAPABILITY" 05:47:07.739056 > "A001 BAD Command[CR][LF]" 05:47:07.739259 < "A002 LIST "verifiedserver" *" 05:47:07.739296 LIST_imap got "verifiedserver" * 05:47:07.739327 > "* LIST () "/" "WE ROOLZ: 119784"[CR][LF]" 05:47:07.739349 > "A002 OK LIST Completed[CR][LF]" 05:47:07.739365 return proof we are we 05:47:07.789214 < "A003 LOGOUT" 05:47:07.789284 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:07.789307 > "A003 OK LOGOUT completed[CR][LF]" 05:47:07.790439 MAIN sockfilt said DISC 05:47:07.790471 ====> Client disconnected 05:47:07.790554 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.199198 ====> Client connect 05:47:07.200064 Received DATA (on stdin) 05:47:07.200091 > 164 bytes data, server => client 05:47:07.200104 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.200115 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.200126 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.200253 < 17 bytes data, client => server 05:47:07.200270 'A001 CAPABILITY\r\n' 05:47:07.200521 Received DATA (on stdin) 05:47:07.200534 > 18 bytes data, server => client 05:47:07.200544 'A001 BAD Command\r\n' 05:47:07.200608 < 30 bytes data, client => server 05:47:07.200623 'A002 LIST "verifiedserver" *\r\n' 05:47:07.200823 Received DATA (on stdin) 05:47:07.200837 > 34 bytes data, server => client 05:47:07.200848 '* LIST () "/" "WE ROOLZ: 119784"\r\n' 05:47:07.200870 Received DATA (on stdin) 05:47:07.200881 > 24 bytes data, server => client 05:47:07.200891 'A002 OK LIST Completed\r\n' 05:47:07.250456 < 13 bytes data, client => server 05:47:07.250494 'A003 LOGOUT\r\n' 05:47:07.250768 Received DATA (on stdin) 05:47:07.250781 > 36 bytes data, server => client 05:47:07.250792 '* BYE curl IMAP server signing off\r\n' 05:47:07.250816 Received DATA (on stdin) 05:47:07.250826 > 26 bytes data, server => client 05:47:07.250837 'A003 OK LOGOUT completed\r\n' 05:47:07.251837 ====> Client disconnect 05:47:07.252010 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTHENTICATE CRAM-MD5" + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 833 === End of file server.cmd === Start of file valgrind833 ==121657== ==121657== Process terminating with default action of signal 4 (SIGILL) ==121657== Illegal opcode at address 0x4014883 ==121657== at 0x4014883: getparameter (tool_getparam.c:2899) ==121657== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121657== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121657== by 0x4004208: main (tool_main.c:189) === End of file valgrind833 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/imap_server.pid" --logfile "log/14/imap_server.log" --logdir "log/14" --portfile "log/14/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46615 (log/14/server/imap_server.port) RUN: IMAP server is PID 121520 port 46615 * pid imap => 121520 121520 test 0830...[IMAP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind830 ../src/curl -q --output log/14/curl830.out --include --trace-ascii log/14/trace830 --trace-time 'imap://127.0.0.1:46615/830/;MAILINDEX=1' -u user:secret > log/14/stdout830 2> log/14/stderr830 830: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 830 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind830 ../src/curl -q --output log/14/curl830.out --include --trace-ascii log/14/trace830 --trace-time 'imap://127.0.0.1:46615/830/;MAILINDEX=1' -u user:secret > log/14/stdout830 2> log/14/stderr830 === End of file commands.log === Start of file imap_server.log 05:47:07.652528 IMAP server listens on port IPv4/46615 05:47:07.652674 logged pid 121520 in log/14/server/imap_server.pid 05:47:07.652714 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.111183 Running IPv4 version 05:47:07.111303 Listening on port 46615 05:47:07.111348 Wrote pid 121532 to log/14/server/imap_sockfilt.pid 05:47:07.111393 Wrote port 46615 to log/14/server/imap_server.port 05:47:07.113844 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 CAPA LOGINDISABLED REPLY AUTHENTICATE + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 830 === End of file server.cmd === Start of file valgrind830 ==122164== ==122164== Process terminating with default action of signal 4 (SIGILL) ==122164== Illegal opcode at address 0x4014883 ==122164== at 0x4014883: getparameter (tool_getparam.c:2899) ==122164== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122164== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122164== by 0x4004208: main (tool_main.c:189) === End of file valgrind830 test 0840...[IMAP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind840 ../src/curl -q --output log/8/curl840.out --include --trace-ascii log/8/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:45531/840/;MAILINDEX=1' > log/8/stdout840 2> log/8/stderr840 840: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 840 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressioCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind841 ../src/curl -q --output log/6/curl841.out --include --trace-ascii log/6/trace841 --trace-time imap://127.0.0.1:46859/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/6/stdout841 2> log/6/stderr841 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind839 ../src/curl -q --output log/5/curl839.out --include --trace-ascii log/5/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:36067/839/;MAILINDEX=1' > log/5/stdout839 2> log/5/stderr839 ns=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind840 ../src/curl -q --output log/8/curl840.out --include --trace-ascii log/8/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:45531/840/;MAILINDEX=1' > log/8/stdout840 2> log/8/stderr840 === End of file commands.log === Start of file imap_server.log 05:47:08.235721 ====> Client connect 05:47:08.235902 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.236193 < "A001 CAPABILITY" 05:47:08.236229 > "A001 BAD Command[CR][LF]" 05:47:08.236393 < "A002 LIST "verifiedserver" *" 05:47:08.236423 LIST_imap got "verifiedserver" * 05:47:08.236448 > "* LIST () "/" "WE ROOLZ: 119868"[CR][LF]" 05:47:08.236465 > "A002 OK LIST Completed[CR][LF]" 05:47:08.236478 return proof we are we 05:47:08.285985 < "A003 LOGOUT" 05:47:08.286075 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.286104 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.288622 MAIN sockfilt said DISC 05:47:08.288666 ====> Client disconnected 05:47:08.288769 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.697012 ====> Client connect 05:47:07.697369 Received DATA (on stdin) 05:47:07.697382 > 164 bytes data, server => client 05:47:07.697393 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.697403 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.697412 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.697490 < 17 bytes data, client => server 05:47:07.697500 'A001 CAPABILITY\r\n' 05:47:07.697687 Received DATA (on stdin) 05:47:07.697697 > 18 bytes data, server => client 05:47:07.697707 'A001 BAD Command\r\n' 05:47:07.697764 < 30 bytes data, client => server 05:47:07.697775 'A002 LIST "verifiedserver" *\r\n' 05:47:07.697933 Received DATA (on stdin) 05:47:07.697944 > 34 bytes data, server => client 05:47:07.697955 '* LIST () "/" "WE ROOLZ: 119868"\r\n' 05:47:07.697978 Received DATA (on stdin) 05:47:07.697988 > 24 bytes data, server => client 05:47:07.697998 'A002 OK LIST Completed\r\n' 05:47:07.747182 < 13 bytes data, client => server 05:47:07.747237 'A003 LOGOUT\r\n' 05:47:07.747569 Received DATA (on stdin) 05:47:07.747584 > 36 bytes data, server => client 05:47:07.747594 '* BYE curl IMAP server signing off\r\n' 05:47:07.747620 Received DATA (on stdin) 05:47:07.747631 > 26 bytes data, server => client 05:47:07.747641 'A003 OK LOGOUT completed\r\n' 05:47:07.748908 ====> Client disconnect 05:47:07.759243 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 840 === End of file server.cmd === Start of file valgrind840 ==121975== ==121975== Process terminating with default action of signal 4 (SIGILL) ==121975== Illegal opcode at address 0x4014883 ==121975== at 0x4014883: getparameter (tool_getparam.c:2899) ==121975== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121975== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121975== by 0x4004208: main (tool_main.c:189) === End of file valgrind840 test 0841...[IMAP custom request does not check continuation data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind841 ../src/curl -q --output log/6/curl841.out --include --trace-ascii log/6/trace841 --trace-time imap://127.0.0.1:46859/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/6/stdout841 2> log/6/stderr841 841: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 841 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind841 ../src/curl -q --output log/6/curl841.out --include --trace-ascii log/6/trace841 --trace-time imap://127.0.0.1:46859/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/6/stdout841 2> log/6/stderr841 === End of file commands.log === Start of file imap_server.log 05:47:08.365598 ====> Client connect 05:47:08.365833 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.375809 < "A001 CAPABILITY" 05:47:08.375894 > "A001 BAD Command[CR][LF]" 05:47:08.376178 < "A002 LIST "verifiedserver" *" 05:47:08.376215 LIST_imap got "verifiedserver" * 05:47:08.376244 > "* LIST () "/" "WE ROOLZ: 119999"[CR][LF]" 05:47:08.376264 > "A002 OK LIST Completed[CR][LF]" 05:47:08.376279 return proof we are we 05:47:08.419931 < "A003 LOGOUT" 05:47:08.420001 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.420028 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.422262 MAIN sockfilt said DISC 05:47:08.422308 ====> Client disconnected 05:47:08.422426 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.826223 ====> Client connect 05:47:08.830335 Received DATA (on stdin) 05:47:08.830381 > 164 bytes data, server => client 05:47:08.830393 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.830403 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.830412 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.834164 < 17 bytes data, client => server 05:47:08.834204 'A001 CAPABILITY\r\n' 05:47:08.837366 Received DATA (on stdin) 05:47:08.837388 > 18 bytes data, server => client 05:47:08.837400 'A001 BAD Command\r\n' 05:47:08.837526 < 30 bytes data, client => server 05:47:08.837542 'A002 LIST "verifiedserver" *\r\n' 05:47:08.837736 Received DATA (on stdin) 05:47:08.837748 > 34 bytes data, server => client 05:47:08.837759 '* LIST () "/" "WE ROOLZ: 119999"\r\n' 05:47:08.837782 Received DATA (on stdin) 05:47:08.837792 > 24 bytes data, server => client 05:47:08.837802 'A002 OK LIST Completed\r\n' 05:47:08.881169 < 13 bytes data, client => server 05:47:08.881207 'A003 LOGOUT\r\n' 05:47:08.881491 Received DATA (on stdin) 05:47:08.881506 > 36 bytes data, server => client 05:47:08.881517 '* BYE curl IMAP server signing off\r\n' 05:47:08.881541 Received DATA (on stdin) 05:47:08.881551 > 26 bytes data, server => client 05:47:08.881562 'A003 OK LOGOUT completed\r\n' 05:47:08.883647 ====> Client disconnect 05:47:08.883900 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 841 === End of file server.cmd === Start of file valgrind841 ==122097== ==122097== Process terminating with default action of signal 4 (SIGILL) ==122097== Illegal opcode at address 0x4014883 ==122097== at 0x4014883: getparameter (tool_getparam.c:2899) ==122097== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122097== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122097== by 0x4004208: main (tool_main.c:189) === End of file valgrind841 test 0839...[IMAP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind839 ../src/curl -q --output log/5/curl839.out --include --trace-ascii log/5/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:36067/839/;MAILINDEX=1' > log/5/stdout839 2> log/5/stderr839 839: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 839 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind837 ../src/curl -q --output log/18/curl837.out --include --trace-ascii log/18/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:44071/837/;MAILINDEX=1' > log/18/stdout837 2> log/18/stderr837 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind844 ../src/curl -q --output log/20/curl844.out --include --trace-ascii log/20/trace844 --trace-time 'imap://127.0.0.1:45645/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/20/stdout844 2> log/20/stderr844 valgrind.supp --num-callers=16 --log-file=log/5/valgrind839 ../src/curl -q --output log/5/curl839.out --include --trace-ascii log/5/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:36067/839/;MAILINDEX=1' > log/5/stdout839 2> log/5/stderr839 === End of file commands.log === Start of file imap_server.log 05:47:08.185700 ====> Client connect 05:47:08.185924 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.186965 < "A001 CAPABILITY" 05:47:08.187013 > "A001 BAD Command[CR][LF]" 05:47:08.187219 < "A002 LIST "verifiedserver" *" 05:47:08.187257 LIST_imap got "verifiedserver" * 05:47:08.187289 > "* LIST () "/" "WE ROOLZ: 120019"[CR][LF]" 05:47:08.187313 > "A002 OK LIST Completed[CR][LF]" 05:47:08.187329 return proof we are we 05:47:08.242465 < "A003 LOGOUT" 05:47:08.242540 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.242572 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.246705 MAIN sockfilt said DISC 05:47:08.246752 ====> Client disconnected 05:47:08.246858 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.647002 ====> Client connect 05:47:08.647406 Received DATA (on stdin) 05:47:08.647425 > 164 bytes data, server => client 05:47:08.647438 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.647449 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.647459 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.648233 < 17 bytes data, client => server 05:47:08.648251 'A001 CAPABILITY\r\n' 05:47:08.648480 Received DATA (on stdin) 05:47:08.648494 > 18 bytes data, server => client 05:47:08.648504 'A001 BAD Command\r\n' 05:47:08.648568 < 30 bytes data, client => server 05:47:08.648584 'A002 LIST "verifiedserver" *\r\n' 05:47:08.648786 Received DATA (on stdin) 05:47:08.648799 > 34 bytes data, server => client 05:47:08.648809 '* LIST () "/" "WE ROOLZ: 120019"\r\n' 05:47:08.648831 Received DATA (on stdin) 05:47:08.648842 > 24 bytes data, server => client 05:47:08.648853 'A002 OK LIST Completed\r\n' 05:47:08.703703 < 13 bytes data, client => server 05:47:08.703747 'A003 LOGOUT\r\n' 05:47:08.704033 Received DATA (on stdin) 05:47:08.704047 > 36 bytes data, server => client 05:47:08.704058 '* BYE curl IMAP server signing off\r\n' 05:47:08.704102 Received DATA (on stdin) 05:47:08.704115 > 26 bytes data, server => client 05:47:08.704125 'A003 OK LOGOUT completed\r\n' 05:47:08.708082 ====> Client disconnect 05:47:08.708318 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 839 === End of file server.cmd === Start of file valgrind839 ==121943== ==121943== Process terminating with default action of signal 4 (SIGILL) ==121943== Illegal opcode at address 0x4014883 ==121943== at 0x4014883: getparameter (tool_getparam.c:2899) ==121943== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121943== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121943== by 0x4004208: main (tool_main.c:189) === End of file valgrind839 test 0837...[IMAP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind837 ../src/curl -q --output log/18/curl837.out --include --trace-ascii log/18/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:44071/837/;MAILINDEX=1' > log/18/stdout837 2> log/18/stderr837 837: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 837 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind837 ../src/curl -q --output log/18/curl837.out --include --trace-ascii log/18/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:44071/837/;MAILINDEX=1' > log/18/stdout837 2> log/18/stderr837 === End of file commands.log === Start of file imap_server.log 05:47:07.988909 ====> Client connect 05:47:07.989128 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:07.992568 < "A001 CAPABILITY" 05:47:07.992627 > "A001 BAD Command[CR][LF]" 05:47:07.992838 < "A002 LIST "verifiedserver" *" 05:47:07.992875 LIST_imap got "verifiedserver" * 05:47:07.992905 > "* LIST () "/" "WE ROOLZ: 119831"[CR][LF]" 05:47:07.992923 > "A002 OK LIST Completed[CR][LF]" 05:47:07.992938 return proof we are we 05:47:08.041888 < "A003 LOGOUT" 05:47:08.041962 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.041992 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.043547 MAIN sockfilt said DISC 05:47:08.043588 ====> Client disconnected 05:47:08.043719 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:07.447021 ====> Client connect 05:47:07.450603 Received DATA (on stdin) 05:47:07.450623 > 164 bytes data, server => client 05:47:07.450635 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:07.450646 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:07.450656 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:07.453790 < 17 bytes data, client => server 05:47:07.453816 'A001 CAPABILITY\r\n' 05:47:07.454090 Received DATA (on stdin) 05:47:07.454103 > 18 bytes data, server => client 05:47:07.454114 'A001 BAD Command\r\n' 05:47:07.454185 < 30 bytes data, client => server 05:47:07.454196 'A002 LIST "verifiedserver" *\r\n' 05:47:07.454395 Received DATA (on stdin) 05:47:07.454406 > 34 bytes data, server => client 05:47:07.454417 '* LIST () "/" "WE ROOLZ: 119831"\r\n' 05:47:07.454437 Received DATA (on stdin) 05:47:07.454447 > 24 bytes data, server => client 05:47:07.454456 'A002 OK LIST Completed\r\n' 05:47:07.503125 < 13 bytes data, client => server 05:47:07.503158 'A003 LOGOUT\r\n' 05:47:07.503457 Received DATA (on stdin) 05:47:07.503472 > 36 bytes data, server => client 05:47:07.503484 '* BYE curl IMAP server signing off\r\n' 05:47:07.503509 Received DATA (on stdin) 05:47:07.503520 > 26 bytes data, server => client 05:47:07.503531 'A003 OK LOGOUT completed\r\n' 05:47:07.504936 ====> Client disconnect 05:47:07.505192 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY dXNlcg== A002 OK AUTHENTICATE completed Testnum 837 === End of file server.cmd === Start of file valgrind837 ==121849== ==121849== Process terminating with default action of signal 4 (SIGILL) ==121849== Illegal opcode at address 0x4014883 ==121849== at 0x4014883: getparameter (tool_getparam.c:2899) ==121849== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==121849== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==121849== by 0x4004208: main (tool_main.c:189) === End of file valgrind837 test 0844...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind844 ../src/curl -q --output log/20/curl844.out --include --trace-ascii log/20/trace844 --trace-time 'imap://127.0.0.1:45645/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/20/stdout844 2> log/20/stderr844 844: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 844 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind842 ../src/curl -q --output log/3/curl842.out --include --trace-ascii log/3/trace842 --trace-time 'imap://127.0.0.1:35335/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout842 2> log/3/stderr842 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind846 ../src/curl -q --output log/7/curl846.out --include --trace-ascii log/7/trace846 --trace-time 'imap://127.0.0.1:43315/846/;MAILINDEX=1' -u notused:still-provided > log/7/stdout846 2> log/7/stderr846 ck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind844 ../src/curl -q --output log/20/curl844.out --include --trace-ascii log/20/trace844 --trace-time 'imap://127.0.0.1:45645/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/20/stdout844 2> log/20/stderr844 === End of file commands.log === Start of file imap_server.log 05:47:08.978919 ====> Client connect 05:47:08.979208 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.985804 < "A001 CAPABILITY" 05:47:08.985864 > "A001 BAD Command[CR][LF]" 05:47:08.986086 < "A002 LIST "verifiedserver" *" 05:47:08.986118 LIST_imap got "verifiedserver" * 05:47:08.986143 > "* LIST () "/" "WE ROOLZ: 120280"[CR][LF]" 05:47:08.986162 > "A002 OK LIST Completed[CR][LF]" 05:47:08.986176 return proof we are we 05:47:09.035790 < "A003 LOGOUT" 05:47:09.035867 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:09.035897 > "A003 OK LOGOUT completed[CR][LF]" 05:47:09.038964 MAIN sockfilt said DISC 05:47:09.039011 ====> Client disconnected 05:47:09.039142 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.430352 ====> Client connect 05:47:08.440697 Received DATA (on stdin) 05:47:08.440725 > 164 bytes data, server => client 05:47:08.440738 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.440749 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.440759 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.447002 < 17 bytes data, client => server 05:47:08.447038 'A001 CAPABILITY\r\n' 05:47:08.447325 Received DATA (on stdin) 05:47:08.447337 > 18 bytes data, server => client 05:47:08.447347 'A001 BAD Command\r\n' 05:47:08.447450 < 30 bytes data, client => server 05:47:08.447461 'A002 LIST "verifiedserver" *\r\n' 05:47:08.447630 Received DATA (on stdin) 05:47:08.447641 > 34 bytes data, server => client 05:47:08.447651 '* LIST () "/" "WE ROOLZ: 120280"\r\n' 05:47:08.447669 Received DATA (on stdin) 05:47:08.447678 > 24 bytes data, server => client 05:47:08.447688 'A002 OK LIST Completed\r\n' 05:47:08.497009 < 13 bytes data, client => server 05:47:08.497058 'A003 LOGOUT\r\n' 05:47:08.497360 Received DATA (on stdin) 05:47:08.497374 > 36 bytes data, server => client 05:47:08.497385 '* BYE curl IMAP server signing off\r\n' 05:47:08.497424 Received DATA (on stdin) 05:47:08.497439 > 26 bytes data, server => client 05:47:08.497449 'A003 OK LOGOUT completed\r\n' 05:47:08.500335 ====> Client disconnect 05:47:08.500619 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDU2NDUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==122402== ==122402== Process terminating with default action of signal 4 (SIGILL) ==122402== Illegal opcode at address 0x4014883 ==122402== at 0x4014883: getparameter (tool_getparam.c:2899) ==122402== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122402== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122402== by 0x4004208: main (tool_main.c:189) === End of file valgrind844 test 0842...[IMAP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind842 ../src/curl -q --output log/3/curl842.out --include --trace-ascii log/3/trace842 --trace-time 'imap://127.0.0.1:35335/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout842 2> log/3/stderr842 842: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 842 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind842 ../src/curl -q --output log/3/curl842.out --include --trace-ascii log/3/trace842 --trace-time 'imap://127.0.0.1:35335/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout842 2> log/3/stderr842 === End of file commands.log === Start of file imap_server.log 05:47:08.752390 ====> Client connect 05:47:08.752617 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.765783 < "A001 CAPABILITY" 05:47:08.765853 > "A001 BAD Command[CR][LF]" 05:47:08.772561 < "A002 LIST "verifiedserver" *" 05:47:08.772615 LIST_imap got "verifiedserver" * 05:47:08.772654 > "* LIST () "/" "WE ROOLZ: 120047"[CR][LF]" 05:47:08.772675 > "A002 OK LIST Completed[CR][LF]" 05:47:08.772689 return proof we are we 05:47:08.822032 < "A003 LOGOUT" 05:47:08.822098 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.822121 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.830208 MAIN sockfilt said DISC 05:47:08.830284 ====> Client disconnected 05:47:08.830414 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:09.213677 ====> Client connect 05:47:09.214098 Received DATA (on stdin) 05:47:09.214115 > 164 bytes data, server => client 05:47:09.214128 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:09.214143 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:09.214154 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:09.223672 < 17 bytes data, client => server 05:47:09.223724 'A001 CAPABILITY\r\n' 05:47:09.227323 Received DATA (on stdin) 05:47:09.227343 > 18 bytes data, server => client 05:47:09.227353 'A001 BAD Command\r\n' 05:47:09.233672 < 30 bytes data, client => server 05:47:09.233701 'A002 LIST "verifiedserver" *\r\n' 05:47:09.234156 Received DATA (on stdin) 05:47:09.234173 > 34 bytes data, server => client 05:47:09.234185 '* LIST () "/" "WE ROOLZ: 120047"\r\n' 05:47:09.234221 Received DATA (on stdin) 05:47:09.234231 > 24 bytes data, server => client 05:47:09.234241 'A002 OK LIST Completed\r\n' 05:47:09.283282 < 13 bytes data, client => server 05:47:09.283316 'A003 LOGOUT\r\n' 05:47:09.283581 Received DATA (on stdin) 05:47:09.283593 > 36 bytes data, server => client 05:47:09.283604 '* BYE curl IMAP server signing off\r\n' 05:47:09.283627 Received DATA (on stdin) 05:47:09.283646 > 26 bytes data, server => client 05:47:09.283656 'A003 OK LOGOUT completed\r\n' 05:47:09.291559 ====> Client disconnect 05:47:09.291889 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzUzMzUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==122268== ==122268== Process terminating with default action of signal 4 (SIGILL) ==122268== Illegal opcode at address 0x4014883 ==122268== at 0x4014883: getparameter (tool_getparam.c:2899) ==122268== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122268== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122268== by 0x4004208: main (tool_main.c:189) === End of file valgrind842 test 0846...[IMAP PREAUTH response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind846 ../src/curl -q --output log/7/curl846.out --include --trace-ascii log/7/trace846 --trace-time 'imap://127.0.0.1:43315/846/;MAILINDEX=1' -u notused:still-provided > log/7/stdout846 2> log/7/stderr846 846: protocol FAILED! TheCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind849 ../src/curl -q --output log/9/curl849.out --include --trace-ascii log/9/trace849 --trace-time 'imap://127.0.0.1:33787/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/9/stdout849 2> log/9/stderr849 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind843 ../src/curl -q --output log/17/curl843.out --include --trace-ascii log/17/trace843 --trace-time 'imap://127.0.0.1:44311/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout843 2> log/17/stderr843 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind845 ../src/curl -q --output log/23/curl845.out --include --trace-ascii log/23/trace845 --trace-time 'imap://127.0.0.1:38003/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout845 2> log/23/stderr845 re was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 846 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind846 ../src/curl -q --output log/7/curl846.out --include --trace-ascii log/7/trace846 --trace-time 'imap://127.0.0.1:43315/846/;MAILINDEX=1' -u notused:still-provided > log/7/stdout846 2> log/7/stderr846 === End of file commands.log === Start of file imap_server.log 05:47:09.057420 ====> Client connect 05:47:09.057570 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:09.057858 < "A001 CAPABILITY" 05:47:09.057895 > "A001 BAD Command[CR][LF]" 05:47:09.058060 < "A002 LIST "verifiedserver" *" 05:47:09.058094 LIST_imap got "verifiedserver" * 05:47:09.058122 > "* LIST () "/" "WE ROOLZ: 120283"[CR][LF]" 05:47:09.058140 > "A002 OK LIST Completed[CR][LF]" 05:47:09.058154 return proof we are we 05:47:09.105884 < "A003 LOGOUT" 05:47:09.105949 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:09.105970 > "A003 OK LOGOUT completed[CR][LF]" 05:47:09.107094 MAIN sockfilt said DISC 05:47:09.107125 ====> Client disconnected 05:47:09.116313 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.518761 ====> Client connect 05:47:08.519037 Received DATA (on stdin) 05:47:08.519050 > 164 bytes data, server => client 05:47:08.519062 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.519072 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.519082 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.519159 < 17 bytes data, client => server 05:47:08.519171 'A001 CAPABILITY\r\n' 05:47:08.519351 Received DATA (on stdin) 05:47:08.519362 > 18 bytes data, server => client 05:47:08.519372 'A001 BAD Command\r\n' 05:47:08.519430 < 30 bytes data, client => server 05:47:08.519441 'A002 LIST "verifiedserver" *\r\n' 05:47:08.519608 Received DATA (on stdin) 05:47:08.519618 > 34 bytes data, server => client 05:47:08.519628 '* LIST () "/" "WE ROOLZ: 120283"\r\n' 05:47:08.519647 Received DATA (on stdin) 05:47:08.519656 > 24 bytes data, server => client 05:47:08.519666 'A002 OK LIST Completed\r\n' 05:47:08.567135 < 13 bytes data, client => server 05:47:08.567173 'A003 LOGOUT\r\n' 05:47:08.567429 Received DATA (on stdin) 05:47:08.567441 > 36 bytes data, server => client 05:47:08.567451 '* BYE curl IMAP server signing off\r\n' 05:47:08.567484 Received DATA (on stdin) 05:47:08.567494 > 26 bytes data, server => client 05:47:08.567504 'A003 OK LOGOUT completed\r\n' 05:47:08.568493 ====> Client disconnect 05:47:08.568679 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY welcome * PREAUTH ready to serve already REPLY CAPABILITY * CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED\r\nA001 OK CAPABILITY completed Testnum 846 === End of file server.cmd === Start of file valgrind846 ==122462== ==122462== Process terminating with default action of signal 4 (SIGILL) ==122462== Illegal opcode at address 0x4014883 ==122462== at 0x4014883: getparameter (tool_getparam.c:2899) ==122462== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122462== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122462== by 0x4004208: main (tool_main.c:189) === End of file valgrind846 test 0849...[IMAP plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind849 ../src/curl -q --output log/9/curl849.out --include --trace-ascii log/9/trace849 --trace-time 'imap://127.0.0.1:33787/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/9/stdout849 2> log/9/stderr849 849: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 849 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind849 ../src/curl -q --output log/9/curl849.out --include --trace-ascii log/9/trace849 --trace-time 'imap://127.0.0.1:33787/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/9/stdout849 2> log/9/stderr849 === End of file commands.log === Start of file imap_server.log 05:47:09.425570 ====> Client connect 05:47:09.425816 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:09.429280 < "A001 CAPABILITY" 05:47:09.429334 > "A001 BAD Command[CR][LF]" 05:47:09.429532 < "A002 LIST "verifiedserver" *" 05:47:09.429565 LIST_imap got "verifiedserver" * 05:47:09.429594 > "* LIST () "/" "WE ROOLZ: 120285"[CR][LF]" 05:47:09.429613 > "A002 OK LIST Completed[CR][LF]" 05:47:09.429626 return proof we are we 05:47:09.480805 < "A003 LOGOUT" 05:47:09.480865 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:09.480885 > "A003 OK LOGOUT completed[CR][LF]" 05:47:09.487334 MAIN sockfilt said DISC 05:47:09.487398 ====> Client disconnected 05:47:09.487513 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.880349 ====> Client connect 05:47:08.890329 Received DATA (on stdin) 05:47:08.890369 > 164 bytes data, server => client 05:47:08.890382 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.890391 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.890401 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.890543 < 17 bytes data, client => server 05:47:08.890556 'A001 CAPABILITY\r\n' 05:47:08.890795 Received DATA (on stdin) 05:47:08.890808 > 18 bytes data, server => client 05:47:08.890817 'A001 BAD Command\r\n' 05:47:08.890883 < 30 bytes data, client => server 05:47:08.890894 'A002 LIST "verifiedserver" *\r\n' 05:47:08.891082 Received DATA (on stdin) 05:47:08.891093 > 34 bytes data, server => client 05:47:08.891102 '* LIST () "/" "WE ROOLZ: 120285"\r\n' 05:47:08.891123 Received DATA (on stdin) 05:47:08.891133 > 24 bytes data, server => client 05:47:08.891143 'A002 OK LIST Completed\r\n' 05:47:08.942051 < 13 bytes data, client => server 05:47:08.942091 'A003 LOGOUT\r\n' 05:47:08.942342 Received DATA (on stdin) 05:47:08.942352 > 36 bytes data, server => client 05:47:08.942363 '* BYE curl IMAP server signing off\r\n' 05:47:08.942389 Received DATA (on stdin) 05:47:08.942398 > 26 bytes data, server => client 05:47:08.942408 'A003 OK LOGOUT completed\r\n' 05:47:08.948700 ====> Client disconnect 05:47:08.948976 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= A002 NO Not authorized Testnum 849 === End of file server.cmd === Start of file valgrind849 ==122708== ==122708== Process terminating with default action of signal 4 (SIGILL) ==122708== Illegal opcode at address 0x4014883 ==122708== at 0x4014883: getparameter (tool_getparam.c:2899) ==122708== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122708== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122708== by 0x4004208: main (tool_main.c:189) === End of file valgrind849 test 0843...[IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind843 ../src/curl -q --output log/17/curl843.out --include --trace-ascii log/17/trace843 --trace-time 'imap://127.0.0.1:44311/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout843 2> log/17/stderr843 843: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 843 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind843 ../src/curl -q --output log/17/curl843.out --include --trace-ascii log/17/trace843 --trace-time 'imap://127.0.0.1:44311/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout843 2> log/17/stderr843 === End of file commands.log === Start of file imap_server.log 05:47:08.843024 ====> Client connect 05:47:08.843175 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.843507 < "A001 CAPABILITY" 05:47:08.843551 > "A001 BAD Command[CR][LF]" 05:47:08.843746 < "A002 LIST "verifiedserver" *" 05:47:08.843778 LIST_imap got "verifiedserver" * 05:47:08.843805 > "* LIST () "/" "WE ROOLZ: 119499"[CR][LF]" 05:47:08.843823 > "A002 OK LIST Completed[CR][LF]" 05:47:08.843837 return proof we are we 05:47:08.892571 < "A003 LOGOUT" 05:47:08.892641 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:08.892672 > "A003 OK LOGOUT completed[CR][LF]" 05:47:08.894087 MAIN sockfilt said DISC 05:47:08.894128 ====> Client disconnected 05:47:08.894237 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.304358 ====> Client connect 05:47:08.304649 Received DATA (on stdin) 05:47:08.304666 > 164 bytes data, server => client 05:47:08.304678 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.304688 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.304698 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.304787 < 17 bytes data, client => server 05:47:08.304801 'A001 CAPABILITY\r\n' 05:47:08.305011 Received DATA (on stdin) 05:47:08.305023 > 18 bytes data, server => client 05:47:08.305033 'A001 BAD Command\r\n' 05:47:08.305095 < 30 bytes data, client => server 05:47:08.305108 'A002 LIST "verifiedserver" *\r\n' 05:47:08.305294 Received DATA (on stdin) 05:47:08.305305 > 34 bytes data, server => client 05:47:08.305315 '* LIST () "/" "WE ROOLZ: 119499"\r\n' 05:47:08.305336 Received DATA (on stdin) 05:47:08.305345 > 24 bytes data, server => client 05:47:08.305354 'A002 OK LIST Completed\r\n' 05:47:08.353807 < 13 bytes data, client => server 05:47:08.353847 'A003 LOGOUT\r\n' 05:47:08.354140 Received DATA (on stdin) 05:47:08.354156 > 36 bytes data, server => client 05:47:08.354166 '* BYE curl IMAP server signing off\r\n' 05:47:08.354193 Received DATA (on stdin) 05:47:08.354204 > 26 bytes data, server => client 05:47:08.354215 'A003 OK LOGOUT completed\r\n' 05:47:08.355482 ====> Client disconnect 05:47:08.355708 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 843 === End of file server.cmd === Start of file valgrind843 ==122332== ==122332== Process terminating with default action of signal 4 (SIGILL) ==122332== Illegal opcode at address 0x4014883 ==122332== at 0x4014883: getparameter (tool_getparam.c:2899) ==122332== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122332== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122332== by 0x4004208: main (tool_main.c:189) === End of file valgrind843 test 0845...[IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind845 ../src/curl -q --output log/23/curl845.out --include --trace-ascii log/23/trace845 --trace-time 'imap://127.0.0.1:38003/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout845 2> log/23/stderr845 845: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 845 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind845 ../src/curl -q --output log/23/curl845.out --include --trace-ascii log/23/trace845 --trace-time 'imap://127.0.0.1:38003/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout845 2> log/23/stderr845 === End of file commands.log === Start of file imap_server.log 05:47:08.993845 ====> Client connect 05:47:08.994048 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:08.994391 < "A001 CAPABILITY" 05:47:08.994440 > "A001 BAD Command[CR][LF]" 05:47:08.994644 < "A002 LIST "verifiedserver" *" 05:47:08.994683 LIST_imap got "verifiedserver" * 05:47:08.994712 > "* LIST () "/" "WE ROOLZ: 120214"[CR][LF]" 05:47:08.994732 > "A002 OK LIST Completed[CR][LF]" 05:47:08.994748 return proof we are we 05:47:09.044125 < "A003 LOGOUT" 05:47:09.044194 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:09.044217 > "A003 OK LOGOUT completed[CR][LF]" 05:47:09.045850 MAIN sockfilt said DISC 05:47:09.045897 ====> Client disconnected 05:47:09.045997 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.455172 ====> Client connect 05:47:08.455527 Received DATA (on stdin) 05:47:08.455545 > 164 bytes data, server => client 05:47:08.455557 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.455568 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.455578 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.455659 < 17 bytes data, client => server 05:47:08.455674 'A001 CAPABILITY\r\n' 05:47:08.455902 Received DATA (on stdin) 05:47:08.455914 > 18 bytes data, server => client 05:47:08.455925 'A001 BAD Command\r\n' 05:47:08.455987 < 30 bytes data, client => server 05:47:08.456005 'A002 LIST "verifiedserver" *\r\n' 05:47:08.456208 Received DATA (on stdin) 05:47:08.456222 > 34 bytes data, server => client 05:47:08.456233 '* LIST () "/" "WE ROOLZ: 120214"\r\n' 05:47:08.456255 Received DATA (on stdin) 05:47:08.456266 > 24 bytes data, server => client 05:47:08.456277 'A002 OK LIST Completed\r\n' 05:47:08.505387 < 13 bytes data, client => server 05:47:08.505419 'A003 LOGOUT\r\n' 05:47:08.505680 Received DATA (on stdin) 05:47:08.505695 > 36 bytes data, server => client 05:47:08.505706 '* BYE curl IMAP server signing off\r\n' 05:47:08.505732 Received DATA (on stdin) 05:47:08.505743 > 26 bytes data, server => client 05:47:08.505753 'A003 OK LOGOUT completed\r\n' 05:47:08.506912 ====> Client disconnect 05:47:08.507468 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== A002 NO Authentication failed Testnum 845 === End of file server.cmd === Start of file valgrind845 ==122412== ==122412== Process terminating with default action of signal 4 (SIGILL) ==122412== Illegal opcode at address 0x4014883 =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind847 ../src/curl -q --output log/12/curl847.out --include --trace-ascii log/12/trace847 --trace-time 'imap://127.0.0.1:35611/847/;UID=1' -u '"user:sec"ret{' > log/12/stdout847 2> log/12/stderr847 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind848 ../src/curl -q --output log/19/curl848.out --include --trace-ascii log/19/trace848 --trace-time 'imap://127.0.0.1:35753/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/19/stdout848 2> log/19/stderr848 =122412== at 0x4014883: getparameter (tool_getparam.c:2899) ==122412== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122412== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122412== by 0x4004208: main (tool_main.c:189) === End of file valgrind845 test 0847...[IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind847 ../src/curl -q --output log/12/curl847.out --include --trace-ascii log/12/trace847 --trace-time 'imap://127.0.0.1:35611/847/;UID=1' -u '"user:sec"ret{' > log/12/stdout847 2> log/12/stderr847 847: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind847 ../src/curl -q --output log/12/curl847.out --include --trace-ascii log/12/trace847 --trace-time 'imap://127.0.0.1:35611/847/;UID=1' -u '"user:sec"ret{' > log/12/stdout847 2> log/12/stderr847 === End of file commands.log === Start of file imap_server.log 05:47:09.094240 ====> Client connect 05:47:09.098996 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:09.099384 < "A001 CAPABILITY" 05:47:09.099431 > "A001 BAD Command[CR][LF]" 05:47:09.099605 < "A002 LIST "verifiedserver" *" 05:47:09.099638 LIST_imap got "verifiedserver" * 05:47:09.099664 > "* LIST () "/" "WE ROOLZ: 120117"[CR][LF]" 05:47:09.099684 > "A002 OK LIST Completed[CR][LF]" 05:47:09.099699 return proof we are we 05:47:09.149165 < "A003 LOGOUT" 05:47:09.149247 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:09.149273 > "A003 OK LOGOUT completed[CR][LF]" 05:47:09.150641 MAIN sockfilt said DISC 05:47:09.150678 ====> Client disconnected 05:47:09.150799 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:08.555553 ====> Client connect 05:47:08.560329 Received DATA (on stdin) 05:47:08.560374 > 164 bytes data, server => client 05:47:08.560494 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:08.560505 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:08.560514 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:08.560642 < 17 bytes data, client => server 05:47:08.560656 'A001 CAPABILITY\r\n' 05:47:08.560889 Received DATA (on stdin) 05:47:08.560901 > 18 bytes data, server => client 05:47:08.560910 'A001 BAD Command\r\n' 05:47:08.560968 < 30 bytes data, client => server 05:47:08.560979 'A002 LIST "verifiedserver" *\r\n' 05:47:08.561155 Received DATA (on stdin) 05:47:08.561167 > 34 bytes data, server => client 05:47:08.561179 '* LIST () "/" "WE ROOLZ: 120117"\r\n' 05:47:08.561200 Received DATA (on stdin) 05:47:08.561210 > 24 bytes data, server => client 05:47:08.561220 'A002 OK LIST Completed\r\n' 05:47:08.610350 < 13 bytes data, client => server 05:47:08.610402 'A003 LOGOUT\r\n' 05:47:08.610738 Received DATA (on stdin) 05:47:08.610752 > 36 bytes data, server => client 05:47:08.610763 '* BYE curl IMAP server signing off\r\n' 05:47:08.610813 Received DATA (on stdin) 05:47:08.610825 > 26 bytes data, server => client 05:47:08.610835 'A003 OK LOGOUT completed\r\n' 05:47:08.612035 ====> Client disconnect 05:47:08.612266 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 847 === End of file server.cmd === Start of file valgrind847 ==122499== ==122499== Process terminating with default action of signal 4 (SIGILL) ==122499== Illegal opcode at address 0x4014883 ==122499== at 0x4014883: getparameter (tool_getparam.c:2899) ==122499== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122499== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122499== by 0x4004208: main (tool_main.c:189) === End of file valgrind847 test 0848...[IMAP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind848 ../src/curl -q --output log/19/curl848.out --include --trace-ascii log/19/trace848 --trace-time 'imap://127.0.0.1:35753/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/19/stdout848 2> log/19/stderr848 848: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind848 ../src/curl -q --output log/19/curl848.out --include --trace-ascii log/19/trace848 --trace-time 'imap://127.0.0.1:35753/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/19/stdout848 2> log/19/stderr848 === End of file commands.log === Start of file imap_server.log 05:47:09.348913 ====> Client connect 05:47:09.349108 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:09.362483 < "A001 CAPABILITY" 05:47:09.362550 > "A001 BAD Command[CR][LF]" 05:47:09.364104 < "A002 LIST "verifiedserver" *" 05:47:09.364137 LIST_imap got "verifiedserver" * 05:47:09.364164 > "* LIST () "/" "WE ROOLZ: 119669"[CR][LF]" 05:47:09.364182 > "A002 OK LIST Completed[CR][LF]" 05:47:09.364196 return proof we are we 05:47:09.412534 < "A003 LOGOUT" 05:47:09.412598 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:09.412621 > "A003 OK LOGOUT completed[CR][LF]" 05:47:09.414052 MAIN sockfilt said DISC 05:47:09.414095 ====> Client disconnected 05:47:09.414217 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:09.807008 ====> Client connect 05:47:09.817003 Received DATA (on stdin) 05:47:09.817051 > 164 bytes data, server => client 05:47:09.817065 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:09.817076 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:09.817086 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:09.823669 < 17 bytes data, client => server 05:47:09.823702 'A001 CAPABILITY\r\n' 05:47:09.824015 Received DATA (on stdin) 05:47:09.824028 > 18 bytes data, server => client 05:47:09.824039 'A001 BAD Command\r\n' 05:47:09.825439 < 30 bytes data, client => server 05:47:09.825459 'A002 LIST "verifiedserver" *\r\n' 05:47:09.825652 Received DATA (on stdin) 05:47:09.825663 > 34 bytes data, server => client 05:47:09.825674 '* LIST () "/" "WE ROOLZ: 119669"\r\n' 05:47:09.825695 Received DATA (on stdin) 05:47:09.825704 > 24 bytes data, server => client 05:47:09.825714 'A002 OK LIST Completed\r\n' 05:47:09.873779 < 13 bytes data, client => server 05:47:09.873817 'A003 LOGOUT\r\n' 05:47:09.874084 Received DATA (on stdin) 05:47:09.874100 > 36 bytes data, server => client 05:47:09.874111 '* BYE curl IMAP server signing off\r\n' 05:47:09.874138 Received DATA (on stdin) 05:47:09.874150 > 26 bytes data, server => client 05:47:09.874160 'A003 OK LOGOUT completed\r\n' 05:47:09.875446 ====> Client disconnect 05:47:09.875690 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= A002 OK AUTHENTICATE completed Testnum 848 === End of file server.cmd === Start of file valgrind848 ==122678== ==122678== Process terminating with default action of signal 4 (SIGILL) ==122678CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind850 ../src/curl -q --output log/16/curl850.out --include --trace-ascii log/16/trace850 --trace-time pop3://127.0.0.1:41995/850 -u user:secret > log/16/stdout850 2> log/16/stderr850 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind860 ../src/curl -q --output log/2/curl860.out --include --trace-ascii log/2/trace860 --trace-time pop3://127.0.0.1:34305 -u user:secret -X NOOP -I > log/2/stdout860 2> log/2/stderr860 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind852 ../src/curl -q --output log/15/curl852.out --include --trace-ascii log/15/trace852 --trace-time pop3://127.0.0.1:36097/852 -l -u user:secret > log/15/stdout852 2> log/15/stderr852 == Illegal opcode at address 0x4014883 ==122678== at 0x4014883: getparameter (tool_getparam.c:2899) ==122678== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122678== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122678== by 0x4004208: main (tool_main.c:189) === End of file valgrind848 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/pop3_server.pid" --logfile "log/16/pop3_server.log" --logdir "log/16" --portfile "log/16/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41995 (log/16/server/pop3_server.port) RUN: POP3 server is PID 122667 port 41995 * pid pop3 => 122667 122667 test 0850...[POP3 RETR message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind850 ../src/curl -q --output log/16/curl850.out --include --trace-ascii log/16/trace850 --trace-time pop3://127.0.0.1:41995/850 -u user:secret > log/16/stdout850 2> log/16/stderr850 850: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 850 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind850 ../src/curl -q --output log/16/curl850.out --include --trace-ascii log/16/trace850 --trace-time pop3://127.0.0.1:41995/850 -u user:secret > log/16/stdout850 2> log/16/stderr850 === End of file commands.log === Start of file pop3_server.log 05:47:09.452523 POP3 server listens on port IPv4/41995 05:47:09.452705 logged pid 122667 in log/16/server/pop3_server.pid 05:47:09.452747 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:09.911189 Running IPv4 version 05:47:09.911301 Listening on port 41995 05:47:09.911352 Wrote pid 122682 to log/16/server/pop3_sockfilt.pid 05:47:09.911385 Wrote port 41995 to log/16/server/pop3_server.port 05:47:09.913846 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 850 === End of file server.cmd === Start of file valgrind850 ==122891== ==122891== Process terminating with default action of signal 4 (SIGILL) ==122891== Illegal opcode at address 0x4014883 ==122891== at 0x4014883: getparameter (tool_getparam.c:2899) ==122891== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122891== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122891== by 0x4004208: main (tool_main.c:189) === End of file valgrind850 test 0860...[POP3 NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind860 ../src/curl -q --output log/2/curl860.out --include --trace-ascii log/2/trace860 --trace-time pop3://127.0.0.1:34305 -u user:secret -X NOOP -I > log/2/stdout860 2> log/2/stderr860 860: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 860 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind860 ../src/curl -q --output log/2/curl860.out --include --trace-ascii log/2/trace860 --trace-time pop3://127.0.0.1:34305 -u user:secret -X NOOP -I > log/2/stdout860 2> log/2/stderr860 === End of file commands.log === Start of file pop3_server.log 05:47:10.149173 ====> Client connect 05:47:10.149347 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:10.149631 < "CAPA" 05:47:10.149676 > "-ERR Unrecognized command[CR][LF]" 05:47:10.149840 < "RETR verifiedserver" 05:47:10.149871 return proof we are we 05:47:10.149891 > "+OK Mail transfer starts[CR][LF]" 05:47:10.149913 > "WE ROOLZ: 102651[CR][LF]" 05:47:10.149929 > ".[CR][LF]" 05:47:10.199104 < "QUIT" 05:47:10.199165 > "+OK curl POP3 server signing off[CR][LF]" 05:47:10.200439 MAIN sockfilt said DISC 05:47:10.200482 ====> Client disconnected 05:47:10.200590 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.610495 ====> Client connect 05:47:10.610817 Received DATA (on stdin) 05:47:10.610830 > 164 bytes data, server => client 05:47:10.610841 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:10.610850 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:10.610859 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:10.610934 < 6 bytes data, client => server 05:47:10.610944 'CAPA\r\n' 05:47:10.611133 Received DATA (on stdin) 05:47:10.611144 > 27 bytes data, server => client 05:47:10.611154 '-ERR Unrecognized command\r\n' 05:47:10.611204 < 21 bytes data, client => server 05:47:10.611214 'RETR verifiedserver\r\n' 05:47:10.611382 Received DATA (on stdin) 05:47:10.611392 > 26 bytes data, server => client 05:47:10.611402 '+OK Mail transfer starts\r\n' 05:47:10.611420 Received DATA (on stdin) 05:47:10.611429 > 18 bytes data, server => client 05:47:10.611438 'WE ROOLZ: 102651\r\n' 05:47:10.611449 Received DATA (on stdin) 05:47:10.611457 > 3 bytes data, server => client 05:47:10.611466 '.\r\n' 05:47:10.660345 < 6 bytes data, client => server 05:47:10.660387 'QUIT\r\n' 05:47:10.660629 Received DATA (on stdin) 05:47:10.660642 > 34 bytes data, server => client 05:47:10.660653 '+OK curl POP3 server signing off\r\n' 05:47:10.661829 ====> Client disconnect 05:47:10.662051 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==122846== ==122846== Process terminating with default action of signal 4 (SIGILL) ==122846== Illegal opcode at address 0x4014883 ==122846== at 0x4014883: getparameter (tool_getparam.c:2899) ==122846== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122846== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122846== by 0x4004208: main (tool_main.c:189) === End of file valgrind860 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/pop3_server.pid" --logfile "log/15/pop3_server.log" --logdir "log/15" --portfile "log/15/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36097 (log/15/server/pop3_server.port) RUN: POP3 server is PID 122742 port 36097 * pid pop3 => 122742 122742 test 0852...[POP3 LIST invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind852 ../src/curl -q --output log/15/curl852.out --include --trace-ascii log/15/trace852 --trace-time pop3://127.0.0.1:36097/852 -l -u user:secret > log/15/stdout852 2> log/15/stderr852 852: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 852 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind852 ../src/curl -q --output log/15/curl852.out --include --trace-ascii log/15/trace852 --trace-time pop3://127.0.0.1:36097/852 -l -u user:secret > log/15/stdout852 2> log/15/stderr852 === End of file commands.log === Start of file pop3_server.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind851 ../src/curl -q --output log/1/curl851.out --include --trace-ascii log/1/trace851 --trace-time pop3://127.0.0.1:38531/851 -l -u user:secret > log/1/stdout851 2> log/1/stderr851 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind854 ../src/curl -q --output log/21/curl854.out --include --trace-ascii log/21/trace854 --trace-time pop3://127.0.0.1:38501/ -u user:secret > log/21/stdout854 2> log/21/stderr854 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind853 ../src/curl -q --output log/11/curl853.out --include --trace-ascii log/11/trace853 --trace-time pop3://127.0.0.1:44659/ -u user:secret > log/11/stdout853 2> log/11/stderr853 05:47:09.652891 POP3 server listens on port IPv4/36097 05:47:09.653023 logged pid 122742 in log/15/server/pop3_server.pid 05:47:09.653058 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:09.111205 Running IPv4 version 05:47:09.111311 Listening on port 36097 05:47:09.111356 Wrote pid 122774 to log/15/server/pop3_sockfilt.pid 05:47:09.111387 Wrote port 36097 to log/15/server/pop3_server.port 05:47:09.114188 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST -ERR no such message Testnum 852 === End of file server.cmd === Start of file valgrind852 ==122970== ==122970== Process terminating with default action of signal 4 (SIGILL) ==122970== Illegal opcode at address 0x4014883 ==122970== at 0x4014883: getparameter (tool_getparam.c:2899) ==122970== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122970== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122970== by 0x4004208: main (tool_main.c:189) === End of file valgrind852 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/pop3_server.pid" --logfile "log/1/pop3_server.log" --logdir "log/1" --portfile "log/1/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38531 (log/1/server/pop3_server.port) RUN: POP3 server is PID 122738 port 38531 * pid pop3 => 122738 122738 test 0851...[POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind851 ../src/curl -q --output log/1/curl851.out --include --trace-ascii log/1/trace851 --trace-time pop3://127.0.0.1:38531/851 -l -u user:secret > log/1/stdout851 2> log/1/stderr851 851: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 851 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind851 ../src/curl -q --output log/1/curl851.out --include --trace-ascii log/1/trace851 --trace-time pop3://127.0.0.1:38531/851 -l -u user:secret > log/1/stdout851 2> log/1/stderr851 === End of file commands.log === Start of file pop3_server.log 05:47:09.632344 POP3 server listens on port IPv4/38531 05:47:09.632525 logged pid 122738 in log/1/server/pop3_server.pid 05:47:09.632571 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:09.084586 Running IPv4 version 05:47:09.084702 Listening on port 38531 05:47:09.084746 Wrote pid 122764 to log/1/server/pop3_sockfilt.pid 05:47:09.084777 Wrote port 38531 to log/1/server/pop3_server.port 05:47:09.090327 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd # include the '.\r\n' 3-byte trailer to end the transfer properly REPLY LIST +OK 851 100\r\n. Testnum 851 === End of file server.cmd === Start of file valgrind851 ==122966== ==122966== Process terminating with default action of signal 4 (SIGILL) ==122966== Illegal opcode at address 0x4014883 ==122966== at 0x4014883: getparameter (tool_getparam.c:2899) ==122966== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==122966== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==122966== by 0x4004208: main (tool_main.c:189) === End of file valgrind851 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/pop3_server.pid" --logfile "log/11/pop3_server.log" --logdir "log/11" --portfile "log/11/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44659 (log/11/server/pop3_server.port) RUN: POP3 server is PID 122801 port 44659 * pid pop3 => 122801 122801 test 0853...[POP3 LIST messages from *SLOW* server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind853 ../src/curl -q --output log/11/curl853.out --include --trace-ascii log/11/trace853 --trace-time pop3://127.0.0.1:44659/ -u user:secret > log/11/stdout853 2> log/11/stderr853 853: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 853 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind853 ../src/curl -q --output log/11/curl853.out --include --trace-ascii log/11/trace853 --trace-time pop3://127.0.0.1:44659/ -u user:secret > log/11/stdout853 2> log/11/stderr853 === End of file commands.log === Start of file pop3_server.log 05:47:09.932343 POP3 server listens on port IPv4/44659 05:47:09.932492 logged pid 122801 in log/11/server/pop3_server.pid 05:47:09.932524 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:09.379990 Running IPv4 version 05:47:09.380102 Listening on port 44659 05:47:09.380149 Wrote pid 122809 to log/11/server/pop3_sockfilt.pid 05:47:09.380178 Wrote port 44659 to log/11/server/pop3_server.port 05:47:09.390327 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd SLOWDOWN Testnum 853 === End of file server.cmd === Start of file valgrind853 ==123075== ==123075== Process terminating with default action of signal 4 (SIGILL) ==123075== Illegal opcode at address 0x4014883 ==123075== at 0x4014883: getparameter (tool_getparam.c:2899) ==123075== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123075== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123075== by 0x4004208: main (tool_main.c:189) === End of file valgrind853 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/pop3_server.pid" --logfile "log/21/pop3_server.log" --logdir "log/21" --portfile "log/21/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38501 (log/21/server/pop3_server.port) RUN: POP3 server is PID 122804 port 38501 * pid pop3 => 122804 122804 test 0854...[POP3 LIST no messages available] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind854 ../src/curl -q --output log/21/curl854.out --include --trace-ascii log/21/trace854 --trace-time pop3://127.0.0.1:38501/ -u user:secret > log/21/stdout854 2> log/21/stderr854 854: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 854 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind854 ../src/curl -q --output log/21/curl854.out --include --trace-ascii log/21/trace854 --trace-time pop3://127.0.0.1:38501/ -u user:secret > log/21/stdout854 2> log/21/stderr854 === End of file commands.log === Start of file pop3_server.log 05:47:09.879425 POP3 server listens on port IPv4/38501 05:47:09.879529 logged pid 122804 in log/21/server/pop3_server.pid 05:47:09.879557 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:09.340439 Running IPv4 version 05:47:09.340560 Listening on port 38501 05:47:09.340600 Wrote pid 122806 to log/21/server/pop3_sockfilt.pid 05:47:09.340627 Wrote port 38501 to log/21/server/pop3_server.port 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind855 ../src/curl -q --output log/10/curl855.out --include --trace-ascii log/10/trace855 --trace-time pop3://127.0.0.1:38925/855 -u user:secret > log/10/stdout855 2> log/10/stderr855 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind856 ../src/curl -q --output log/22/curl856.out --include --trace-ascii log/22/trace856 --trace-time pop3://127.0.0.1:46043/856 -u user:wrong > log/22/stdout856 2> log/22/stderr856 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind858 ../src/curl -q --output log/13/curl858.out --include --trace-ascii log/13/trace858 --trace-time pop3://127.0.0.1:33489/858 -u user:secret -X DELE -I > log/13/stdout858 2> log/13/stderr858 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind859 ../src/curl -q --output log/24/curl859.out --include --trace-ascii log/24/trace859 --trace-time pop3://127.0.0.1:43813 -u user:secret -X STAT -I > log/24/stdout859 2> log/24/stderr859 5:47:09.340785 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK but no messages\r\n. Testnum 854 === End of file server.cmd === Start of file valgrind854 ==123082== ==123082== Process terminating with default action of signal 4 (SIGILL) ==123082== Illegal opcode at address 0x4014883 ==123082== at 0x4014883: getparameter (tool_getparam.c:2899) ==123082== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123082== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123082== by 0x4004208: main (tool_main.c:189) === End of file valgrind854 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/pop3_server.pid" --logfile "log/10/pop3_server.log" --logdir "log/10" --portfile "log/10/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38925 (log/10/server/pop3_server.port) RUN: POP3 server is PID 122807 port 38925 * pid pop3 => 122807 122807 test 0855...[POP3 RETR invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind855 ../src/curl -q --output log/10/curl855.out --include --trace-ascii log/10/trace855 --trace-time pop3://127.0.0.1:38925/855 -u user:secret > log/10/stdout855 2> log/10/stderr855 855: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 855 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind855 ../src/curl -q --output log/10/curl855.out --include --trace-ascii log/10/trace855 --trace-time pop3://127.0.0.1:38925/855 -u user:secret > log/10/stdout855 2> log/10/stderr855 === End of file commands.log === Start of file pop3_server.log 05:47:09.959898 POP3 server listens on port IPv4/38925 05:47:09.960009 logged pid 122807 in log/10/server/pop3_server.pid 05:47:09.960044 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:09.420883 Running IPv4 version 05:47:09.421015 Listening on port 38925 05:47:09.421062 Wrote pid 122812 to log/10/server/pop3_sockfilt.pid 05:47:09.421094 Wrote port 38925 to log/10/server/pop3_server.port 05:47:09.421251 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY RETR -ERR no such message Testnum 855 === End of file server.cmd === Start of file valgrind855 ==123118== ==123118== Process terminating with default action of signal 4 (SIGILL) ==123118== Illegal opcode at address 0x4014883 ==123118== at 0x4014883: getparameter (tool_getparam.c:2899) ==123118== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123118== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123118== by 0x4004208: main (tool_main.c:189) === End of file valgrind855 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/pop3_server.pid" --logfile "log/22/pop3_server.log" --logdir "log/22" --portfile "log/22/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46043 (log/22/server/pop3_server.port) RUN: POP3 server is PID 122810 port 46043 * pid pop3 => 122810 122810 test 0856...[POP3 invalid login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind856 ../src/curl -q --output log/22/curl856.out --include --trace-ascii log/22/trace856 --trace-time pop3://127.0.0.1:46043/856 -u user:wrong > log/22/stdout856 2> log/22/stderr856 856: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 856 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind856 ../src/curl -q --output log/22/curl856.out --include --trace-ascii log/22/trace856 --trace-time pop3://127.0.0.1:46043/856 -u user:wrong > log/22/stdout856 2> log/22/stderr856 === End of file commands.log === Start of file pop3_server.log 05:47:10.010742 POP3 server listens on port IPv4/46043 05:47:10.010847 logged pid 122810 in log/22/server/pop3_server.pid 05:47:10.010877 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.471779 Running IPv4 version 05:47:10.471867 Listening on port 46043 05:47:10.471911 Wrote pid 122814 to log/22/server/pop3_sockfilt.pid 05:47:10.471940 Wrote port 46043 to log/22/server/pop3_server.port 05:47:10.472102 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY PASS -ERR Login failure Testnum 856 === End of file server.cmd === Start of file valgrind856 ==123144== ==123144== Process terminating with default action of signal 4 (SIGILL) ==123144== Illegal opcode at address 0x4014883 ==123144== at 0x4014883: getparameter (tool_getparam.c:2899) ==123144== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123144== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123144== by 0x4004208: main (tool_main.c:189) === End of file valgrind856 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/pop3_server.pid" --logfile "log/13/pop3_server.log" --logdir "log/13" --portfile "log/13/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33489 (log/13/server/pop3_server.port) RUN: POP3 server is PID 122822 port 33489 * pid pop3 => 122822 122822 test 0858...[POP3 DELE message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind858 ../src/curl -q --output log/13/curl858.out --include --trace-ascii log/13/trace858 --trace-time pop3://127.0.0.1:33489/858 -u user:secret -X DELE -I > log/13/stdout858 2> log/13/stderr858 858: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 858 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind858 ../src/curl -q --output log/13/curl858.out --include --trace-ascii log/13/trace858 --trace-time pop3://127.0.0.1:33489/858 -u user:secret -X DELE -I > log/13/stdout858 2> log/13/stderr858 === End of file commands.log === Start of file pop3_server.log 05:47:10.215911 POP3 server listens on port IPv4/33489 05:47:10.216069 logged pid 122822 in log/13/server/pop3_server.pid 05:47:10.216110 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.671860 Running IPv4 version 05:47:10.671973 Listening on port 33489 05:47:10.672020 Wrote pid 122843 to log/13/server/pop3_sockfilt.pid 05:47:10.672052 Wrote port 33489 to log/13/server/pop3_server.port 05:47:10.677204 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 858 === End of file server.cmd === Start of file valgrind858 ==123257== ==123257== Process terminating with default action of signal 4 (SIGILL) ==123257== Illegal opcode at address 0x4014883 ==123257== at 0x4014883: getparameter (tool_getparam.c:2899) ==123257== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind857 ../src/curl -q --output log/4/curl857.out --include --trace-ascii log/4/trace857 --trace-time pop3://127.0.0.1:40131/857 -u user:secret > log/4/stdout857 2> log/4/stderr857 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind861 ../src/curl -q --output log/14/curl861.out --include --trace-ascii log/14/trace861 --trace-time pop3://127.0.0.1:38897 -u user:secret -X UIDL > log/14/stdout861 2> log/14/stderr861 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind865 ../src/curl -q --output log/18/curl865.out --include --trace-ascii log/18/trace865 --trace-time pop3://127.0.0.1:39519/865 -u user:secret > log/18/stdout865 2> log/18/stderr865 23257== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123257== by 0x4004208: main (tool_main.c:189) === End of file valgrind858 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/pop3_server.pid" --logfile "log/24/pop3_server.log" --logdir "log/24" --portfile "log/24/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43813 (log/24/server/pop3_server.port) RUN: POP3 server is PID 122823 port 43813 * pid pop3 => 122823 122823 test 0859...[POP3 STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind859 ../src/curl -q --output log/24/curl859.out --include --trace-ascii log/24/trace859 --trace-time pop3://127.0.0.1:43813 -u user:secret -X STAT -I > log/24/stdout859 2> log/24/stderr859 859: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 859 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind859 ../src/curl -q --output log/24/curl859.out --include --trace-ascii log/24/trace859 --trace-time pop3://127.0.0.1:43813 -u user:secret -X STAT -I > log/24/stdout859 2> log/24/stderr859 === End of file commands.log === Start of file pop3_server.log 05:47:10.172552 POP3 server listens on port IPv4/43813 05:47:10.172713 logged pid 122823 in log/24/server/pop3_server.pid 05:47:10.172752 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.628179 Running IPv4 version 05:47:10.628272 Listening on port 43813 05:47:10.628309 Wrote pid 122840 to log/24/server/pop3_sockfilt.pid 05:47:10.628335 Wrote port 43813 to log/24/server/pop3_server.port 05:47:10.633859 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 859 === End of file server.cmd === Start of file valgrind859 ==123283== ==123283== Process terminating with default action of signal 4 (SIGILL) ==123283== Illegal opcode at address 0x4014883 ==123283== at 0x4014883: getparameter (tool_getparam.c:2899) ==123283== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123283== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123283== by 0x4004208: main (tool_main.c:189) === End of file valgrind859 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/pop3_server.pid" --logfile "log/4/pop3_server.log" --logdir "log/4" --portfile "log/4/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40131 (log/4/server/pop3_server.port) RUN: POP3 server is PID 122820 port 40131 * pid pop3 => 122820 122820 test 0857...[POP3 RETR message with dot-prefixed line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind857 ../src/curl -q --output log/4/curl857.out --include --trace-ascii log/4/trace857 --trace-time pop3://127.0.0.1:40131/857 -u user:secret > log/4/stdout857 2> log/4/stderr857 857: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 857 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind857 ../src/curl -q --output log/4/curl857.out --include --trace-ascii log/4/trace857 --trace-time pop3://127.0.0.1:40131/857 -u user:secret > log/4/stdout857 2> log/4/stderr857 === End of file commands.log === Start of file pop3_server.log 05:47:10.223563 POP3 server listens on port IPv4/40131 05:47:10.223708 logged pid 122820 in log/4/server/pop3_server.pid 05:47:10.223751 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.684508 Running IPv4 version 05:47:10.684601 Listening on port 40131 05:47:10.684649 Wrote pid 122845 to log/4/server/pop3_sockfilt.pid 05:47:10.684685 Wrote port 40131 to log/4/server/pop3_server.port 05:47:10.684890 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 857 === End of file server.cmd === Start of file valgrind857 ==123266== ==123266== Process terminating with default action of signal 4 (SIGILL) ==123266== Illegal opcode at address 0x4014883 ==123266== at 0x4014883: getparameter (tool_getparam.c:2899) ==123266== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123266== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123266== by 0x4004208: main (tool_main.c:189) === End of file valgrind857 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/pop3_server.pid" --logfile "log/14/pop3_server.log" --logdir "log/14" --portfile "log/14/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38897 (log/14/server/pop3_server.port) RUN: POP3 server is PID 122949 port 38897 * pid pop3 => 122949 122949 test 0861...[POP3 UIDL (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind861 ../src/curl -q --output log/14/curl861.out --include --trace-ascii log/14/trace861 --trace-time pop3://127.0.0.1:38897 -u user:secret -X UIDL > log/14/stdout861 2> log/14/stderr861 861: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 861 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind861 ../src/curl -q --output log/14/curl861.out --include --trace-ascii log/14/trace861 --trace-time pop3://127.0.0.1:38897 -u user:secret -X UIDL > log/14/stdout861 2> log/14/stderr861 === End of file commands.log === Start of file pop3_server.log 05:47:10.583272 POP3 server listens on port IPv4/38897 05:47:10.583431 logged pid 122949 in log/14/server/pop3_server.pid 05:47:10.583470 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.041386 Running IPv4 version 05:47:10.041489 Listening on port 38897 05:47:10.041526 Wrote pid 122962 to log/14/server/pop3_sockfilt.pid 05:47:10.041555 Wrote port 38897 to log/14/server/pop3_server.port 05:47:10.043657 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA UIDL USER Testnum 861 === End of file server.cmd === Start of file valgrind861 ==123451== ==123451== Process terminating with default action of signal 4 (SIGILL) ==123451== Illegal opcode at address 0x4014883 ==123451== at 0x4014883: getparameter (tool_getparam.c:2899) ==123451== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123451== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123451== by 0x4004208: main (tool_main.c:189) === End of file valgrind861 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/pop3_server.pid" --logfile "log/18/pop3_server.log" --logdir "log/18" --portfile "log/18/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39519 (log/18/server/pop3_server.port) RUN: POP3 servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind863 ../src/curl -q --output log/6/curl863.out --include --trace-ascii log/6/trace863 --trace-time pop3://127.0.0.1:42225 -u user:secret -X RSET -I > log/6/stdout863 2> log/6/stderr863 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind867 ../src/curl -q --output log/3/curl867.out --include --trace-ascii log/3/trace867 --trace-time pop3://127.0.0.1:34563/867 -u user:secret > log/3/stdout867 2> log/3/stderr867 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind864 ../src/curl -q --output log/5/curl864.out --include --trace-ascii log/5/trace864 --trace-time pop3://127.0.0.1:44395/864 -u user:secret > log/5/stdout864 2> log/5/stderr864 er is PID 123054 port 39519 * pid pop3 => 123054 123054 test 0865...[POP3 plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind865 ../src/curl -q --output log/18/curl865.out --include --trace-ascii log/18/trace865 --trace-time pop3://127.0.0.1:39519/865 -u user:secret > log/18/stdout865 2> log/18/stderr865 865: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 865 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind865 ../src/curl -q --output log/18/curl865.out --include --trace-ascii log/18/trace865 --trace-time pop3://127.0.0.1:39519/865 -u user:secret > log/18/stdout865 2> log/18/stderr865 === End of file commands.log === Start of file pop3_server.log 05:47:10.777211 POP3 server listens on port IPv4/39519 05:47:10.777320 logged pid 123054 in log/18/server/pop3_server.pid 05:47:10.777349 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.238241 Running IPv4 version 05:47:10.238321 Listening on port 39519 05:47:10.238357 Wrote pid 123069 to log/18/server/pop3_sockfilt.pid 05:47:10.238385 Wrote port 39519 to log/18/server/pop3_server.port 05:47:10.238564 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 865 === End of file server.cmd === Start of file valgrind865 ==123564== ==123564== Process terminating with default action of signal 4 (SIGILL) ==123564== Illegal opcode at address 0x4014883 ==123564== at 0x4014883: getparameter (tool_getparam.c:2899) ==123564== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123564== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123564== by 0x4004208: main (tool_main.c:189) === End of file valgrind865 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/pop3_server.pid" --logfile "log/6/pop3_server.log" --logdir "log/6" --portfile "log/6/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42225 (log/6/server/pop3_server.port) RUN: POP3 server is PID 122978 port 42225 * pid pop3 => 122978 122978 test 0863...[POP3 RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind863 ../src/curl -q --output log/6/curl863.out --include --trace-ascii log/6/trace863 --trace-time pop3://127.0.0.1:42225 -u user:secret -X RSET -I > log/6/stdout863 2> log/6/stderr863 863: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 863 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind863 ../src/curl -q --output log/6/curl863.out --include --trace-ascii log/6/trace863 --trace-time pop3://127.0.0.1:42225 -u user:secret -X RSET -I > log/6/stdout863 2> log/6/stderr863 === End of file commands.log === Start of file pop3_server.log 05:47:10.675639 POP3 server listens on port IPv4/42225 05:47:10.675776 logged pid 122978 in log/6/server/pop3_server.pid 05:47:10.675809 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.133863 Running IPv4 version 05:47:10.133962 Listening on port 42225 05:47:10.134002 Wrote pid 123019 to log/6/server/pop3_sockfilt.pid 05:47:10.134030 Wrote port 42225 to log/6/server/pop3_server.port 05:47:10.134052 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 863 === End of file server.cmd === Start of file valgrind863 ==123512== ==123512== Process terminating with default action of signal 4 (SIGILL) ==123512== Illegal opcode at address 0x4014883 ==123512== at 0x4014883: getparameter (tool_getparam.c:2899) ==123512== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123512== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123512== by 0x4004208: main (tool_main.c:189) === End of file valgrind863 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/pop3_server.pid" --logfile "log/3/pop3_server.log" --logdir "log/3" --portfile "log/3/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34563 (log/3/server/pop3_server.port) RUN: POP3 server is PID 123077 port 34563 * pid pop3 => 123077 123077 test 0867...[POP3 CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind867 ../src/curl -q --output log/3/curl867.out --include --trace-ascii log/3/trace867 --trace-time pop3://127.0.0.1:34563/867 -u user:secret > log/3/stdout867 2> log/3/stderr867 867: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 867 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind867 ../src/curl -q --output log/3/curl867.out --include --trace-ascii log/3/trace867 --trace-time pop3://127.0.0.1:34563/867 -u user:secret > log/3/stdout867 2> log/3/stderr867 === End of file commands.log === Start of file pop3_server.log 05:47:10.942332 POP3 server listens on port IPv4/34563 05:47:10.942498 logged pid 123077 in log/3/server/pop3_server.pid 05:47:10.942540 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.397885 Running IPv4 version 05:47:10.397983 Listening on port 34563 05:47:10.398017 Wrote pid 123119 to log/3/server/pop3_sockfilt.pid 05:47:10.398042 Wrote port 34563 to log/3/server/pop3_server.port 05:47:10.401280 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== +OK Login successful Testnum 867 === End of file server.cmd === Start of file valgrind867 ==123664== ==123664== Process terminating with default action of signal 4 (SIGILL) ==123664== Illegal opcode at address 0x4014883 ==123664== at 0x4014883: getparameter (tool_getparam.c:2899) ==123664== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123664== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123664== by 0x4004208: main (tool_main.c:189) === End of file valgrind867 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/pop3_server.pid" --logfile "log/5/pop3_server.log" --logdir "log/5" --portfile "log/5/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44395 (log/5/server/pop3_server.port) RUN: POP3 server is PID 123050 port 44395 * pid pop3 => 123050 123050 test 0864...[POP3 APOP authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind864 ../src/curl -q --output log/5/curl864.out --include --trace-ascii log/5/trace864 --trace-time pop3://127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind862 ../src/curl -q --output log/8/curl862.out --include --trace-ascii log/8/trace862 --trace-time pop3://127.0.0.1:38309 -u user:secret -X 'TOP 862 0' > log/8/stdout862 2> log/8/stderr862 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind875 ../src/curl -q --output log/16/curl875.out --include --trace-ascii log/16/trace875 --trace-time pop3://127.0.0.1:41995/%0d%0a/875 > log/16/stdout875 2> log/16/stderr875 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind870 ../src/curl -q --output log/9/curl870.out --include --trace-ascii log/9/trace870 --trace-time pop3://127.0.0.1:41753/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout870 2> log/9/stderr870 .0.1:44395/864 -u user:secret > log/5/stdout864 2> log/5/stderr864 864: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 864 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind864 ../src/curl -q --output log/5/curl864.out --include --trace-ascii log/5/trace864 --trace-time pop3://127.0.0.1:44395/864 -u user:secret > log/5/stdout864 2> log/5/stderr864 === End of file commands.log === Start of file pop3_server.log 05:47:10.771181 POP3 server listens on port IPv4/44395 05:47:10.771298 logged pid 123050 in log/5/server/pop3_server.pid 05:47:10.771332 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.231004 Running IPv4 version 05:47:10.231097 Listening on port 44395 05:47:10.231145 Wrote pid 123067 to log/5/server/pop3_sockfilt.pid 05:47:10.231178 Wrote port 44395 to log/5/server/pop3_server.port 05:47:10.232524 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA APOP REPLY welcome +OK curl POP3 server ready to serve <1972.987654321\@curl> Testnum 864 === End of file server.cmd === Start of file valgrind864 ==123552== ==123552== Process terminating with default action of signal 4 (SIGILL) ==123552== Illegal opcode at address 0x4014883 ==123552== at 0x4014883: getparameter (tool_getparam.c:2899) ==123552== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123552== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123552== by 0x4004208: main (tool_main.c:189) === End of file valgrind864 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/pop3_server.pid" --logfile "log/8/pop3_server.log" --logdir "log/8" --portfile "log/8/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38309 (log/8/server/pop3_server.port) RUN: POP3 server is PID 122965 port 38309 * pid pop3 => 122965 122965 test 0862...[POP3 retrieve message header (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind862 ../src/curl -q --output log/8/curl862.out --include --trace-ascii log/8/trace862 --trace-time pop3://127.0.0.1:38309 -u user:secret -X 'TOP 862 0' > log/8/stdout862 2> log/8/stderr862 862: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 862 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind862 ../src/curl -q --output log/8/curl862.out --include --trace-ascii log/8/trace862 --trace-time pop3://127.0.0.1:38309 -u user:secret -X 'TOP 862 0' > log/8/stdout862 2> log/8/stderr862 === End of file commands.log === Start of file pop3_server.log 05:47:10.640209 POP3 server listens on port IPv4/38309 05:47:10.640333 logged pid 122965 in log/8/server/pop3_server.pid 05:47:10.640365 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.101179 Running IPv4 version 05:47:10.101310 Listening on port 38309 05:47:10.101354 Wrote pid 123000 to log/8/server/pop3_sockfilt.pid 05:47:10.101384 Wrote port 38309 to log/8/server/pop3_server.port 05:47:10.101556 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 862 === End of file server.cmd === Start of file valgrind862 ==123485== ==123485== Process terminating with default action of signal 4 (SIGILL) ==123485== Illegal opcode at address 0x4014883 ==123485== at 0x4014883: getparameter (tool_getparam.c:2899) ==123485== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123485== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123485== by 0x4004208: main (tool_main.c:189) === End of file valgrind862 test 0875...[POP3 with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind875 ../src/curl -q --output log/16/curl875.out --include --trace-ascii log/16/trace875 --trace-time pop3://127.0.0.1:41995/%0d%0a/875 > log/16/stdout875 2> log/16/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/16/ directory after test 875 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind875 ../src/curl -q --output log/16/curl875.out --include --trace-ascii log/16/trace875 --trace-time pop3://127.0.0.1:41995/%0d%0a/875 > log/16/stdout875 2> log/16/stderr875 === End of file commands.log === Start of file pop3_server.log 05:47:12.062366 ====> Client connect 05:47:12.062588 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.065763 < "CAPA" 05:47:12.065820 > "-ERR Unrecognized command[CR][LF]" 05:47:12.069021 < "RETR verifiedserver" 05:47:12.069067 return proof we are we 05:47:12.069102 > "+OK Mail transfer starts[CR][LF]" 05:47:12.069132 > "WE ROOLZ: 122667[CR][LF]" 05:47:12.069156 > ".[CR][LF]" 05:47:12.115911 < "QUIT" 05:47:12.115981 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.117269 MAIN sockfilt said DISC 05:47:12.117305 ====> Client disconnected 05:47:12.117416 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:12.523672 ====> Client connect 05:47:12.524070 Received DATA (on stdin) 05:47:12.524090 > 164 bytes data, server => client 05:47:12.524103 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:12.524114 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:12.524123 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:12.526994 < 6 bytes data, client => server 05:47:12.527019 'CAPA\r\n' 05:47:12.527282 Received DATA (on stdin) 05:47:12.527295 > 27 bytes data, server => client 05:47:12.527306 '-ERR Unrecognized command\r\n' 05:47:12.530332 < 21 bytes data, client => server 05:47:12.530354 'RETR verifiedserver\r\n' 05:47:12.530617 Received DATA (on stdin) 05:47:12.530630 > 26 bytes data, server => client 05:47:12.530641 '+OK Mail transfer starts\r\n' 05:47:12.530674 Received DATA (on stdin) 05:47:12.530686 > 18 bytes data, server => client 05:47:12.530697 'WE ROOLZ: 122667\r\n' 05:47:12.530709 Received DATA (on stdin) 05:47:12.530719 > 3 bytes data, server => client 05:47:12.530729 '.\r\n' 05:47:12.577147 < 6 bytes data, client => server 05:47:12.577191 'QUIT\r\n' 05:47:12.577446 Received DATA (on stdin) 05:47:12.577459 > 34 bytes data, server => client 05:47:12.577471 '+OK curl POP3 server signing off\r\n' 05:47:12.578662 ====> Client disconnect 05:47:12.578884 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 875 === End of file server.cmd === Start of file valgrind875 ==123835== ==123835== Process terminating with default action of signal 4 (SIGILL) ==123835== Illegal opcode at address 0x4014883 ==123835== at 0x4014883: getparameter (tool_getparam.c:2899) ==123835== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123835== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123835== by 0x4004208: main (tool_main.c:189) === End of file valgrind875 startnew: /usr/bin/perl -I. -I/startdir/src/curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind880 ../src/curl -q --output log/11/curl880.out --include --trace-ascii log/11/trace880 --trace-time pop3://127.0.0.1:44659/880 -u user:secret > log/11/stdout880 2> log/11/stderr880 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind874 ../src/curl -q --output log/19/curl874.out --include --trace-ascii log/19/trace874 --trace-time pop3://127.0.0.1:37423/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/19/stdout874 2> log/19/stderr874 l/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/pop3_server.pid" --logfile "log/9/pop3_server.log" --logdir "log/9" --portfile "log/9/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41753 (log/9/server/pop3_server.port) RUN: POP3 server is PID 123329 port 41753 * pid pop3 => 123329 123329 test 0870...[POP3 OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind870 ../src/curl -q --output log/9/curl870.out --include --trace-ascii log/9/trace870 --trace-time pop3://127.0.0.1:41753/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout870 2> log/9/stderr870 870: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 870 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind870 ../src/curl -q --output log/9/curl870.out --include --trace-ascii log/9/trace870 --trace-time pop3://127.0.0.1:41753/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout870 2> log/9/stderr870 === End of file commands.log === Start of file pop3_server.log 05:47:11.271559 POP3 server listens on port IPv4/41753 05:47:11.271675 logged pid 123329 in log/9/server/pop3_server.pid 05:47:11.271707 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.732524 Running IPv4 version 05:47:11.732619 Listening on port 41753 05:47:11.732661 Wrote pid 123408 to log/9/server/pop3_sockfilt.pid 05:47:11.732691 Wrote port 41753 to log/9/server/pop3_server.port 05:47:11.732899 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB +OK Login successful Testnum 870 === End of file server.cmd === Start of file valgrind870 ==123891== ==123891== Process terminating with default action of signal 4 (SIGILL) ==123891== Illegal opcode at address 0x4014883 ==123891== at 0x4014883: getparameter (tool_getparam.c:2899) ==123891== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123891== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123891== by 0x4004208: main (tool_main.c:189) === End of file valgrind870 test 0880...[POP3 NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind880 ../src/curl -q --output log/11/curl880.out --include --trace-ascii log/11/trace880 --trace-time pop3://127.0.0.1:44659/880 -u user:secret > log/11/stdout880 2> log/11/stderr880 880: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 880 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind880 ../src/curl -q --output log/11/curl880.out --include --trace-ascii log/11/trace880 --trace-time pop3://127.0.0.1:44659/880 -u user:secret > log/11/stdout880 2> log/11/stderr880 === End of file commands.log === Start of file pop3_server.log 05:47:12.553786 ====> Client connect 05:47:12.553967 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.554258 < "CAPA" 05:47:12.554301 > "-ERR Unrecognized command[CR][LF]" 05:47:12.554465 < "RETR verifiedserver" 05:47:12.554495 return proof we are we 05:47:12.554516 > "+OK Mail transfer starts[CR][LF]" 05:47:12.554540 > "WE ROOLZ: 122801[CR][LF]" 05:47:12.554557 > ".[CR][LF]" 05:47:12.600332 < "QUIT" 05:47:12.600386 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.601698 MAIN sockfilt said DISC 05:47:12.601742 ====> Client disconnected 05:47:12.601834 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:12.015124 ====> Client connect 05:47:12.015434 Received DATA (on stdin) 05:47:12.015447 > 164 bytes data, server => client 05:47:12.015459 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:12.015469 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:12.015479 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:12.015551 < 6 bytes data, client => server 05:47:12.015562 'CAPA\r\n' 05:47:12.015758 Received DATA (on stdin) 05:47:12.015769 > 27 bytes data, server => client 05:47:12.015779 '-ERR Unrecognized command\r\n' 05:47:12.015832 < 21 bytes data, client => server 05:47:12.015843 'RETR verifiedserver\r\n' 05:47:12.016012 Received DATA (on stdin) 05:47:12.016023 > 26 bytes data, server => client 05:47:12.016033 '+OK Mail transfer starts\r\n' 05:47:12.016051 Received DATA (on stdin) 05:47:12.016060 > 18 bytes data, server => client 05:47:12.016069 'WE ROOLZ: 122801\r\n' 05:47:12.016080 Received DATA (on stdin) 05:47:12.016088 > 3 bytes data, server => client 05:47:12.016097 '.\r\n' 05:47:12.061631 < 6 bytes data, client => server 05:47:12.061653 'QUIT\r\n' 05:47:12.061846 Received DATA (on stdin) 05:47:12.061858 > 34 bytes data, server => client 05:47:12.061868 '+OK curl POP3 server signing off\r\n' 05:47:12.063082 ====> Client disconnect 05:47:12.063293 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM PLAIN REPLY "AUTH NTLM" + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 880 === End of file server.cmd === Start of file valgrind880 ==124311== ==124311== Process terminating with default action of signal 4 (SIGILL) ==124311== Illegal opcode at address 0x4014883 ==124311== at 0x4014883: getparameter (tool_getparam.c:2899) ==124311== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124311== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124311== by 0x4004208: main (tool_main.c:189) === End of file valgrind880 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/pop3_server.pid" --logfile "log/19/pop3_server.log" --logdir "log/19" --portfile "log/19/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37423 (log/19/server/pop3_server.port) RUN: POP3 server is PID 123435 port 37423 * pid pop3 => 123435 123435 test 0874...[POP3 OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind874 ../src/curl -q --output log/19/curl874.out --include --trace-ascii log/19/trace874 --trace-time pop3://127.0.0.1:37423/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/19/stdout874 2> log/19/stderr874 874: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 874 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind874 ../src/curl -q --output log/19/curl874.out --include --trace-ascii log/19/trace874 --trace-time pop3://127.0.0.1:37423/874 -u user --oauth2-bearer mF_9.BCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind868 ../src/curl -q --output log/7/curl868.out --include --trace-ascii log/7/trace868 --trace-time pop3://127.0.0.1:44829/868 -u testuser:testpass > log/7/stdout868 2> log/7/stderr868 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind873 ../src/curl -q --output log/12/curl873.out --include --trace-ascii log/12/trace873 --trace-time pop3://127.0.0.1:46705/873 -u testuser:testpass --sasl-ir > log/12/stdout873 2> log/12/stderr873 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind866 ../src/curl -q --output log/20/curl866.out --include --trace-ascii log/20/trace866 --trace-time pop3://127.0.0.1:37081/866 -u user:secret > log/20/stdout866 2> log/20/stderr866 5f-4.1JqM --sasl-ir > log/19/stdout874 2> log/19/stderr874 === End of file commands.log === Start of file pop3_server.log 05:47:11.419016 POP3 server listens on port IPv4/37423 05:47:11.419179 logged pid 123435 in log/19/server/pop3_server.pid 05:47:11.419219 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.871409 Running IPv4 version 05:47:11.871518 Listening on port 37423 05:47:11.871599 Wrote pid 123442 to log/19/server/pop3_sockfilt.pid 05:47:11.871631 Wrote port 37423 to log/19/server/pop3_server.port 05:47:11.876987 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH +OK Login successful Testnum 874 === End of file server.cmd === Start of file valgrind874 ==124101== ==124101== Process terminating with default action of signal 4 (SIGILL) ==124101== Illegal opcode at address 0x4014883 ==124101== at 0x4014883: getparameter (tool_getparam.c:2899) ==124101== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124101== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124101== by 0x4004208: main (tool_main.c:189) === End of file valgrind874 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/pop3_server.pid" --logfile "log/7/pop3_server.log" --logdir "log/7" --portfile "log/7/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44829 (log/7/server/pop3_server.port) RUN: POP3 server is PID 123264 port 44829 * pid pop3 => 123264 123264 test 0868...[POP3 NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind868 ../src/curl -q --output log/7/curl868.out --include --trace-ascii log/7/trace868 --trace-time pop3://127.0.0.1:44829/868 -u testuser:testpass > log/7/stdout868 2> log/7/stderr868 868: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 868 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind868 ../src/curl -q --output log/7/curl868.out --include --trace-ascii log/7/trace868 --trace-time pop3://127.0.0.1:44829/868 -u testuser:testpass > log/7/stdout868 2> log/7/stderr868 === End of file commands.log === Start of file pop3_server.log 05:47:11.189059 POP3 server listens on port IPv4/44829 05:47:11.189200 logged pid 123264 in log/7/server/pop3_server.pid 05:47:11.189237 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.641636 Running IPv4 version 05:47:11.641736 Listening on port 44829 05:47:11.641793 Wrote pid 123315 to log/7/server/pop3_sockfilt.pid 05:47:11.641820 Wrote port 44829 to log/7/server/pop3_server.port 05:47:11.650333 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 868 === End of file server.cmd === Start of file valgrind868 ==123834== ==123834== Process terminating with default action of signal 4 (SIGILL) ==123834== Illegal opcode at address 0x4014883 ==123834== at 0x4014883: getparameter (tool_getparam.c:2899) ==123834== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123834== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123834== by 0x4004208: main (tool_main.c:189) === End of file valgrind868 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/pop3_server.pid" --logfile "log/12/pop3_server.log" --logdir "log/12" --portfile "log/12/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46705 (log/12/server/pop3_server.port) RUN: POP3 server is PID 123379 port 46705 * pid pop3 => 123379 123379 test 0873...[POP3 NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind873 ../src/curl -q --output log/12/curl873.out --include --trace-ascii log/12/trace873 --trace-time pop3://127.0.0.1:46705/873 -u testuser:testpass --sasl-ir > log/12/stdout873 2> log/12/stderr873 873: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 873 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind873 ../src/curl -q --output log/12/curl873.out --include --trace-ascii log/12/trace873 --trace-time pop3://127.0.0.1:46705/873 -u testuser:testpass --sasl-ir > log/12/stdout873 2> log/12/stderr873 === End of file commands.log === Start of file pop3_server.log 05:47:11.331949 POP3 server listens on port IPv4/46705 05:47:11.332107 logged pid 123379 in log/12/server/pop3_server.pid 05:47:11.332142 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.789268 Running IPv4 version 05:47:11.789375 Listening on port 46705 05:47:11.789421 Wrote pid 123431 to log/12/server/pop3_sockfilt.pid 05:47:11.789451 Wrote port 46705 to log/12/server/pop3_server.port 05:47:11.793171 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= +OK Login successful Testnum 873 === End of file server.cmd === Start of file valgrind873 ==123958== ==123958== Process terminating with default action of signal 4 (SIGILL) ==123958== Illegal opcode at address 0x4014883 ==123958== at 0x4014883: getparameter (tool_getparam.c:2899) ==123958== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123958== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123958== by 0x4004208: main (tool_main.c:189) === End of file valgrind873 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/pop3_server.pid" --logfile "log/20/pop3_server.log" --logdir "log/20" --portfile "log/20/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37081 (log/20/server/pop3_server.port) RUN: POP3 server is PID 123076 port 37081 * pid pop3 => 123076 123076 test 0866...[POP3 login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind866 ../src/curl -q --output log/20/curl866.out --include --trace-ascii log/20/trace866 --trace-time pop3://127.0.0.1:37081/866 -u user:secret > log/20/stdout866 2> log/20/stderr866 866: protocol FAILED! There was no content at all in the fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind876 ../src/curl -q --output log/2/curl876.out --include --trace-ascii log/2/trace876 --trace-time pop3://127.0.0.1:34305/876 -u user:secret > log/2/stdout876 2> log/2/stderr876 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind879 ../src/curl -q --output log/1/curl879.out --include --trace-ascii log/1/trace879 --trace-time pop3://127.0.0.1:38531/879 -u user:secret > log/1/stdout879 2> log/1/stderr879 log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 866 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind866 ../src/curl -q --output log/20/curl866.out --include --trace-ascii log/20/trace866 --trace-time pop3://127.0.0.1:37081/866 -u user:secret > log/20/stdout866 2> log/20/stderr866 === End of file commands.log === Start of file pop3_server.log 05:47:10.919143 POP3 server listens on port IPv4/37081 05:47:10.919304 logged pid 123076 in log/20/server/pop3_server.pid 05:47:10.919339 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:10.378330 Running IPv4 version 05:47:10.378459 Listening on port 37081 05:47:10.378507 Wrote pid 123109 to log/20/server/pop3_sockfilt.pid 05:47:10.378541 Wrote port 37081 to log/20/server/pop3_server.port 05:47:10.380473 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 866 === End of file server.cmd === Start of file valgrind866 ==123672== ==123672== Process terminating with default action of signal 4 (SIGILL) ==123672== Illegal opcode at address 0x4014883 ==123672== at 0x4014883: getparameter (tool_getparam.c:2899) ==123672== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123672== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123672== by 0x4004208: main (tool_main.c:189) === End of file valgrind866 test 0876...[POP3 CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind876 ../src/curl -q --output log/2/curl876.out --include --trace-ascii log/2/trace876 --trace-time pop3://127.0.0.1:34305/876 -u user:secret > log/2/stdout876 2> log/2/stderr876 876: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 876 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind876 ../src/curl -q --output log/2/curl876.out --include --trace-ascii log/2/trace876 --trace-time pop3://127.0.0.1:34305/876 -u user:secret > log/2/stdout876 2> log/2/stderr876 === End of file commands.log === Start of file pop3_server.log 05:47:12.239275 ====> Client connect 05:47:12.239444 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.240524 < "CAPA" 05:47:12.240570 > "-ERR Unrecognized command[CR][LF]" 05:47:12.240726 < "RETR verifiedserver" 05:47:12.240750 return proof we are we 05:47:12.240769 > "+OK Mail transfer starts[CR][LF]" 05:47:12.240788 > "WE ROOLZ: 102651[CR][LF]" 05:47:12.240803 > ".[CR][LF]" 05:47:12.289248 < "QUIT" 05:47:12.289311 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.292792 MAIN sockfilt said DISC 05:47:12.292847 ====> Client disconnected 05:47:12.292946 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:12.700347 ====> Client connect 05:47:12.700910 Received DATA (on stdin) 05:47:12.700925 > 164 bytes data, server => client 05:47:12.700935 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:12.700945 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:12.700953 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:12.701808 < 6 bytes data, client => server 05:47:12.701825 'CAPA\r\n' 05:47:12.702028 Received DATA (on stdin) 05:47:12.702039 > 27 bytes data, server => client 05:47:12.702048 '-ERR Unrecognized command\r\n' 05:47:12.702097 < 21 bytes data, client => server 05:47:12.702107 'RETR verifiedserver\r\n' 05:47:12.702256 Received DATA (on stdin) 05:47:12.702266 > 26 bytes data, server => client 05:47:12.702274 '+OK Mail transfer starts\r\n' 05:47:12.702292 Received DATA (on stdin) 05:47:12.702301 > 18 bytes data, server => client 05:47:12.702311 'WE ROOLZ: 102651\r\n' 05:47:12.702323 Received DATA (on stdin) 05:47:12.702332 > 3 bytes data, server => client 05:47:12.702341 '.\r\n' 05:47:12.750480 < 6 bytes data, client => server 05:47:12.750521 'QUIT\r\n' 05:47:12.750773 Received DATA (on stdin) 05:47:12.750785 > 34 bytes data, server => client 05:47:12.750796 '+OK curl POP3 server signing off\r\n' 05:47:12.753930 ====> Client disconnect 05:47:12.754409 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 876 === End of file server.cmd === Start of file valgrind876 ==124115== ==124115== Process terminating with default action of signal 4 (SIGILL) ==124115== Illegal opcode at address 0x4014883 ==124115== at 0x4014883: getparameter (tool_getparam.c:2899) ==124115== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124115== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124115== by 0x4004208: main (tool_main.c:189) === End of file valgrind876 test 0879...[POP3 CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind879 ../src/curl -q --output log/1/curl879.out --include --trace-ascii log/1/trace879 --trace-time pop3://127.0.0.1:38531/879 -u user:secret > log/1/stdout879 2> log/1/stderr879 879: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 879 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind879 ../src/curl -q --output log/1/curl879.out --include --trace-ascii log/1/trace879 --trace-time pop3://127.0.0.1:38531/879 -u user:secret > log/1/stdout879 2> log/1/stderr879 === End of file commands.log === Start of file pop3_server.log 05:47:12.532382 ====> Client connect 05:47:12.532577 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.535883 < "CAPA" 05:47:12.535951 > "-ERR Unrecognized command[CR][LF]" 05:47:12.536149 < "RETR verifiedserver" 05:47:12.536184 return proof we are we 05:47:12.536209 > "+OK Mail transfer starts[CR][LF]" 05:47:12.536235 > "WE ROOLZ: 122738[CR][LF]" 05:47:12.536254 > ".[CR][LF]" 05:47:12.582532 < "QUIT" 05:47:12.582604 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.583629 MAIN sockfilt said DISC 05:47:12.583666 ====> Client disconnected 05:47:12.583778 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.993684 ====> Client connect 05:47:11.994075 Received DATA (on stdin) 05:47:11.994093 > 164 bytes data, server => client 05:47:11.994104 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:11.994114 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:11.994124 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:11.997081 < 6 bytes data, client => server 05:47:11.997112 'CAPA\r\n' 05:47:11.997415 Received DATA (on stdin) 05:47:11.997429 > 27 bytes data, server => client 05:47:11.997440 '-ERR Unrecognized command\r\n' 05:47:11.997501 < 21 bytes data, client => server 05:47:11.997514 'RETCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind872 ../src/curl -q --output log/23/curl872.out --include --trace-ascii log/23/trace872 --trace-time pop3://127.0.0.1:35233/872 -u user:secret --sasl-ir > log/23/stdout872 2> log/23/stderr872 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind883 ../src/curl -q --output log/21/curl883.out --include --trace-ascii log/21/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38501/883' > log/21/stdout883 2> log/21/stderr883 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind884 ../src/curl -q --output log/10/curl884.out --include --trace-ascii log/10/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:38925/884' > log/10/stdout884 2> log/10/stderr884 R verifiedserver\r\n' 05:47:11.997712 Received DATA (on stdin) 05:47:11.997724 > 26 bytes data, server => client 05:47:11.997735 '+OK Mail transfer starts\r\n' 05:47:11.997758 Received DATA (on stdin) 05:47:11.997768 > 18 bytes data, server => client 05:47:11.997778 'WE ROOLZ: 122738\r\n' 05:47:11.997791 Received DATA (on stdin) 05:47:11.997800 > 3 bytes data, server => client 05:47:11.997810 '.\r\n' 05:47:12.043782 < 6 bytes data, client => server 05:47:12.043811 'QUIT\r\n' 05:47:12.044070 Received DATA (on stdin) 05:47:12.044084 > 34 bytes data, server => client 05:47:12.044095 '+OK curl POP3 server signing off\r\n' 05:47:12.045021 ====> Client disconnect 05:47:12.045252 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 879 === End of file server.cmd === Start of file valgrind879 ==124308== ==124308== Process terminating with default action of signal 4 (SIGILL) ==124308== Illegal opcode at address 0x4014883 ==124308== at 0x4014883: getparameter (tool_getparam.c:2899) ==124308== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124308== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124308== by 0x4004208: main (tool_main.c:189) === End of file valgrind879 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/pop3_server.pid" --logfile "log/23/pop3_server.log" --logdir "log/23" --portfile "log/23/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35233 (log/23/server/pop3_server.port) RUN: POP3 server is PID 123346 port 35233 * pid pop3 => 123346 123346 test 0872...[POP3 login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind872 ../src/curl -q --output log/23/curl872.out --include --trace-ascii log/23/trace872 --trace-time pop3://127.0.0.1:35233/872 -u user:secret --sasl-ir > log/23/stdout872 2> log/23/stderr872 872: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 872 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind872 ../src/curl -q --output log/23/curl872.out --include --trace-ascii log/23/trace872 --trace-time pop3://127.0.0.1:35233/872 -u user:secret --sasl-ir > log/23/stdout872 2> log/23/stderr872 === End of file commands.log === Start of file pop3_server.log 05:47:11.286518 POP3 server listens on port IPv4/35233 05:47:11.286632 logged pid 123346 in log/23/server/pop3_server.pid 05:47:11.286663 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.746344 Running IPv4 version 05:47:11.746447 Listening on port 35233 05:47:11.746497 Wrote pid 123415 to log/23/server/pop3_sockfilt.pid 05:47:11.746529 Wrote port 35233 to log/23/server/pop3_server.port 05:47:11.747829 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 872 === End of file server.cmd === Start of file valgrind872 ==123911== ==123911== Process terminating with default action of signal 4 (SIGILL) ==123911== Illegal opcode at address 0x4014883 ==123911== at 0x4014883: getparameter (tool_getparam.c:2899) ==123911== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123911== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123911== by 0x4004208: main (tool_main.c:189) === End of file valgrind872 test 0883...[POP3 external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind883 ../src/curl -q --output log/21/curl883.out --include --trace-ascii log/21/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38501/883' > log/21/stdout883 2> log/21/stderr883 883: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 883 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind883 ../src/curl -q --output log/21/curl883.out --include --trace-ascii log/21/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38501/883' > log/21/stdout883 2> log/21/stderr883 === End of file commands.log === Start of file pop3_server.log 05:47:12.598849 ====> Client connect 05:47:12.599070 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.599579 < "CAPA" 05:47:12.599629 > "-ERR Unrecognized command[CR][LF]" 05:47:12.599810 < "RETR verifiedserver" 05:47:12.599841 return proof we are we 05:47:12.599865 > "+OK Mail transfer starts[CR][LF]" 05:47:12.599888 > "WE ROOLZ: 122804[CR][LF]" 05:47:12.599906 > ".[CR][LF]" 05:47:12.649418 < "QUIT" 05:47:12.649480 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.650749 MAIN sockfilt said DISC 05:47:12.650789 ====> Client disconnected 05:47:12.650885 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:12.060210 ====> Client connect 05:47:12.060554 Received DATA (on stdin) 05:47:12.060570 > 164 bytes data, server => client 05:47:12.060581 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:12.060590 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:12.060599 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:12.060861 < 6 bytes data, client => server 05:47:12.060877 'CAPA\r\n' 05:47:12.061087 Received DATA (on stdin) 05:47:12.061098 > 27 bytes data, server => client 05:47:12.061107 '-ERR Unrecognized command\r\n' 05:47:12.061164 < 21 bytes data, client => server 05:47:12.061174 'RETR verifiedserver\r\n' 05:47:12.061361 Received DATA (on stdin) 05:47:12.061370 > 26 bytes data, server => client 05:47:12.061379 '+OK Mail transfer starts\r\n' 05:47:12.061398 Received DATA (on stdin) 05:47:12.061406 > 18 bytes data, server => client 05:47:12.061415 'WE ROOLZ: 122804\r\n' 05:47:12.061426 Received DATA (on stdin) 05:47:12.061434 > 3 bytes data, server => client 05:47:12.061442 '.\r\n' 05:47:12.110697 < 6 bytes data, client => server 05:47:12.110725 'QUIT\r\n' 05:47:12.110943 Received DATA (on stdin) 05:47:12.110956 > 34 bytes data, server => client 05:47:12.110967 '+OK curl POP3 server signing off\r\n' 05:47:12.111416 ====> Client disconnect 05:47:12.112348 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY dXNlcg== +OK Login successful Testnum 883 === End of file server.cmd === Start of file valgrind883 ==124361== ==124361== Process terminating with default action of signal 4 (SIGILL) ==124361== Illegal opcode at address 0x4014883 ==124361== at 0x4014883: getparameter (tool_getparam.c:2899) ==124361== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124361== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124361== by 0x4004208: main (tool_main.c:189) === End of file valgrind883 test 0884...[POP3 external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind871 ../src/curl -q --output log/17/curl871.out --include --trace-ascii log/17/trace871 --trace-time pop3://127.0.0.1:37151/871 -u user:secret --sasl-ir > log/17/stdout871 2> log/17/stderr871 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind885 ../src/curl -q --output log/22/curl885.out --include --trace-ascii log/22/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:46043/885' --sasl-ir > log/22/stdout885 2> log/22/stderr885 valgrind.supp --num-callers=16 --log-file=log/10/valgrind884 ../src/curl -q --output log/10/curl884.out --include --trace-ascii log/10/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:38925/884' > log/10/stdout884 2> log/10/stderr884 884: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 884 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind884 ../src/curl -q --output log/10/curl884.out --include --trace-ascii log/10/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:38925/884' > log/10/stdout884 2> log/10/stderr884 === End of file commands.log === Start of file pop3_server.log 05:47:12.718937 ====> Client connect 05:47:12.719193 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.722740 < "CAPA" 05:47:12.722811 > "-ERR Unrecognized command[CR][LF]" 05:47:12.723042 < "RETR verifiedserver" 05:47:12.723080 return proof we are we 05:47:12.723108 > "+OK Mail transfer starts[CR][LF]" 05:47:12.723132 > "WE ROOLZ: 122807[CR][LF]" 05:47:12.723151 > ".[CR][LF]" 05:47:12.770111 < "QUIT" 05:47:12.770185 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.771802 MAIN sockfilt said DISC 05:47:12.771842 ====> Client disconnected 05:47:12.771963 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:12.173692 ====> Client connect 05:47:12.183673 Received DATA (on stdin) 05:47:12.183713 > 164 bytes data, server => client 05:47:12.183726 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:12.183741 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:12.183751 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:12.183932 < 6 bytes data, client => server 05:47:12.183965 'CAPA\r\n' 05:47:12.184278 Received DATA (on stdin) 05:47:12.184294 > 27 bytes data, server => client 05:47:12.184305 '-ERR Unrecognized command\r\n' 05:47:12.184376 < 21 bytes data, client => server 05:47:12.184389 'RETR verifiedserver\r\n' 05:47:12.184610 Received DATA (on stdin) 05:47:12.184623 > 26 bytes data, server => client 05:47:12.184633 '+OK Mail transfer starts\r\n' 05:47:12.184655 Received DATA (on stdin) 05:47:12.184665 > 18 bytes data, server => client 05:47:12.184675 'WE ROOLZ: 122807\r\n' 05:47:12.184689 Received DATA (on stdin) 05:47:12.184698 > 3 bytes data, server => client 05:47:12.184708 '.\r\n' 05:47:12.231333 < 6 bytes data, client => server 05:47:12.231370 'QUIT\r\n' 05:47:12.231660 Received DATA (on stdin) 05:47:12.231678 > 34 bytes data, server => client 05:47:12.231690 '+OK curl POP3 server signing off\r\n' 05:47:12.233190 ====> Client disconnect 05:47:12.233434 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY = +OK Login successful Testnum 884 === End of file server.cmd === Start of file valgrind884 ==124492== ==124492== Process terminating with default action of signal 4 (SIGILL) ==124492== Illegal opcode at address 0x4014883 ==124492== at 0x4014883: getparameter (tool_getparam.c:2899) ==124492== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124492== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124492== by 0x4004208: main (tool_main.c:189) === End of file valgrind884 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/pop3_server.pid" --logfile "log/17/pop3_server.log" --logdir "log/17" --portfile "log/17/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37151 (log/17/server/pop3_server.port) RUN: POP3 server is PID 123341 port 37151 * pid pop3 => 123341 123341 test 0871...[POP3 plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind871 ../src/curl -q --output log/17/curl871.out --include --trace-ascii log/17/trace871 --trace-time pop3://127.0.0.1:37151/871 -u user:secret --sasl-ir > log/17/stdout871 2> log/17/stderr871 871: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 871 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind871 ../src/curl -q --output log/17/curl871.out --include --trace-ascii log/17/trace871 --trace-time pop3://127.0.0.1:37151/871 -u user:secret --sasl-ir > log/17/stdout871 2> log/17/stderr871 === End of file commands.log === Start of file pop3_server.log 05:47:11.265889 POP3 server listens on port IPv4/37151 05:47:11.266034 logged pid 123341 in log/17/server/pop3_server.pid 05:47:11.266075 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.724805 Running IPv4 version 05:47:11.724915 Listening on port 37151 05:47:11.724958 Wrote pid 123399 to log/17/server/pop3_sockfilt.pid 05:47:11.724985 Wrote port 37151 to log/17/server/pop3_server.port 05:47:11.727217 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH +OK Login successful Testnum 871 === End of file server.cmd === Start of file valgrind871 ==123929== ==123929== Process terminating with default action of signal 4 (SIGILL) ==123929== Illegal opcode at address 0x4014883 ==123929== at 0x4014883: getparameter (tool_getparam.c:2899) ==123929== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==123929== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==123929== by 0x4004208: main (tool_main.c:189) === End of file valgrind871 test 0885...[POP3 external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind885 ../src/curl -q --output log/22/curl885.out --include --trace-ascii log/22/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:46043/885' --sasl-ir > log/22/stdout885 2> log/22/stderr885 885: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 885 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind885 ../src/curl -q --output log/22/curl885.out --include --trace-ascii log/22/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:46043/885' --sasl-ir > log/22/stdout885 2> log/22/stderr885 === End of file commands.log === Start of file pop3_server.log 05:47:12.938474 ====> Client connect 05:47:12.938658 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.938991 < "CAPA" 05:47:12.939033 > "-ERR Unrecognized command[CR][LF]" 05:47:12.939204 < "RETR verifiedserver" 05:47:12.939235 return proof we are we 05:47:12.939256 > "+OK Mail transfer starts[CR][LF]" 05:47:12.939279 > "WE ROOLZ: 122810[CR][LF]" 05:47:12.939296 > ".[CR][LF]" 05:47:12.982925 < "QUIT" 05:47:12.982988 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.986037 MAIN sockfilt said DISC 05:47:12.986117 ====> Client disconnected 05:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind877 ../src/curl -q --output log/15/curl877.out --include --trace-ascii log/15/trace877 --trace-time pop3://127.0.0.1:36097/877 -u testuser:testpass > log/15/stdout877 2> log/15/stderr877 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind887 ../src/curl -q --output log/4/curl887.out --include --trace-ascii log/4/trace887 --trace-time pop3://127.0.0.1:40131/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout887 2> log/4/stderr887 47:12.986214 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.399799 ====> Client connect 05:47:13.400135 Received DATA (on stdin) 05:47:13.400148 > 164 bytes data, server => client 05:47:13.400160 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.400170 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.400179 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.400261 < 6 bytes data, client => server 05:47:13.400272 'CAPA\r\n' 05:47:13.400491 Received DATA (on stdin) 05:47:13.400503 > 27 bytes data, server => client 05:47:13.400513 '-ERR Unrecognized command\r\n' 05:47:13.400566 < 21 bytes data, client => server 05:47:13.400578 'RETR verifiedserver\r\n' 05:47:13.400751 Received DATA (on stdin) 05:47:13.400762 > 26 bytes data, server => client 05:47:13.400771 '+OK Mail transfer starts\r\n' 05:47:13.400791 Received DATA (on stdin) 05:47:13.400800 > 18 bytes data, server => client 05:47:13.400810 'WE ROOLZ: 122810\r\n' 05:47:13.400822 Received DATA (on stdin) 05:47:13.400831 > 3 bytes data, server => client 05:47:13.400840 '.\r\n' 05:47:13.444158 < 6 bytes data, client => server 05:47:13.444202 'QUIT\r\n' 05:47:13.444449 Received DATA (on stdin) 05:47:13.444460 > 34 bytes data, server => client 05:47:13.444471 '+OK curl POP3 server signing off\r\n' 05:47:13.446999 ====> Client disconnect 05:47:13.447680 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 885 === End of file server.cmd === Start of file valgrind885 ==124628== ==124628== Process terminating with default action of signal 4 (SIGILL) ==124628== Illegal opcode at address 0x4014883 ==124628== at 0x4014883: getparameter (tool_getparam.c:2899) ==124628== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124628== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124628== by 0x4004208: main (tool_main.c:189) === End of file valgrind885 test 0877...[POP3 NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind877 ../src/curl -q --output log/15/curl877.out --include --trace-ascii log/15/trace877 --trace-time pop3://127.0.0.1:36097/877 -u testuser:testpass > log/15/stdout877 2> log/15/stderr877 877: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 877 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind877 ../src/curl -q --output log/15/curl877.out --include --trace-ascii log/15/trace877 --trace-time pop3://127.0.0.1:36097/877 -u testuser:testpass > log/15/stdout877 2> log/15/stderr877 === End of file commands.log === Start of file pop3_server.log 05:47:12.524376 ====> Client connect 05:47:12.524590 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.529272 < "CAPA" 05:47:12.529337 > "-ERR Unrecognized command[CR][LF]" 05:47:12.529532 < "RETR verifiedserver" 05:47:12.529567 return proof we are we 05:47:12.529591 > "+OK Mail transfer starts[CR][LF]" 05:47:12.529617 > "WE ROOLZ: 122742[CR][LF]" 05:47:12.529636 > ".[CR][LF]" 05:47:12.576129 < "QUIT" 05:47:12.576191 > "+OK curl POP3 server signing off[CR][LF]" 05:47:12.588902 MAIN sockfilt said DISC 05:47:12.588976 ====> Client disconnected 05:47:12.589067 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:11.985705 ====> Client connect 05:47:11.990332 Received DATA (on stdin) 05:47:11.990367 > 164 bytes data, server => client 05:47:11.990379 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:11.990390 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:11.990399 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:11.990504 < 6 bytes data, client => server 05:47:11.990515 'CAPA\r\n' 05:47:11.990804 Received DATA (on stdin) 05:47:11.990817 > 27 bytes data, server => client 05:47:11.990828 '-ERR Unrecognized command\r\n' 05:47:11.990886 < 21 bytes data, client => server 05:47:11.990899 'RETR verifiedserver\r\n' 05:47:11.991095 Received DATA (on stdin) 05:47:11.991107 > 26 bytes data, server => client 05:47:11.991118 '+OK Mail transfer starts\r\n' 05:47:11.991140 Received DATA (on stdin) 05:47:11.991151 > 18 bytes data, server => client 05:47:11.991161 'WE ROOLZ: 122742\r\n' 05:47:11.991174 Received DATA (on stdin) 05:47:11.991183 > 3 bytes data, server => client 05:47:11.991193 '.\r\n' 05:47:12.037381 < 6 bytes data, client => server 05:47:12.037412 'QUIT\r\n' 05:47:12.037653 Received DATA (on stdin) 05:47:12.037666 > 34 bytes data, server => client 05:47:12.037677 '+OK curl POP3 server signing off\r\n' 05:47:12.045277 ====> Client disconnect 05:47:12.050537 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH NTLM REPLY AUTH + REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 877 === End of file server.cmd === Start of file valgrind877 ==124332== ==124332== Process terminating with default action of signal 4 (SIGILL) ==124332== Illegal opcode at address 0x4014883 ==124332== at 0x4014883: getparameter (tool_getparam.c:2899) ==124332== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124332== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124332== by 0x4004208: main (tool_main.c:189) === End of file valgrind877 test 0887...[POP3 OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind887 ../src/curl -q --output log/4/curl887.out --include --trace-ascii log/4/trace887 --trace-time pop3://127.0.0.1:40131/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout887 2> log/4/stderr887 887: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 887 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind887 ../src/curl -q --output log/4/curl887.out --include --trace-ascii log/4/trace887 --trace-time pop3://127.0.0.1:40131/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout887 2> log/4/stderr887 === End of file commands.log === Start of file pop3_server.log 05:47:13.024096 ====> Client connect 05:47:13.024308 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:13.024670 < "CAPA" 05:47:13.024722 > "-ERR Unrecognized command[CR][LF]" 05:47:13.024926 < "RETR verifiedserver" 05:47:13.024964 return proof we are we 05:47:13.024992 > "+OK Mail transfer starts[CR][LF]" 05:47:13.025023 > "WE ROOLZ: 122820[CR][LF]" 05:47:13.025045 > ".[CR][LF]" 05:47:13.069291 < "QUIT" 05:47:13.069360 > "+OK curl POP3 server signing off[CR][LF]" 05:47:13.070699 MAIN sockfilt said DISC 05:47:13.070732 ====> Client disconnected 05:47:13.070828 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.485414 ====> Client connect 05:47:13.485796 Received DATA (on stdin) 05:47:13.485814 > 164 bytes data, server => client 05:47:13.485826 ' _ _ ____ _\r\n ___| | | | _ \| |\rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind886 ../src/curl -q --output log/24/curl886.out --include --trace-ascii log/24/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:43813/886' --sasl-ir > log/24/stdout886 2> log/24/stderr886 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind888 ../src/curl -q --output log/13/curl888.out --include --trace-ascii log/13/trace888 --trace-time pop3://127.0.0.1:33489/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/13/stdout888 2> log/13/stderr888 \n / __| |' 05:47:13.485837 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.485847 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.485934 < 6 bytes data, client => server 05:47:13.485951 'CAPA\r\n' 05:47:13.486190 Received DATA (on stdin) 05:47:13.486203 > 27 bytes data, server => client 05:47:13.486214 '-ERR Unrecognized command\r\n' 05:47:13.486274 < 21 bytes data, client => server 05:47:13.486288 'RETR verifiedserver\r\n' 05:47:13.486507 Received DATA (on stdin) 05:47:13.486520 > 26 bytes data, server => client 05:47:13.486531 '+OK Mail transfer starts\r\n' 05:47:13.486554 Received DATA (on stdin) 05:47:13.486563 > 18 bytes data, server => client 05:47:13.486571 'WE ROOLZ: 122820\r\n' 05:47:13.486583 Received DATA (on stdin) 05:47:13.486591 > 3 bytes data, server => client 05:47:13.486599 '.\r\n' 05:47:13.530531 < 6 bytes data, client => server 05:47:13.530572 'QUIT\r\n' 05:47:13.530827 Received DATA (on stdin) 05:47:13.530840 > 34 bytes data, server => client 05:47:13.530851 '+OK curl POP3 server signing off\r\n' 05:47:13.532092 ====> Client disconnect 05:47:13.532300 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDAxMzEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==124666== ==124666== Process terminating with default action of signal 4 (SIGILL) ==124666== Illegal opcode at address 0x4014883 ==124666== at 0x4014883: getparameter (tool_getparam.c:2899) ==124666== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124666== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124666== by 0x4004208: main (tool_main.c:189) === End of file valgrind887 test 0886...[POP3 external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind886 ../src/curl -q --output log/24/curl886.out --include --trace-ascii log/24/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:43813/886' --sasl-ir > log/24/stdout886 2> log/24/stderr886 886: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 886 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind886 ../src/curl -q --output log/24/curl886.out --include --trace-ascii log/24/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:43813/886' --sasl-ir > log/24/stdout886 2> log/24/stderr886 === End of file commands.log === Start of file pop3_server.log 05:47:12.948905 ====> Client connect 05:47:12.949185 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:12.955926 < "CAPA" 05:47:12.955993 > "-ERR Unrecognized command[CR][LF]" 05:47:12.956194 < "RETR verifiedserver" 05:47:12.956226 return proof we are we 05:47:12.956247 > "+OK Mail transfer starts[CR][LF]" 05:47:12.956270 > "WE ROOLZ: 122823[CR][LF]" 05:47:12.956287 > ".[CR][LF]" 05:47:13.012492 < "QUIT" 05:47:13.012557 > "+OK curl POP3 server signing off[CR][LF]" 05:47:13.018972 MAIN sockfilt said DISC 05:47:13.019036 ====> Client disconnected 05:47:13.019117 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.400333 ====> Client connect 05:47:13.414098 Received DATA (on stdin) 05:47:13.414136 > 164 bytes data, server => client 05:47:13.414147 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.414157 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.414166 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.417098 < 6 bytes data, client => server 05:47:13.417131 'CAPA\r\n' 05:47:13.417452 Received DATA (on stdin) 05:47:13.417464 > 27 bytes data, server => client 05:47:13.417475 '-ERR Unrecognized command\r\n' 05:47:13.417561 < 21 bytes data, client => server 05:47:13.417572 'RETR verifiedserver\r\n' 05:47:13.417743 Received DATA (on stdin) 05:47:13.417753 > 26 bytes data, server => client 05:47:13.417763 '+OK Mail transfer starts\r\n' 05:47:13.417782 Received DATA (on stdin) 05:47:13.417792 > 18 bytes data, server => client 05:47:13.417801 'WE ROOLZ: 122823\r\n' 05:47:13.417813 Received DATA (on stdin) 05:47:13.417822 > 3 bytes data, server => client 05:47:13.417832 '.\r\n' 05:47:13.473788 < 6 bytes data, client => server 05:47:13.473837 'QUIT\r\n' 05:47:13.474017 Received DATA (on stdin) 05:47:13.474028 > 34 bytes data, server => client 05:47:13.474038 '+OK curl POP3 server signing off\r\n' 05:47:13.480331 ====> Client disconnect 05:47:13.480586 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 886 === End of file server.cmd === Start of file valgrind886 ==124659== ==124659== Process terminating with default action of signal 4 (SIGILL) ==124659== Illegal opcode at address 0x4014883 ==124659== at 0x4014883: getparameter (tool_getparam.c:2899) ==124659== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124659== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124659== by 0x4004208: main (tool_main.c:189) === End of file valgrind886 test 0888...[POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind888 ../src/curl -q --output log/13/curl888.out --include --trace-ascii log/13/trace888 --trace-time pop3://127.0.0.1:33489/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/13/stdout888 2> log/13/stderr888 888: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 888 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind888 ../src/curl -q --output log/13/curl888.out --include --trace-ascii log/13/trace888 --trace-time pop3://127.0.0.1:33489/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/13/stdout888 2> log/13/stderr888 === End of file commands.log === Start of file pop3_server.log 05:47:13.072089 ====> Client connect 05:47:13.072312 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:13.072659 < "CAPA" 05:47:13.072716 > "-ERR Unrecognized command[CR][LF]" 05:47:13.072924 < "RETR verifiedserver" 05:47:13.072960 return proof we are we 05:47:13.072986 > "+OK Mail transfer starts[CR][LF]" 05:47:13.073015 > "WE ROOLZ: 122822[CR][LF]" 05:47:13.073036 > ".[CR][LF]" 05:47:13.122463 < "QUIT" 05:47:13.122523 > "+OK curl POP3 server signing off[CR][LF]" 05:47:13.123774 MAIN sockfilt said DISC 05:47:13.123816 ====> Client disconnected 05:47:13.123903 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.533425 ====> Client connect 05:47:13.533797 Received DATA (on stdin) 05:47:13.533816 > 164 bytes data, server => client 05:47:13.533829 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.533840 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.533850 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind889 ../src/curl -q --output log/14/curl889.out --include --trace-ascii log/14/trace889 --trace-time pop3://127.0.0.1:38897/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout889 2> log/14/stderr889 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind890 ../src/curl -q --output log/18/curl890.out --include --trace-ascii log/18/trace890 --trace-time pop3://127.0.0.1:39519/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/18/stdout890 2> log/18/stderr890 13.533939 < 6 bytes data, client => server 05:47:13.533954 'CAPA\r\n' 05:47:13.534181 Received DATA (on stdin) 05:47:13.534194 > 27 bytes data, server => client 05:47:13.534206 '-ERR Unrecognized command\r\n' 05:47:13.534267 < 21 bytes data, client => server 05:47:13.534281 'RETR verifiedserver\r\n' 05:47:13.534496 Received DATA (on stdin) 05:47:13.534509 > 26 bytes data, server => client 05:47:13.534519 '+OK Mail transfer starts\r\n' 05:47:13.534543 Received DATA (on stdin) 05:47:13.534553 > 18 bytes data, server => client 05:47:13.534563 'WE ROOLZ: 122822\r\n' 05:47:13.534577 Received DATA (on stdin) 05:47:13.534587 > 3 bytes data, server => client 05:47:13.534597 '.\r\n' 05:47:13.583713 < 6 bytes data, client => server 05:47:13.583754 'QUIT\r\n' 05:47:13.583984 Received DATA (on stdin) 05:47:13.583996 > 34 bytes data, server => client 05:47:13.584007 '+OK curl POP3 server signing off\r\n' 05:47:13.585160 ====> Client disconnect 05:47:13.585361 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH +OK Login successful Testnum 888 === End of file server.cmd === Start of file valgrind888 ==124698== ==124698== Process terminating with default action of signal 4 (SIGILL) ==124698== Illegal opcode at address 0x4014883 ==124698== at 0x4014883: getparameter (tool_getparam.c:2899) ==124698== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124698== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124698== by 0x4004208: main (tool_main.c:189) === End of file valgrind888 test 0889...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind889 ../src/curl -q --output log/14/curl889.out --include --trace-ascii log/14/trace889 --trace-time pop3://127.0.0.1:38897/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout889 2> log/14/stderr889 889: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 889 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind889 ../src/curl -q --output log/14/curl889.out --include --trace-ascii log/14/trace889 --trace-time pop3://127.0.0.1:38897/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout889 2> log/14/stderr889 === End of file commands.log === Start of file pop3_server.log 05:47:13.595574 ====> Client connect 05:47:13.595847 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:13.599269 < "CAPA" 05:47:13.599334 > "-ERR Unrecognized command[CR][LF]" 05:47:13.599508 < "RETR verifiedserver" 05:47:13.599539 return proof we are we 05:47:13.599560 > "+OK Mail transfer starts[CR][LF]" 05:47:13.599584 > "WE ROOLZ: 122949[CR][LF]" 05:47:13.599602 > ".[CR][LF]" 05:47:13.645933 < "QUIT" 05:47:13.646002 > "+OK curl POP3 server signing off[CR][LF]" 05:47:13.647482 MAIN sockfilt said DISC 05:47:13.647538 ====> Client disconnected 05:47:13.647653 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.053684 ====> Client connect 05:47:13.057330 Received DATA (on stdin) 05:47:13.057354 > 164 bytes data, server => client 05:47:13.057366 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.057376 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.057385 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.060441 < 6 bytes data, client => server 05:47:13.060480 'CAPA\r\n' 05:47:13.060794 Received DATA (on stdin) 05:47:13.060806 > 27 bytes data, server => client 05:47:13.060817 '-ERR Unrecognized command\r\n' 05:47:13.060873 < 21 bytes data, client => server 05:47:13.060884 'RETR verifiedserver\r\n' 05:47:13.061056 Received DATA (on stdin) 05:47:13.061066 > 26 bytes data, server => client 05:47:13.061076 '+OK Mail transfer starts\r\n' 05:47:13.061095 Received DATA (on stdin) 05:47:13.061105 > 18 bytes data, server => client 05:47:13.061115 'WE ROOLZ: 122949\r\n' 05:47:13.061127 Received DATA (on stdin) 05:47:13.061136 > 3 bytes data, server => client 05:47:13.061146 '.\r\n' 05:47:13.107151 < 6 bytes data, client => server 05:47:13.107199 'QUIT\r\n' 05:47:13.107463 Received DATA (on stdin) 05:47:13.107476 > 34 bytes data, server => client 05:47:13.107487 '+OK curl POP3 server signing off\r\n' 05:47:13.108857 ====> Client disconnect 05:47:13.109123 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzg4OTcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==124883== ==124883== Process terminating with default action of signal 4 (SIGILL) ==124883== Illegal opcode at address 0x4014883 ==124883== at 0x4014883: getparameter (tool_getparam.c:2899) ==124883== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124883== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124883== by 0x4004208: main (tool_main.c:189) === End of file valgrind889 test 0890...[POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind890 ../src/curl -q --output log/18/curl890.out --include --trace-ascii log/18/trace890 --trace-time pop3://127.0.0.1:39519/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/18/stdout890 2> log/18/stderr890 890: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 890 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind890 ../src/curl -q --output log/18/curl890.out --include --trace-ascii log/18/trace890 --trace-time pop3://127.0.0.1:39519/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/18/stdout890 2> log/18/stderr890 === End of file commands.log === Start of file pop3_server.log 05:47:13.898900 ====> Client connect 05:47:13.899155 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:13.899578 < "CAPA" 05:47:13.899630 > "-ERR Unrecognized command[CR][LF]" 05:47:13.899826 < "RETR verifiedserver" 05:47:13.899865 return proof we are we 05:47:13.899892 > "+OK Mail transfer starts[CR][LF]" 05:47:13.899920 > "WE ROOLZ: 123054[CR][LF]" 05:47:13.899941 > ".[CR][LF]" 05:47:13.949141 < "QUIT" 05:47:13.949219 > "+OK curl POP3 server signing off[CR][LF]" 05:47:13.950700 MAIN sockfilt said DISC 05:47:13.950744 ====> Client disconnected 05:47:13.950831 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.353671 ====> Client connect 05:47:13.360639 Received DATA (on stdin) 05:47:13.360665 > 164 bytes data, server => client 05:47:13.360678 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.360689 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.360699 ' \_\_____|\r\n+OK curl POPCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind891 ../src/curl -q --output log/6/curl891.out --include --trace-ascii log/6/trace891 --trace-time pop3://127.0.0.1:42225/891 -u user:secret > log/6/stdout891 2> log/6/stderr891 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind892 ../src/curl -q --output log/3/curl892.out --include --trace-ascii log/3/trace892 --trace-time pop3://127.0.0.1:34563/892 -u user:secret --sasl-authzid shared-mailbox > log/3/stdout892 2> log/3/stderr892 3 server ready to serve \r\n' 05:47:13.360842 < 6 bytes data, client => server 05:47:13.360859 'CAPA\r\n' 05:47:13.361092 Received DATA (on stdin) 05:47:13.361105 > 27 bytes data, server => client 05:47:13.361116 '-ERR Unrecognized command\r\n' 05:47:13.361178 < 21 bytes data, client => server 05:47:13.361192 'RETR verifiedserver\r\n' 05:47:13.361399 Received DATA (on stdin) 05:47:13.361412 > 26 bytes data, server => client 05:47:13.361422 '+OK Mail transfer starts\r\n' 05:47:13.361445 Received DATA (on stdin) 05:47:13.361456 > 18 bytes data, server => client 05:47:13.361467 'WE ROOLZ: 123054\r\n' 05:47:13.361480 Received DATA (on stdin) 05:47:13.361490 > 3 bytes data, server => client 05:47:13.361500 '.\r\n' 05:47:13.410352 < 6 bytes data, client => server 05:47:13.410399 'QUIT\r\n' 05:47:13.410683 Received DATA (on stdin) 05:47:13.410696 > 34 bytes data, server => client 05:47:13.410707 '+OK curl POP3 server signing off\r\n' 05:47:13.412085 ====> Client disconnect 05:47:13.412294 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 890 === End of file server.cmd === Start of file valgrind890 ==124973== ==124973== Process terminating with default action of signal 4 (SIGILL) ==124973== Illegal opcode at address 0x4014883 ==124973== at 0x4014883: getparameter (tool_getparam.c:2899) ==124973== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==124973== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==124973== by 0x4004208: main (tool_main.c:189) === End of file valgrind890 test 0891...[POP3 with short authentication response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind891 ../src/curl -q --output log/6/curl891.out --include --trace-ascii log/6/trace891 --trace-time pop3://127.0.0.1:42225/891 -u user:secret > log/6/stdout891 2> log/6/stderr891 891: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 891 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind891 ../src/curl -q --output log/6/curl891.out --include --trace-ascii log/6/trace891 --trace-time pop3://127.0.0.1:42225/891 -u user:secret > log/6/stdout891 2> log/6/stderr891 === End of file commands.log === Start of file pop3_server.log 05:47:14.028901 ====> Client connect 05:47:14.029130 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:14.029449 < "CAPA" 05:47:14.029492 > "-ERR Unrecognized command[CR][LF]" 05:47:14.029656 < "RETR verifiedserver" 05:47:14.029687 return proof we are we 05:47:14.029706 > "+OK Mail transfer starts[CR][LF]" 05:47:14.029728 > "WE ROOLZ: 122978[CR][LF]" 05:47:14.029745 > ".[CR][LF]" 05:47:14.079274 < "QUIT" 05:47:14.079349 > "+OK curl POP3 server signing off[CR][LF]" 05:47:14.080772 MAIN sockfilt said DISC 05:47:14.080809 ====> Client disconnected 05:47:14.080905 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.488517 ====> Client connect 05:47:13.490601 Received DATA (on stdin) 05:47:13.490617 > 164 bytes data, server => client 05:47:13.490629 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.490639 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.490648 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.490740 < 6 bytes data, client => server 05:47:13.490751 'CAPA\r\n' 05:47:13.490948 Received DATA (on stdin) 05:47:13.490959 > 27 bytes data, server => client 05:47:13.490969 '-ERR Unrecognized command\r\n' 05:47:13.491020 < 21 bytes data, client => server 05:47:13.491030 'RETR verifiedserver\r\n' 05:47:13.491198 Received DATA (on stdin) 05:47:13.491208 > 26 bytes data, server => client 05:47:13.491218 '+OK Mail transfer starts\r\n' 05:47:13.491236 Received DATA (on stdin) 05:47:13.491245 > 18 bytes data, server => client 05:47:13.491255 'WE ROOLZ: 122978\r\n' 05:47:13.491267 Received DATA (on stdin) 05:47:13.491276 > 3 bytes data, server => client 05:47:13.491285 '.\r\n' 05:47:13.540467 < 6 bytes data, client => server 05:47:13.540510 'QUIT\r\n' 05:47:13.540822 Received DATA (on stdin) 05:47:13.540838 > 34 bytes data, server => client 05:47:13.540850 '+OK curl POP3 server signing off\r\n' 05:47:13.542158 ====> Client disconnect 05:47:13.542374 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLYLF AUTH + Testnum 891 === End of file server.cmd === Start of file valgrind891 ==125033== ==125033== Process terminating with default action of signal 4 (SIGILL) ==125033== Illegal opcode at address 0x4014883 ==125033== at 0x4014883: getparameter (tool_getparam.c:2899) ==125033== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125033== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125033== by 0x4004208: main (tool_main.c:189) === End of file valgrind891 test 0892...[POP3 plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind892 ../src/curl -q --output log/3/curl892.out --include --trace-ascii log/3/trace892 --trace-time pop3://127.0.0.1:34563/892 -u user:secret --sasl-authzid shared-mailbox > log/3/stdout892 2> log/3/stderr892 892: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 892 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind892 ../src/curl -q --output log/3/curl892.out --include --trace-ascii log/3/trace892 --trace-time pop3://127.0.0.1:34563/892 -u user:secret --sasl-authzid shared-mailbox > log/3/stdout892 2> log/3/stderr892 === End of file commands.log === Start of file pop3_server.log 05:47:14.108907 ====> Client connect 05:47:14.109122 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:14.109460 < "CAPA" 05:47:14.109507 > "-ERR Unrecognized command[CR][LF]" 05:47:14.109690 < "RETR verifiedserver" 05:47:14.109724 return proof we are we 05:47:14.109749 > "+OK Mail transfer starts[CR][LF]" 05:47:14.109775 > "WE ROOLZ: 123077[CR][LF]" 05:47:14.109798 > ".[CR][LF]" 05:47:14.155911 < "QUIT" 05:47:14.155977 > "+OK curl POP3 server signing off[CR][LF]" 05:47:14.157294 MAIN sockfilt said DISC 05:47:14.157327 ====> Client disconnected 05:47:14.157410 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.568875 ====> Client connect 05:47:13.570598 Received DATA (on stdin) 05:47:13.570615 > 164 bytes data, server => client 05:47:13.570627 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.570637 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.570647 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.570741 < 6 bytes data, client => server 05:47:13.570755 'CAPA\r\n' 05:47:13.570966 Received DATA (on stdin) 05:47:13.570978 > 27 bytes data, serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind895 ../src/curl -q --output log/16/curl895.out --include --trace-ascii log/16/trace895 --trace-time 'imap://127.0.0.1:33933/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/16/stdout895 2> log/16/stderr895 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind894 ../src/curl -q --output log/8/curl894.out --include --trace-ascii log/8/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:38309/894 > log/8/stdout894 2> log/8/stderr894 ver => client 05:47:13.570988 '-ERR Unrecognized command\r\n' 05:47:13.571047 < 21 bytes data, client => server 05:47:13.571060 'RETR verifiedserver\r\n' 05:47:13.571255 Received DATA (on stdin) 05:47:13.571267 > 26 bytes data, server => client 05:47:13.571277 '+OK Mail transfer starts\r\n' 05:47:13.571299 Received DATA (on stdin) 05:47:13.571309 > 18 bytes data, server => client 05:47:13.571319 'WE ROOLZ: 123077\r\n' 05:47:13.571333 Received DATA (on stdin) 05:47:13.571342 > 3 bytes data, server => client 05:47:13.571352 '.\r\n' 05:47:13.617140 < 6 bytes data, client => server 05:47:13.617184 'QUIT\r\n' 05:47:13.617440 Received DATA (on stdin) 05:47:13.617453 > 34 bytes data, server => client 05:47:13.617464 '+OK curl POP3 server signing off\r\n' 05:47:13.618687 ====> Client disconnect 05:47:13.618869 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= +OK Login successful Testnum 892 === End of file server.cmd === Start of file valgrind892 ==125070== ==125070== Process terminating with default action of signal 4 (SIGILL) ==125070== Illegal opcode at address 0x4014883 ==125070== at 0x4014883: getparameter (tool_getparam.c:2899) ==125070== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125070== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125070== by 0x4004208: main (tool_main.c:189) === End of file valgrind892 test 0895...[IMAP with --login-options 'AUTH=*'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind895 ../src/curl -q --output log/16/curl895.out --include --trace-ascii log/16/trace895 --trace-time 'imap://127.0.0.1:33933/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/16/stdout895 2> log/16/stderr895 895: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 895 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind895 ../src/curl -q --output log/16/curl895.out --include --trace-ascii log/16/trace895 --trace-time 'imap://127.0.0.1:33933/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/16/stdout895 2> log/16/stderr895 === End of file commands.log === Start of file imap_server.log 05:47:14.624714 ====> Client connect 05:47:14.624870 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:14.625160 < "A001 CAPABILITY" 05:47:14.625197 > "A001 BAD Command[CR][LF]" 05:47:14.625365 < "A002 LIST "verifiedserver" *" 05:47:14.625392 LIST_imap got "verifiedserver" * 05:47:14.625417 > "* LIST () "/" "WE ROOLZ: 119781"[CR][LF]" 05:47:14.625435 > "A002 OK LIST Completed[CR][LF]" 05:47:14.625449 return proof we are we 05:47:14.672539 < "A003 LOGOUT" 05:47:14.672609 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:14.672639 > "A003 OK LOGOUT completed[CR][LF]" 05:47:14.673833 MAIN sockfilt said DISC 05:47:14.673870 ====> Client disconnected 05:47:14.673953 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:14.086049 ====> Client connect 05:47:14.086337 Received DATA (on stdin) 05:47:14.086351 > 164 bytes data, server => client 05:47:14.086363 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:14.086374 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:14.086384 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:14.086460 < 17 bytes data, client => server 05:47:14.086472 'A001 CAPABILITY\r\n' 05:47:14.086656 Received DATA (on stdin) 05:47:14.086668 > 18 bytes data, server => client 05:47:14.086678 'A001 BAD Command\r\n' 05:47:14.086733 < 30 bytes data, client => server 05:47:14.086745 'A002 LIST "verifiedserver" *\r\n' 05:47:14.086904 Received DATA (on stdin) 05:47:14.086915 > 34 bytes data, server => client 05:47:14.086925 '* LIST () "/" "WE ROOLZ: 119781"\r\n' 05:47:14.086945 Received DATA (on stdin) 05:47:14.086954 > 24 bytes data, server => client 05:47:14.086964 'A002 OK LIST Completed\r\n' 05:47:14.133776 < 13 bytes data, client => server 05:47:14.133811 'A003 LOGOUT\r\n' 05:47:14.134104 Received DATA (on stdin) 05:47:14.134118 > 36 bytes data, server => client 05:47:14.134130 '* BYE curl IMAP server signing off\r\n' 05:47:14.134154 Received DATA (on stdin) 05:47:14.134166 > 26 bytes data, server => client 05:47:14.134177 'A003 OK LOGOUT completed\r\n' 05:47:14.135235 ====> Client disconnect 05:47:14.135422 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 895 === End of file server.cmd === Start of file valgrind895 ==125348== ==125348== Process terminating with default action of signal 4 (SIGILL) ==125348== Illegal opcode at address 0x4014883 ==125348== at 0x4014883: getparameter (tool_getparam.c:2899) ==125348== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125348== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125348== by 0x4004208: main (tool_main.c:189) === End of file valgrind895 test 0894...[POP3 with CR in username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind894 ../src/curl -q --output log/8/curl894.out --include --trace-ascii log/8/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:38309/894 > log/8/stdout894 2> log/8/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/8/ directory after test 894 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind894 ../src/curl -q --output log/8/curl894.out --include --trace-ascii log/8/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:38309/894 > log/8/stdout894 2> log/8/stderr894 === End of file commands.log === Start of file pop3_server.log 05:47:14.412387 ====> Client connect 05:47:14.412584 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:14.415879 < "CAPA" 05:47:14.415942 > "-ERR Unrecognized command[CR][LF]" 05:47:14.416116 < "RETR verifiedserver" 05:47:14.416147 return proof we are we 05:47:14.416169 > "+OK Mail transfer starts[CR][LF]" 05:47:14.416193 > "WE ROOLZ: 122965[CR][LF]" 05:47:14.416211 > ".[CR][LF]" 05:47:14.465887 < "QUIT" 05:47:14.465956 > "+OK curl POP3 server signing off[CR][LF]" 05:47:14.467381 MAIN sockfilt said DISC 05:47:14.467415 ====> Client disconnected 05:47:14.467505 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.873684 ====> Client connect 05:47:13.874058 Received DATA (on stdin) 05:47:13.874072 > 164 bytes data, server => client 05:47:13.874084 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.874095 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.874105 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.877079 < 6 bytes data, client => server 05:47:13.877114 'CAPA\r\n' 05:47:13.877401 Received DATA (on stdin) 05:47:13.877413 > 27 bytes data, server => client 05:47:13.877424 '-ERR Unrecognized command\r\n' 05:47:13.877480 < 21 bytes data, client => server 05:47:13.877491 'RETR verifiedserver\r\n' 05:47:13.877665 Received DATA (on stdin) 05:47:13.877676 > 26 bytes data, server => client 05:47:13.8776CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind897 ../src/curl -q --output log/11/curl897.out --include --trace-ascii log/11/trace897 --trace-time 'imap://127.0.0.1:39961/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/11/head-897 > log/11/stdout897 2> log/11/stderr897 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind896 ../src/curl -q --output log/9/curl896.out --include --trace-ascii log/9/trace896 --trace-time 'imap://127.0.0.1:33787/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/9/stdout896 2> log/9/stderr896 86 '+OK Mail transfer starts\r\n' 05:47:13.877705 Received DATA (on stdin) 05:47:13.877714 > 18 bytes data, server => client 05:47:13.877724 'WE ROOLZ: 122965\r\n' 05:47:13.877737 Received DATA (on stdin) 05:47:13.877746 > 3 bytes data, server => client 05:47:13.877755 '.\r\n' 05:47:13.927131 < 6 bytes data, client => server 05:47:13.927163 'QUIT\r\n' 05:47:13.927419 Received DATA (on stdin) 05:47:13.927432 > 34 bytes data, server => client 05:47:13.927444 '+OK curl POP3 server signing off\r\n' 05:47:13.928774 ====> Client disconnect 05:47:13.928967 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 894 === End of file server.cmd === Start of file valgrind894 ==125236== ==125236== Process terminating with default action of signal 4 (SIGILL) ==125236== Illegal opcode at address 0x4014883 ==125236== at 0x4014883: getparameter (tool_getparam.c:2899) ==125236== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125236== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125236== by 0x4004208: main (tool_main.c:189) === End of file valgrind894 test 0897...[IMAP and envelope meta data after body transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind897 ../src/curl -q --output log/11/curl897.out --include --trace-ascii log/11/trace897 --trace-time 'imap://127.0.0.1:39961/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/11/head-897 > log/11/stdout897 2> log/11/stderr897 897: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 897 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind897 ../src/curl -q --output log/11/curl897.out --include --trace-ascii log/11/trace897 --trace-time 'imap://127.0.0.1:39961/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/11/head-897 > log/11/stdout897 2> log/11/stderr897 === End of file commands.log === Start of file imap_server.log 05:47:14.654050 ====> Client connect 05:47:14.654273 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:14.656902 < "A001 CAPABILITY" 05:47:14.657321 > "A001 BAD Command[CR][LF]" 05:47:14.657619 < "A002 LIST "verifiedserver" *" 05:47:14.657650 LIST_imap got "verifiedserver" * 05:47:14.657682 > "* LIST () "/" "WE ROOLZ: 110655"[CR][LF]" 05:47:14.657705 > "A002 OK LIST Completed[CR][LF]" 05:47:14.657721 return proof we are we 05:47:14.702574 < "A003 LOGOUT" 05:47:14.702632 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:14.702652 > "A003 OK LOGOUT completed[CR][LF]" 05:47:14.705606 MAIN sockfilt said DISC 05:47:14.705693 ====> Client disconnected 05:47:14.705772 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:15.115376 ====> Client connect 05:47:15.115750 Received DATA (on stdin) 05:47:15.115768 > 164 bytes data, server => client 05:47:15.115780 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:15.115791 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:15.115801 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:15.117572 < 17 bytes data, client => server 05:47:15.117590 'A001 CAPABILITY\r\n' 05:47:15.118850 Received DATA (on stdin) 05:47:15.118865 > 18 bytes data, server => client 05:47:15.118876 'A001 BAD Command\r\n' 05:47:15.118966 < 30 bytes data, client => server 05:47:15.118983 'A002 LIST "verifiedserver" *\r\n' 05:47:15.119178 Received DATA (on stdin) 05:47:15.119190 > 34 bytes data, server => client 05:47:15.119201 '* LIST () "/" "WE ROOLZ: 110655"\r\n' 05:47:15.119225 Received DATA (on stdin) 05:47:15.119236 > 24 bytes data, server => client 05:47:15.119249 'A002 OK LIST Completed\r\n' 05:47:15.163835 < 13 bytes data, client => server 05:47:15.163864 'A003 LOGOUT\r\n' 05:47:15.164111 Received DATA (on stdin) 05:47:15.164124 > 36 bytes data, server => client 05:47:15.164135 '* BYE curl IMAP server signing off\r\n' 05:47:15.164157 Received DATA (on stdin) 05:47:15.164166 > 26 bytes data, server => client 05:47:15.164176 'A003 OK LOGOUT completed\r\n' 05:47:15.166985 ====> Client disconnect 05:47:15.167099 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd POSTFETCH extra stuff sent in the envelope after the body Testnum 897 === End of file server.cmd === Start of file valgrind897 ==125355== ==125355== Process terminating with default action of signal 4 (SIGILL) ==125355== Illegal opcode at address 0x4014883 ==125355== at 0x4014883: getparameter (tool_getparam.c:2899) ==125355== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125355== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125355== by 0x4004208: main (tool_main.c:189) === End of file valgrind897 test 0896...[IMAP with --login-options 'AUTH=dummy' (failing)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind896 ../src/curl -q --output log/9/curl896.out --include --trace-ascii log/9/trace896 --trace-time 'imap://127.0.0.1:33787/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/9/stdout896 2> log/9/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/9/ directory after test 896 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind896 ../src/curl -q --output log/9/curl896.out --include --trace-ascii log/9/trace896 --trace-time 'imap://127.0.0.1:33787/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/9/stdout896 2> log/9/stderr896 === End of file commands.log === Start of file imap_server.log 05:47:14.625662 ====> Client connect 05:47:14.625820 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:14.626799 < "A001 CAPABILITY" 05:47:14.626847 > "A001 BAD Command[CR][LF]" 05:47:14.627041 < "A002 LIST "verifiedserver" *" 05:47:14.627074 LIST_imap got "verifiedserver" * 05:47:14.627105 > "* LIST () "/" "WE ROOLZ: 120285"[CR][LF]" 05:47:14.627128 > "A002 OK LIST Completed[CR][LF]" 05:47:14.627144 return proof we are we 05:47:14.675762 < "A003 LOGOUT" 05:47:14.675825 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:14.675858 > "A003 OK LOGOUT completed[CR][LF]" 05:47:14.685786 MAIN sockfilt said DISC 05:47:14.685845 ====> Client disconnected 05:47:14.685990 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:14.086995 ====> Client connect 05:47:14.087928 Received DATA (on stdin) 05:47:14.087951 > 164 bytes data, server => client 05:47:14.087964 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:14.087974 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:14.087984 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:14.088075 < 17 bytes data, client => server 05:47:14.088092 'A001 CAPABILITY\r\n' 05:47:14.088311 Received DATA (on stdin) 05:47:14.088324 > 18 bytes data, server => client 05:47:14.088334 'A001 BAD Command\r\n' 05:47:14.088395 < 30 bytes data, client => server 05:47:14.088410 'A002 LIST "verifiedserver" *\r\n' 05:47:14.088603 Received DATA (on stdin) 05:47:14.088615 > 34 bytes data, server => client 05:47:14.088626 '* LIST () "/" "WE ROOLZ: 120285"\r\n' 05:47:14.088648 RecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind893 ../src/curl -q --output log/5/curl893.out --include --trace-ascii log/5/trace893 --trace-time pop3://127.0.0.1:44395/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/5/stdout893 2> log/5/stderr893 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind899 ../src/curl -q --output log/7/curl899.out --include --trace-ascii log/7/trace899 --trace-time http://first:secret@127.0.0.1:39013/899 -L > log/7/stdout899 2> log/7/stderr899 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind906 ../src/curl -q --output log/10/curl906.out --include --trace-ascii log/10/trace906 --trace-time smtp://127.0.0.1:40765/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/10/stdout906 2> log/10/stderr906 eived DATA (on stdin) 05:47:14.088659 > 24 bytes data, server => client 05:47:14.088669 'A002 OK LIST Completed\r\n' 05:47:14.137004 < 13 bytes data, client => server 05:47:14.137045 'A003 LOGOUT\r\n' 05:47:14.137321 Received DATA (on stdin) 05:47:14.137335 > 36 bytes data, server => client 05:47:14.137347 '* BYE curl IMAP server signing off\r\n' 05:47:14.137379 Received DATA (on stdin) 05:47:14.137392 > 26 bytes data, server => client 05:47:14.137403 'A003 OK LOGOUT completed\r\n' 05:47:14.141486 ====> Client disconnect 05:47:14.147465 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 896 === End of file server.cmd === Start of file valgrind896 ==125408== ==125408== Process terminating with default action of signal 4 (SIGILL) ==125408== Illegal opcode at address 0x4014883 ==125408== at 0x4014883: getparameter (tool_getparam.c:2899) ==125408== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125408== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125408== by 0x4004208: main (tool_main.c:189) === End of file valgrind896 test 0893...[POP3 plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind893 ../src/curl -q --output log/5/curl893.out --include --trace-ascii log/5/trace893 --trace-time pop3://127.0.0.1:44395/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/5/stdout893 2> log/5/stderr893 893: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 893 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind893 ../src/curl -q --output log/5/curl893.out --include --trace-ascii log/5/trace893 --trace-time pop3://127.0.0.1:44395/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/5/stdout893 2> log/5/stderr893 === End of file commands.log === Start of file pop3_server.log 05:47:14.244044 ====> Client connect 05:47:14.244365 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:14.244666 < "CAPA" 05:47:14.244709 > "-ERR Unrecognized command[CR][LF]" 05:47:14.244871 < "RETR verifiedserver" 05:47:14.244900 return proof we are we 05:47:14.244921 > "+OK Mail transfer starts[CR][LF]" 05:47:14.244944 > "WE ROOLZ: 123050[CR][LF]" 05:47:14.244962 > ".[CR][LF]" 05:47:14.298360 < "QUIT" 05:47:14.298433 > "+OK curl POP3 server signing off[CR][LF]" 05:47:14.300065 MAIN sockfilt said DISC 05:47:14.300102 ====> Client disconnected 05:47:14.300178 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:13.705368 ====> Client connect 05:47:13.705838 Received DATA (on stdin) 05:47:13.705852 > 164 bytes data, server => client 05:47:13.705864 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:13.705875 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:13.705885 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:13.705962 < 6 bytes data, client => server 05:47:13.705972 'CAPA\r\n' 05:47:13.706165 Received DATA (on stdin) 05:47:13.706176 > 27 bytes data, server => client 05:47:13.706186 '-ERR Unrecognized command\r\n' 05:47:13.706238 < 21 bytes data, client => server 05:47:13.706248 'RETR verifiedserver\r\n' 05:47:13.706415 Received DATA (on stdin) 05:47:13.706426 > 26 bytes data, server => client 05:47:13.706436 '+OK Mail transfer starts\r\n' 05:47:13.706454 Received DATA (on stdin) 05:47:13.706463 > 18 bytes data, server => client 05:47:13.706473 'WE ROOLZ: 123050\r\n' 05:47:13.706485 Received DATA (on stdin) 05:47:13.706494 > 3 bytes data, server => client 05:47:13.706503 '.\r\n' 05:47:13.759577 < 6 bytes data, client => server 05:47:13.759612 'QUIT\r\n' 05:47:13.759893 Received DATA (on stdin) 05:47:13.759904 > 34 bytes data, server => client 05:47:13.759914 '+OK curl POP3 server signing off\r\n' 05:47:13.761458 ====> Client disconnect 05:47:13.761637 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= -ERR Not authorized Testnum 893 === End of file server.cmd === Start of file valgrind893 ==125167== ==125167== Process terminating with default action of signal 4 (SIGILL) ==125167== Illegal opcode at address 0x4014883 ==125167== at 0x4014883: getparameter (tool_getparam.c:2899) ==125167== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125167== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125167== by 0x4004208: main (tool_main.c:189) === End of file valgrind893 test 0899...[URL with credentials redirects to URL with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind899 ../src/curl -q --output log/7/curl899.out --include --trace-ascii log/7/trace899 --trace-time http://first:secret@127.0.0.1:39013/899 -L > log/7/stdout899 2> log/7/stderr899 899: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 899 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind899 ../src/curl -q --output log/7/curl899.out --include --trace-ascii log/7/trace899 --trace-time http://first:secret@127.0.0.1:39013/899 -L > log/7/stdout899 2> log/7/stderr899 === End of file commands.log === Start of file http_server.log 05:47:14.242547 ====> Client connect 05:47:14.242578 accept_connection 3 returned 4 05:47:14.242593 accept_connection 3 returned 0 05:47:14.242608 Read 93 bytes 05:47:14.242617 Process 93 bytes request 05:47:14.242629 Got request: GET /verifiedserver HTTP/1.1 05:47:14.242637 Are-we-friendly question received 05:47:14.242658 Wrote request (93 bytes) input to log/7/server.input 05:47:14.242674 Identifying ourselves as friends 05:47:14.242726 Response sent (56 bytes) and written to log/7/server.response 05:47:14.242734 special request received, no persistency 05:47:14.242742 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 41792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 899 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind899 ==125441== ==125441== Process terminating with default action of signal 4 (SIGILL) ==125441== Illegal opcode at address 0x4014883 ==125441== at 0x4014883: getparameter (tool_getparam.c:2899) ==125441== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125441== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125441== by 0x4004208: main (tool_main.c:189) === End of file valgrind899 test 0906...[SMTP NTLM authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind898 ../src/curl -q --output log/19/curl898.out --include --trace-ascii log/19/trace898 --trace-time -x http://127.0.0.1:35701 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/19/stdout898 2> log/19/stderr898 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind908 ../src/curl -q --output log/17/curl908.out --include --trace-ascii log/17/trace908 --trace-time smtp://127.0.0.1:38425/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/17/stdout908 2> log/17/stderr908 ind.supp --num-callers=16 --log-file=log/10/valgrind906 ../src/curl -q --output log/10/curl906.out --include --trace-ascii log/10/trace906 --trace-time smtp://127.0.0.1:40765/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/10/stdout906 2> log/10/stderr906 906: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 906 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind906 ../src/curl -q --output log/10/curl906.out --include --trace-ascii log/10/trace906 --trace-time smtp://127.0.0.1:40765/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/10/stdout906 2> log/10/stderr906 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 906 === End of file server.cmd === Start of file smtp_server.log 05:47:14.955575 ====> Client connect 05:47:14.955851 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:14.956282 < "EHLO verifiedserver" 05:47:14.956334 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:14.956525 < "HELP" 05:47:14.956563 > "214 WE ROOLZ: 110658[CR][LF]" 05:47:14.956582 return proof we are we 05:47:14.956843 < "QUIT" 05:47:14.956874 > "221 curl ESMTP server signing off[CR][LF]" 05:47:14.958297 MAIN sockfilt said DISC 05:47:14.958331 ====> Client disconnected 05:47:14.958409 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.407005 ====> Client connect 05:47:15.417339 Received DATA (on stdin) 05:47:15.417367 > 146 bytes data, server => client 05:47:15.417380 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:15.417391 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:15.417401 '220 \___|\___/|_| \_\_____|\r\n' 05:47:15.417550 < 21 bytes data, client => server 05:47:15.417566 'EHLO verifiedserver\r\n' 05:47:15.417799 Received DATA (on stdin) 05:47:15.417813 > 53 bytes data, server => client 05:47:15.417824 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:15.417884 < 6 bytes data, client => server 05:47:15.417898 'HELP\r\n' 05:47:15.418040 Received DATA (on stdin) 05:47:15.418052 > 22 bytes data, server => client 05:47:15.418062 '214 WE ROOLZ: 110658\r\n' 05:47:15.418206 < 6 bytes data, client => server 05:47:15.418222 'QUIT\r\n' 05:47:15.418334 Received DATA (on stdin) 05:47:15.418347 > 35 bytes data, server => client 05:47:15.418358 '221 curl ESMTP server signing off\r\n' 05:47:15.419689 ====> Client disconnect 05:47:15.419880 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-906 mail body === End of file stdin-for-906 === Start of file valgrind906 ==125642== ==125642== Process terminating with default action of signal 4 (SIGILL) ==125642== Illegal opcode at address 0x4014883 ==125642== at 0x4014883: getparameter (tool_getparam.c:2899) ==125642== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125642== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125642== by 0x4004208: main (tool_main.c:189) === End of file valgrind906 test 0898...[HTTP with custom auth and cookies redirected to HTTP on a diff port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind898 ../src/curl -q --output log/19/curl898.out --include --trace-ascii log/19/trace898 --trace-time -x http://127.0.0.1:35701 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/19/stdout898 2> log/19/stderr898 898: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 898 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind898 ../src/curl -q --output log/19/curl898.out --include --trace-ascii log/19/trace898 --trace-time -x http://127.0.0.1:35701 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/19/stdout898 2> log/19/stderr898 === End of file commands.log === Start of file http_server.log 05:47:14.283707 ====> Client connect 05:47:14.283745 accept_connection 3 returned 4 05:47:14.283765 accept_connection 3 returned 0 05:47:14.283784 Read 93 bytes 05:47:14.283794 Process 93 bytes request 05:47:14.283808 Got request: GET /verifiedserver HTTP/1.1 05:47:14.283818 Are-we-friendly question received 05:47:14.283849 Wrote request (93 bytes) input to log/19/server.input 05:47:14.283868 Identifying ourselves as friends 05:47:14.283959 Response sent (56 bytes) and written to log/19/server.response 05:47:14.283971 special request received, no persistency 05:47:14.283980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 35126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 898 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind898 ==125489== ==125489== Process terminating with default action of signal 4 (SIGILL) ==125489== Illegal opcode at address 0x4014883 ==125489== at 0x4014883: getparameter (tool_getparam.c:2899) ==125489== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125489== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125489== by 0x4004208: main (tool_main.c:189) === End of file valgrind898 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/smtp_server.pid" --logfile "log/17/smtp_server.log" --logdir "log/17" --portfile "log/17/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38425 (log/17/server/smtp_server.port) RUN: SMTP server is PID 125542 port 38425 * pid smtp => 125542 125542 test 0908...[SMTP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind908 ../src/curl -q --output log/17/curl908.out --include --trace-ascii log/17/trace908 --trace-time smtp://127.0.0.1:38425/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/17/stdout908 2> log/17/stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind904 ../src/curl -q --output log/23/curl904.out --include --trace-ascii log/23/trace904 --trace-time smtp://127.0.0.1:34899/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/23/stdout904 2> log/23/stderr904 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind903 ../src/curl -q --output log/12/curl903.out --include --trace-ascii log/12/trace903 --trace-time smtp://127.0.0.1:42795/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout903 2> log/12/stderr903 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind914 ../src/curl -q --output log/14/curl914.out --include --trace-ascii log/14/trace914 --trace-time smtp://127.0.0.1:36897/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/14/test914.eml > log/14/stdout914 2> log/14/stderr914 derr908 908: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 908 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind908 ../src/curl -q --output log/17/curl908.out --include --trace-ascii log/17/trace908 --trace-time smtp://127.0.0.1:38425/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/17/stdout908 2> log/17/stderr908 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 908 === End of file server.cmd === Start of file smtp_server.log 05:47:14.949140 SMTP server listens on port IPv4/38425 05:47:14.949266 logged pid 125542 in log/17/server/smtp_server.pid 05:47:14.949300 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.408621 Running IPv4 version 05:47:14.408704 Listening on port 38425 05:47:14.408736 Wrote pid 125608 to log/17/server/smtp_sockfilt.pid 05:47:14.408791 Wrote port 38425 to log/17/server/smtp_server.port 05:47:14.410470 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-908 mail body === End of file stdin-for-908 === Start of file valgrind908 ==126101== ==126101== Process terminating with default action of signal 4 (SIGILL) ==126101== Illegal opcode at address 0x4014883 ==126101== at 0x4014883: getparameter (tool_getparam.c:2899) ==126101== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126101== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126101== by 0x4004208: main (tool_main.c:189) === End of file valgrind908 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/smtp_server.pid" --logfile "log/23/smtp_server.log" --logdir "log/23" --portfile "log/23/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34899 (log/23/server/smtp_server.port) RUN: SMTP server is PID 125410 port 34899 * pid smtp => 125410 125410 test 0904...[SMTP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind904 ../src/curl -q --output log/23/curl904.out --include --trace-ascii log/23/trace904 --trace-time smtp://127.0.0.1:34899/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/23/stdout904 2> log/23/stderr904 904: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind904 ../src/curl -q --output log/23/curl904.out --include --trace-ascii log/23/trace904 --trace-time smtp://127.0.0.1:34899/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/23/stdout904 2> log/23/stderr904 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 VXNlcm5hbWU6 REPLY dXNlcg== 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 904 === End of file server.cmd === Start of file smtp_server.log 05:47:14.822344 SMTP server listens on port IPv4/34899 05:47:14.822481 logged pid 125410 in log/23/server/smtp_server.pid 05:47:14.822513 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.278328 Running IPv4 version 05:47:14.278410 Listening on port 34899 05:47:14.278454 Wrote pid 125446 to log/23/server/smtp_sockfilt.pid 05:47:14.278483 Wrote port 34899 to log/23/server/smtp_server.port 05:47:14.283653 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-904 mail body === End of file stdin-for-904 === Start of file valgrind904 ==125900== ==125900== Process terminating with default action of signal 4 (SIGILL) ==125900== Illegal opcode at address 0x4014883 ==125900== at 0x4014883: getparameter (tool_getparam.c:2899) ==125900== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125900== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125900== by 0x4004208: main (tool_main.c:189) === End of file valgrind904 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/smtp_server.pid" --logfile "log/12/smtp_server.log" --logdir "log/12" --portfile "log/12/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42795 (log/12/server/smtp_server.port) RUN: SMTP server is PID 125404 port 42795 * pid smtp => 125404 125404 test 0903...[SMTP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind903 ../src/curl -q --output log/12/curl903.out --include --trace-ascii log/12/trace903 --trace-time smtp://127.0.0.1:42795/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout903 2> log/12/stderr903 903: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 903 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind903 ../src/curl -q --output log/12/curl903.out --include --trace-ascii log/12/trace903 --trace-time smtp://127.0.0.1:42795/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/12/stdout903 2> log/12/stderr903 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 903 === End of file server.cmd === Start of file smtp_server.log 05:47:14.836748 SMTP server listens on port IPv4/42795 05:47:14.836879 logged pid 125404 in log/12/server/smtp_server.pid 05:47:14.836917 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.289163 Running IPv4 version 05:47:14.289236 Listening on port 42795 05:47:14.289274 Wrote pid 125454 to log/12/server/smtp_sockfilt.pid 05:47:14.289307 Wrote port 42795 to log/12/server/smtp_server.port 05:47:14.298079 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-903 mail body === End of file stdin-for-903 === Start of file valgrind903 ==125861== ==125861== Process terminating with default action of signal 4 (SIGILL) ==125861== Illegal opcode at address 0x4014883 ==125861== at 0x4014883: getparameter (tool_getparam.c:2899) ==125861== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125861== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125861== by 0x4004208: main (tool_main.c:189) === End of file valgrind903 test 0914...[SMTP invalid --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind914 ../src/curl -q --output log/14/curl914.out --include --trace-ascii log/14/trace914 --trace-time smtp://127.0.0.1:36897/914 --mail-rcpt recipient@example.com --maiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind910 ../src/curl -q --output log/15/curl910.out --include --trace-ascii log/15/trace910 --trace-time smtp://127.0.0.1:44277/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout910 2> log/15/stderr910 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind909 ../src/curl -q --output log/22/curl909.out --include --trace-ascii log/22/trace909 --trace-time smtp://127.0.0.1:34041/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/22/test909.eml > log/22/stdout909 2> log/22/stderr909 l-from invalid -T log/14/test914.eml > log/14/stdout914 2> log/14/stderr914 914: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind914 ../src/curl -q --output log/14/curl914.out --include --trace-ascii log/14/trace914 --trace-time smtp://127.0.0.1:36897/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/14/test914.eml > log/14/stdout914 2> log/14/stderr914 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 914 === End of file server.cmd === Start of file smtp_server.log 05:47:15.729021 ====> Client connect 05:47:15.729238 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:15.729653 < "EHLO verifiedserver" 05:47:15.729711 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:15.729889 < "HELP" 05:47:15.729919 > "214 WE ROOLZ: 110590[CR][LF]" 05:47:15.729933 return proof we are we 05:47:15.730145 < "QUIT" 05:47:15.730173 > "221 curl ESMTP server signing off[CR][LF]" 05:47:15.731356 MAIN sockfilt said DISC 05:47:15.731385 ====> Client disconnected 05:47:15.731453 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.190339 ====> Client connect 05:47:16.190719 Received DATA (on stdin) 05:47:16.190738 > 146 bytes data, server => client 05:47:16.190751 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:16.190762 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:16.190772 '220 \___|\___/|_| \_\_____|\r\n' 05:47:16.190908 < 21 bytes data, client => server 05:47:16.190926 'EHLO verifiedserver\r\n' 05:47:16.191178 Received DATA (on stdin) 05:47:16.191192 > 53 bytes data, server => client 05:47:16.191204 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:16.191259 < 6 bytes data, client => server 05:47:16.191268 'HELP\r\n' 05:47:16.191385 Received DATA (on stdin) 05:47:16.191394 > 22 bytes data, server => client 05:47:16.191403 '214 WE ROOLZ: 110590\r\n' 05:47:16.191523 < 6 bytes data, client => server 05:47:16.191535 'QUIT\r\n' 05:47:16.191627 Received DATA (on stdin) 05:47:16.191636 > 35 bytes data, server => client 05:47:16.191644 '221 curl ESMTP server signing off\r\n' 05:47:16.192759 ====> Client disconnect 05:47:16.192907 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test914.eml From: different To: another body === End of file test914.eml === Start of file valgrind914 ==125834== ==125834== Process terminating with default action of signal 4 (SIGILL) ==125834== Illegal opcode at address 0x4014883 ==125834== at 0x4014883: getparameter (tool_getparam.c:2899) ==125834== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125834== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125834== by 0x4004208: main (tool_main.c:189) === End of file valgrind914 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/smtp_server.pid" --logfile "log/15/smtp_server.log" --logdir "log/15" --portfile "log/15/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44277 (log/15/server/smtp_server.port) RUN: SMTP server is PID 125704 port 44277 * pid smtp => 125704 125704 test 0910...[SMTP without terminating CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind910 ../src/curl -q --output log/15/curl910.out --include --trace-ascii log/15/trace910 --trace-time smtp://127.0.0.1:44277/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout910 2> log/15/stderr910 910: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind910 ../src/curl -q --output log/15/curl910.out --include --trace-ascii log/15/trace910 --trace-time smtp://127.0.0.1:44277/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout910 2> log/15/stderr910 === End of file commands.log === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 05:47:15.223687 SMTP server listens on port IPv4/44277 05:47:15.223821 logged pid 125704 in log/15/server/smtp_server.pid 05:47:15.223861 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.684506 Running IPv4 version 05:47:15.684604 Listening on port 44277 05:47:15.684651 Wrote pid 125721 to log/15/server/smtp_sockfilt.pid 05:47:15.684681 Wrote port 44277 to log/15/server/smtp_server.port 05:47:15.685014 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-910 From: different To: another body === End of file stdin-for-910 === Start of file valgrind910 ==126283== ==126283== Process terminating with default action of signal 4 (SIGILL) ==126283== Illegal opcode at address 0x4014883 ==126283== at 0x4014883: getparameter (tool_getparam.c:2899) ==126283== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126283== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126283== by 0x4004208: main (tool_main.c:189) === End of file valgrind910 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/smtp_server.pid" --logfile "log/22/smtp_server.log" --logdir "log/22" --portfile "log/22/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34041 (log/22/server/smtp_server.port) RUN: SMTP server is PID 125683 port 34041 * pid smtp => 125683 125683 test 0909...[SMTP without SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind909 ../src/curl -q --output log/22/curl909.out --include --trace-ascii log/22/trace909 --trace-time smtp://127.0.0.1:34041/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/22/test909.eml > log/22/stdout909 2> log/22/stderr909 909: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind909 ../src/curl -q --output log/22/curl909.out --include --trace-ascii log/22/trace909 --trace-time smtp://127.0.0.1:34041/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/22/test909.eml > log/22/stdout909 2> log/22/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 05:47:15.123868 SMTP server listens on port IPv4/34041 05:47:15.123986 logged pid 125683 in log/22/server/smtp_server.pid 05:47:15.124023 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.584858 Running IPv4 version 05:47:15.584970 Listening on port 34041 05:47:15.585016 WCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind900 ../src/curl -q --output log/20/curl900.out --include --trace-ascii log/20/trace900 --trace-time smtp://127.0.0.1:37817/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/20/mail900 > log/20/stdout900 2> log/20/stderr900 rote pid 125691 to log/22/server/smtp_sockfilt.pid 05:47:15.585047 Wrote port 34041 to log/22/server/smtp_server.port 05:47:15.585220 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test909.eml From: different To: another body === End of file test909.eml === Start of file valgrind909 ==126250== ==126250== Process terminating with default action of signal 4 (SIGILL) ==126250== Illegal opcode at address 0x4014883 ==126250== at 0x4014883: getparameter (tool_getparam.c:2899) ==126250== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126250== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126250== by 0x4004208: main (tool_main.c:189) === End of file valgrind909 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/smtp_server.pid" --logfile "log/20/smtp_server.log" --logdir "log/20" --portfile "log/20/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37817 (log/20/server/smtp_server.port) RUN: SMTP server is PID 125363 port 37817 * pid smtp => 125363 125363 test 0900...[SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind900 ../src/curl -q --output log/20/curl900.out --include --trace-ascii log/20/trace900 --trace-time smtp://127.0.0.1:37817/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/20/mail900 > log/20/stdout900 2> log/20/stderr900 900: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind900 ../src/curl -q --output log/20/curl900.out --include --trace-ascii log/20/trace900 --trace-time smtp://127.0.0.1:37817/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/20/mail900 > log/20/stdout900 2> log/20/stderr900 === End of file commands.log === Start of file mail900 From: different To: another body 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind912 ../src/curl -q --output log/24/curl912.out --include --trace-ascii log/24/trace912 --trace-time smtp://127.0.0.1:44727/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/test912.eml > log/24/stdout912 2> log/24/stderr912 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind911 ../src/curl -q --output log/4/curl911.out --include --trace-ascii log/4/trace911 --trace-time smtp://127.0.0.1:37371/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout911 2> log/4/stderr911 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind901 ../src/curl -q --output log/2/curl901.out --include --trace-ascii log/2/trace901 --trace-time smtp://127.0.0.1:39435/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/2/stdout901 2> log/2/stderr901 7890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file mail900 === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 05:47:14.818992 SMTP server listens on port IPv4/37817 05:47:14.819147 logged pid 125363 in log/20/server/smtp_server.pid 05:47:14.819195 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.266184 Running IPv4 version 05:47:14.266296 Listening on port 37817 05:47:14.266348 Wrote pid 125430 to log/20/server/smtp_sockfilt.pid 05:47:14.266379 Wrote port 37817 to log/20/server/smtp_server.port 05:47:14.276684 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind900 ==125837== ==125837== Process terminating with default action of signal 4 (SIGILL) ==125837== Illegal opcode at address 0x4014883 ==125837== at 0x4014883: getparameter (tool_getparam.c:2899) ==125837== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125837== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125837== by 0x4004208: main (tool_main.c:189) === End of file valgrind900 test 0912...[SMTP with SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind912 ../src/curl -q --output log/24/curl912.out --include --trace-ascii log/24/trace912 --trace-time smtp://127.0.0.1:44727/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/test912.eml > log/24/stdout912 2> log/24/stderr912 912: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 912 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind912 ../src/curl -q --output log/24/curl912.out --include --trace-ascii log/24/trace912 --trace-time smtp://127.0.0.1:44727/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/test912.eml > log/24/stdout912 2> log/24/stderr912 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 912 === End of file server.cmd === Start of file smtp_server.log 05:47:15.369212 ====> Client connect 05:47:15.369383 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:15.369686 < "EHLO verifiedserver" 05:47:15.369727 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:15.369892 < "HELP" 05:47:15.369925 > "214 WE ROOLZ: 110659[CR][LF]" 05:47:15.369940 return proof we are we 05:47:15.370152 < "QUIT" 05:47:15.370179 > "221 curl ESMTP server signing off[CR][LF]" 05:47:15.371196 MAIN sockfilt said DISC 05:47:15.371225 ====> Client disconnected 05:47:15.371291 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.830537 ====> Client connect 05:47:15.830852 Received DATA (on stdin) 05:47:15.830866 > 146 bytes data, server => client 05:47:15.830878 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:15.830888 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:15.830897 '220 \___|\___/|_| \_\_____|\r\n' 05:47:15.830975 < 21 bytes data, client => server 05:47:15.830986 'EHLO verifiedserver\r\n' 05:47:15.831187 Received DATA (on stdin) 05:47:15.831198 > 53 bytes data, server => client 05:47:15.831208 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:15.831262 < 6 bytes data, client => server 05:47:15.831272 'HELP\r\n' 05:47:15.831394 Received DATA (on stdin) 05:47:15.831404 > 22 bytes data, server => client 05:47:15.831414 '214 WE ROOLZ: 110659\r\n' 05:47:15.831504 < 6 bytes data, client => server 05:47:15.831515 'QUIT\r\n' 05:47:15.831635 Received DATA (on stdin) 05:47:15.831645 > 35 bytes data, server => client 05:47:15.831656 '221 curl ESMTP server signing off\r\n' 05:47:15.832592 ====> Client disconnect 05:47:15.832746 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test912.eml From: different To: another body === End of file test912.eml === Start of file valgrind912 ==125748== ==125748== Process terminating with default action of signal 4 (SIGILL) ==125748== Illegal opcode at address 0x4014883 ==125748== at 0x4014883: getparameter (tool_getparam.c:2899) ==125748== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125748== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125748== by 0x4004208: main (tool_main.c:189) === End of file valgrind912 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/smtp_server.pid" --logfile "log/4/smtp_server.log" --logdir "log/4" --portfile "log/4/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37371 (log/4/server/smtp_server.port) RUN: SMTP server is PID 125727 port 37371 * pid smtp => 125727 125727 test 0911...[SMTP with no mail data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind911 ../src/curl -q --output log/4/curl911.out --include --trace-ascii log/4/trace911 --trace-time smtp://127.0.0.1:37371/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout911 2> log/4/stderr911 911: protocol FAILED! There was no content at all in the fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind919 ../src/curl -q --output log/8/curl919.out --include --trace-ascii log/8/trace919 --trace-time smtp://127.0.0.1:38821/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout919 2> log/8/stderr919 ile log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind911 ../src/curl -q --output log/4/curl911.out --include --trace-ascii log/4/trace911 --trace-time smtp://127.0.0.1:37371/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout911 2> log/4/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 05:47:15.377507 SMTP server listens on port IPv4/37371 05:47:15.377641 logged pid 125727 in log/4/server/smtp_server.pid 05:47:15.377673 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.838475 Running IPv4 version 05:47:15.838584 Listening on port 37371 05:47:15.838627 Wrote pid 125745 to log/4/server/smtp_sockfilt.pid 05:47:15.838657 Wrote port 37371 to log/4/server/smtp_server.port 05:47:15.838854 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==126371== ==126371== Process terminating with default action of signal 4 (SIGILL) ==126371== Illegal opcode at address 0x4014883 ==126371== at 0x4014883: getparameter (tool_getparam.c:2899) ==126371== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126371== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126371== by 0x4004208: main (tool_main.c:189) === End of file valgrind911 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/smtp_server.pid" --logfile "log/2/smtp_server.log" --logdir "log/2" --portfile "log/2/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39435 (log/2/server/smtp_server.port) RUN: SMTP server is PID 125373 port 39435 * pid smtp => 125373 125373 test 0901...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind901 ../src/curl -q --output log/2/curl901.out --include --trace-ascii log/2/trace901 --trace-time smtp://127.0.0.1:39435/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/2/stdout901 2> log/2/stderr901 901: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind901 ../src/curl -q --output log/2/curl901.out --include --trace-ascii log/2/trace901 --trace-time smtp://127.0.0.1:39435/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/2/stdout901 2> log/2/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 05:47:14.835910 SMTP server listens on port IPv4/39435 05:47:14.836018 logged pid 125373 in log/2/server/smtp_server.pid 05:47:14.836045 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.297093 Running IPv4 version 05:47:14.297164 Listening on port 39435 05:47:14.297201 Wrote pid 125459 to log/2/server/smtp_sockfilt.pid 05:47:14.297229 Wrote port 39435 to log/2/server/smtp_server.port 05:47:14.297249 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-901 From: different To: another . . . body === End of file stdin-for-901 === Start of file valgrind901 ==125852== ==125852== Process terminating with default action of signal 4 (SIGILL) ==125852== Illegal opcode at address 0x4014883 ==125852== at 0x4014883: getparameter (tool_getparam.c:2899) ==125852== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125852== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125852== by 0x4004208: main (tool_main.c:189) === End of file valgrind901 test 0919...[SMTP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind919 ../src/curl -q --output log/8/curl919.out --include --trace-ascii log/8/trace919 --trace-time smtp://127.0.0.1:38821/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout919 2> log/8/stderr919 919: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind919 ../src/curl -q --output log/8/curl919.out --include --trace-ascii log/8/trace919 --trace-time smtp://127.0.0.1:38821/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout919 2> log/8/stderr919 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 235 Authenticated Testnum 919 === End of file server.cmd === Start of file smtp_server.log 05:47:16.537503 ====> Client connect 05:47:16.537666 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:16.537952 < "EHLO verifiedserver" 05:47:16.537996 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:16.538157 < "HELP" 05:47:16.538189 > "214 WE ROOLZ: 110725[CR][LF]" 05:47:16.538202 return proof we are we 05:47:16.538409 < "QUIT" 05:47:16.538465 > "221 curl ESMTP server signing off[CR][LF]" 05:47:16.539430 MAIN sockfilt said DISC 05:47:16.539462 ====> Client disconnected 05:47:16.539527 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.998848 ====> Client connect 05:47:15.999134 Received DATA (on stdin) 05:47:15.999148 > 146 bytes data, server => client 05:47:15.999158 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:15.999167 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:15.999175 '220 \___|\___/|_| \_\_____|\r\n' 05:47:15.999252 < 21 bytes data, client => server 05:47:15.999263 'EHLO verifiedserver\r\n' 05:47:15.999455 Received DATA (on stdin) 05:47:15.999465 > 53 bytes data, server => client 05:47:15.999474 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:15.999525 < 6 bytes data, client => server 05:47:15.999534 'HELP\r\n' 05:47:15.999656 Received DATA (on stdin) 05:47:15.999665 > 22 bytes data, server => client 05:47:15.999674 '214 WE ROOLZ: 110725\r\n' 05:47:15.999782 < 6 bytes data, client => server 05:47:15.999793 'QUIT\r\n' 05:47:15.999872 Received DATA (on stdin) 05:47:15.999882 > 35 bytes data, server => client 05:47:15.999921 '221 curl ESMTP server signing off\r\n' 05:47:16.000829 ====> Client disconnect 05:47:16.000980 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-919 mail body === End of file stdin-for-919 === Start of file valgrind919 ==126467== ==126467== Process terminating with default action of signal 4 (SIGILL) ==126467== Illegal opcode at address 0x4014883 ==126467== at 0x4014883: getparameter (tool_getparam.c:2899) ==126467== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126467== by 0x4004208: UnknownInCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind902 ../src/curl -q --output log/1/curl902.out --include --trace-ascii log/1/trace902 --trace-time smtp://127.0.0.1:34267/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/1/stdout902 2> log/1/stderr902 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind905 ../src/curl -q --output log/21/curl905.out --include --trace-ascii log/21/trace905 --trace-time smtp://127.0.0.1:34831/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout905 2> log/21/stderr905 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind916 ../src/curl -q --output log/6/curl916.out --include --trace-ascii log/6/trace916 --trace-time smtp://127.0.0.1:37015/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/6/stdout916 2> log/6/stderr916 linedFun (tool_operate.c:2293) ==126467== by 0x4004208: main (tool_main.c:189) === End of file valgrind919 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/smtp_server.pid" --logfile "log/1/smtp_server.log" --logdir "log/1" --portfile "log/1/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34267 (log/1/server/smtp_server.port) RUN: SMTP server is PID 125372 port 34267 * pid smtp => 125372 125372 test 0902...[RFC821-only SMTP server (EHLO not supported)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind902 ../src/curl -q --output log/1/curl902.out --include --trace-ascii log/1/trace902 --trace-time smtp://127.0.0.1:34267/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/1/stdout902 2> log/1/stderr902 902: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 902 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind902 ../src/curl -q --output log/1/curl902.out --include --trace-ascii log/1/trace902 --trace-time smtp://127.0.0.1:34267/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/1/stdout902 2> log/1/stderr902 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 902 === End of file server.cmd === Start of file smtp_server.log 05:47:14.837313 SMTP server listens on port IPv4/34267 05:47:14.837414 logged pid 125372 in log/1/server/smtp_server.pid 05:47:14.837442 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.298026 Running IPv4 version 05:47:14.298079 Listening on port 34267 05:47:14.298116 Wrote pid 125463 to log/1/server/smtp_sockfilt.pid 05:47:14.298142 Wrote port 34267 to log/1/server/smtp_server.port 05:47:14.298160 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-902 From: different To: another body === End of file stdin-for-902 === Start of file valgrind902 ==125853== ==125853== Process terminating with default action of signal 4 (SIGILL) ==125853== Illegal opcode at address 0x4014883 ==125853== at 0x4014883: getparameter (tool_getparam.c:2899) ==125853== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125853== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125853== by 0x4004208: main (tool_main.c:189) === End of file valgrind902 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/smtp_server.pid" --logfile "log/21/smtp_server.log" --logdir "log/21" --portfile "log/21/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34831 (log/21/server/smtp_server.port) RUN: SMTP server is PID 125421 port 34831 * pid smtp => 125421 125421 test 0905...[SMTP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind905 ../src/curl -q --output log/21/curl905.out --include --trace-ascii log/21/trace905 --trace-time smtp://127.0.0.1:34831/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout905 2> log/21/stderr905 905: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 905 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind905 ../src/curl -q --output log/21/curl905.out --include --trace-ascii log/21/trace905 --trace-time smtp://127.0.0.1:34831/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout905 2> log/21/stderr905 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== 235 Authenticated Testnum 905 === End of file server.cmd === Start of file smtp_server.log 05:47:14.836314 SMTP server listens on port IPv4/34831 05:47:14.836419 logged pid 125421 in log/21/server/smtp_server.pid 05:47:14.836445 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:14.296630 Running IPv4 version 05:47:14.296712 Listening on port 34831 05:47:14.296755 Wrote pid 125460 to log/21/server/smtp_sockfilt.pid 05:47:14.296784 Wrote port 34831 to log/21/server/smtp_server.port 05:47:14.297665 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-905 mail body === End of file stdin-for-905 === Start of file valgrind905 ==125901== ==125901== Process terminating with default action of signal 4 (SIGILL) ==125901== Illegal opcode at address 0x4014883 ==125901== at 0x4014883: getparameter (tool_getparam.c:2899) ==125901== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==125901== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==125901== by 0x4004208: main (tool_main.c:189) === End of file valgrind905 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/smtp_server.pid" --logfile "log/6/smtp_server.log" --logdir "log/6" --portfile "log/6/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37015 (log/6/server/smtp_server.port) RUN: SMTP server is PID 126008 port 37015 * pid smtp => 126008 126008 test 0916...[SMTP with invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind916 ../src/curl -q --output log/6/curl916.out --include --trace-ascii log/6/trace916 --trace-time smtp://127.0.0.1:37015/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/6/stdout916 2> log/6/stderr916 916: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind916 ../src/curl -q --output log/6/curl916.out --include --trace-ascii log/6/trace916 --trace-time smtp://127.0.0.1:37015/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/6/stdout916 2> log/6/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 05:47:15.978988 SMTP server listens on port IPv4/37015 05:47:15.979159 logged pid 126008 in log/6/server/smtp_server.pid 05:47:15.979201 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.431679 Running IPv4 version 05:47:15.431766 Listening on port 37015 05:47:15.431811 Wrote pid 126187 to log/6/server/smtp_sockfilt.pid 05:47:15.431844 Wrote port 37015 to log/6/server/smtp_server.port 05:47:15.437773 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-916 From: different To: another body === End of file stdin-for-916 === Start of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind924 ../src/curl -q --output log/10/curl924.out --include --trace-ascii log/10/trace924 --trace-time smtp://127.0.0.1:40765/924 --mail-rcpt smith > log/10/stdout924 2> log/10/stderr924 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind927 ../src/curl -q --output log/23/curl927.out --include --trace-ascii log/23/trace927 --trace-time smtp://127.0.0.1:34899/927 --mail-rcpt Friends -X EXPN > log/23/stdout927 2> log/23/stderr927 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind920 ../src/curl -q --output log/11/curl920.out --include --trace-ascii log/11/trace920 --trace-time smtp://127.0.0.1:33171/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout920 2> log/11/stderr920 valgrind916 ==126599== ==126599== Process terminating with default action of signal 4 (SIGILL) ==126599== Illegal opcode at address 0x4014883 ==126599== at 0x4014883: getparameter (tool_getparam.c:2899) ==126599== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126599== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126599== by 0x4004208: main (tool_main.c:189) === End of file valgrind916 test 0924...[SMTP ambiguous VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind924 ../src/curl -q --output log/10/curl924.out --include --trace-ascii log/10/trace924 --trace-time smtp://127.0.0.1:40765/924 --mail-rcpt smith > log/10/stdout924 2> log/10/stderr924 924: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 924 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind924 ../src/curl -q --output log/10/curl924.out --include --trace-ascii log/10/trace924 --trace-time smtp://127.0.0.1:40765/924 --mail-rcpt smith > log/10/stdout924 2> log/10/stderr924 === End of file commands.log === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 05:47:16.858238 ====> Client connect 05:47:16.858472 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:16.858792 < "EHLO verifiedserver" 05:47:16.858844 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:16.859042 < "HELP" 05:47:16.859079 > "214 WE ROOLZ: 110658[CR][LF]" 05:47:16.859098 return proof we are we 05:47:16.859341 < "QUIT" 05:47:16.859371 > "221 curl ESMTP server signing off[CR][LF]" 05:47:16.860507 MAIN sockfilt said DISC 05:47:16.860540 ====> Client disconnected 05:47:16.860614 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.319556 ====> Client connect 05:47:17.319950 Received DATA (on stdin) 05:47:17.319967 > 146 bytes data, server => client 05:47:17.319980 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.319990 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.320000 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.320081 < 21 bytes data, client => server 05:47:17.320098 'EHLO verifiedserver\r\n' 05:47:17.320324 Received DATA (on stdin) 05:47:17.320336 > 53 bytes data, server => client 05:47:17.320348 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.320405 < 6 bytes data, client => server 05:47:17.320416 'HELP\r\n' 05:47:17.320555 Received DATA (on stdin) 05:47:17.320567 > 22 bytes data, server => client 05:47:17.320578 '214 WE ROOLZ: 110658\r\n' 05:47:17.320706 < 6 bytes data, client => server 05:47:17.320721 'QUIT\r\n' 05:47:17.320828 Received DATA (on stdin) 05:47:17.320839 > 35 bytes data, server => client 05:47:17.320850 '221 curl ESMTP server signing off\r\n' 05:47:17.321912 ====> Client disconnect 05:47:17.322075 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==126597== ==126597== Process terminating with default action of signal 4 (SIGILL) ==126597== Illegal opcode at address 0x4014883 ==126597== at 0x4014883: getparameter (tool_getparam.c:2899) ==126597== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126597== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126597== by 0x4004208: main (tool_main.c:189) === End of file valgrind924 test 0927...[SMTP mailing list EXPN (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind927 ../src/curl -q --output log/23/curl927.out --include --trace-ascii log/23/trace927 --trace-time smtp://127.0.0.1:34899/927 --mail-rcpt Friends -X EXPN > log/23/stdout927 2> log/23/stderr927 927: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 927 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind927 ../src/curl -q --output log/23/curl927.out --include --trace-ascii log/23/trace927 --trace-time smtp://127.0.0.1:34899/927 --mail-rcpt Friends -X EXPN > log/23/stdout927 2> log/23/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 05:47:17.610385 ====> Client connect 05:47:17.610587 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:17.610970 < "EHLO verifiedserver" 05:47:17.611019 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:17.611188 < "HELP" 05:47:17.611224 > "214 WE ROOLZ: 125410[CR][LF]" 05:47:17.611239 return proof we are we 05:47:17.611476 < "QUIT" 05:47:17.611510 > "221 curl ESMTP server signing off[CR][LF]" 05:47:17.612700 MAIN sockfilt said DISC 05:47:17.612730 ====> Client disconnected 05:47:17.612795 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.070335 ====> Client connect 05:47:17.072067 Received DATA (on stdin) 05:47:17.072091 > 146 bytes data, server => client 05:47:17.072103 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.072114 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.072123 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.072250 < 21 bytes data, client => server 05:47:17.072263 'EHLO verifiedserver\r\n' 05:47:17.072480 Received DATA (on stdin) 05:47:17.072492 > 53 bytes data, server => client 05:47:17.072502 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.072558 < 6 bytes data, client => server 05:47:17.072569 'HELP\r\n' 05:47:17.072693 Received DATA (on stdin) 05:47:17.072703 > 22 bytes data, server => client 05:47:17.072713 '214 WE ROOLZ: 125410\r\n' 05:47:17.072821 < 6 bytes data, client => server 05:47:17.072834 'QUIT\r\n' 05:47:17.072967 Received DATA (on stdin) 05:47:17.072978 > 35 bytes data, server => client 05:47:17.072988 '221 curl ESMTP server signing off\r\n' 05:47:17.074099 ====> Client disconnect 05:47:17.074249 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==126998== ==126998== Process terminating with default action of signal 4 (SIGILL) ==126998== Illegal opcode at address 0x4014883 ==126998== at 0x4014883: getparameter (tool_getparam.c:2899) ==126998== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126998== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126998== by 0x4004208: main (tool_main.c:189) === End of file valgrind927 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/smtp_server.pid" --logfile "log/11/smtp_server.log" --logdir "log/11" --portfile "log/11/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33171 (log/11/server/smtp_server.port) RUN: SMTP server is PID 126415 port 33171 * pid smtp => 126415 126415 test 0920...[SMTP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind920 ../src/curl -q --output log/11/curl9CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind913 ../src/curl -q --output log/13/curl913.out --include --trace-ascii log/13/trace913 --trace-time smtp://127.0.0.1:38177/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/test913.eml > log/13/stdout913 2> log/13/stderr913 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind929 ../src/curl -q --output log/14/curl929.out --include --trace-ascii log/14/trace929 --trace-time smtp://127.0.0.1:36897/929 -X NOOP -I > log/14/stdout929 2> log/14/stderr929 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind923 ../src/curl -q --output log/7/curl923.out --include --trace-ascii log/7/trace923 --trace-time smtp://127.0.0.1:40479/923 --mail-rcpt recipient > log/7/stdout923 2> log/7/stderr923 20.out --include --trace-ascii log/11/trace920 --trace-time smtp://127.0.0.1:33171/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout920 2> log/11/stderr920 920: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 920 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind920 ../src/curl -q --output log/11/curl920.out --include --trace-ascii log/11/trace920 --trace-time smtp://127.0.0.1:33171/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout920 2> log/11/stderr920 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 920 === End of file server.cmd === Start of file smtp_server.log 05:47:16.562306 SMTP server listens on port IPv4/33171 05:47:16.562455 logged pid 126415 in log/11/server/smtp_server.pid 05:47:16.562491 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.016715 Running IPv4 version 05:47:16.016802 Listening on port 33171 05:47:16.016851 Wrote pid 126459 to log/11/server/smtp_sockfilt.pid 05:47:16.016890 Wrote port 33171 to log/11/server/smtp_server.port 05:47:16.020320 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-920 mail body === End of file stdin-for-920 === Start of file valgrind920 ==126831== ==126831== Process terminating with default action of signal 4 (SIGILL) ==126831== Illegal opcode at address 0x4014883 ==126831== at 0x4014883: getparameter (tool_getparam.c:2899) ==126831== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126831== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126831== by 0x4004208: main (tool_main.c:189) === End of file valgrind920 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/smtp_server.pid" --logfile "log/13/smtp_server.log" --logdir "log/13" --portfile "log/13/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38177 (log/13/server/smtp_server.port) RUN: SMTP server is PID 125770 port 38177 * pid smtp => 125770 125770 test 0913...[SMTP with large message SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind913 ../src/curl -q --output log/13/curl913.out --include --trace-ascii log/13/trace913 --trace-time smtp://127.0.0.1:38177/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/test913.eml > log/13/stdout913 2> log/13/stderr913 913: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind913 ../src/curl -q --output log/13/curl913.out --include --trace-ascii log/13/trace913 --trace-time smtp://127.0.0.1:38177/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/test913.eml > log/13/stdout913 2> log/13/stderr913 === End of file commands.log === Start of file server.cmd CAPA "SIZE 32" Testnum 913 === End of file server.cmd === Start of file smtp_server.log 05:47:15.517044 SMTP server listens on port IPv4/38177 05:47:15.517173 logged pid 125770 in log/13/server/smtp_server.pid 05:47:15.517211 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.977977 Running IPv4 version 05:47:15.978088 Listening on port 38177 05:47:15.978138 Wrote pid 125782 to log/13/server/smtp_sockfilt.pid 05:47:15.978171 Wrote port 38177 to log/13/server/smtp_server.port 05:47:15.978378 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test913.eml From: different To: another body === End of file test913.eml === Start of file valgrind913 ==126425== ==126425== Process terminating with default action of signal 4 (SIGILL) ==126425== Illegal opcode at address 0x4014883 ==126425== at 0x4014883: getparameter (tool_getparam.c:2899) ==126425== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126425== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126425== by 0x4004208: main (tool_main.c:189) === End of file valgrind913 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/smtp_server.pid" --logfile "log/7/smtp_server.log" --logdir "log/7" --portfile "log/7/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40479 (log/7/server/smtp_server.port) RUN: SMTP server is PID 126497 port 40479 * pid smtp => 126497 126497 test 0923...[SMTP VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind923 ../src/curl -q --output log/7/curl923.out --include --trace-ascii log/7/trace923 --trace-time smtp://127.0.0.1:40479/923 --mail-rcpt recipient > log/7/stdout923 2> log/7/stderr923 923: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 923 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind923 ../src/curl -q --output log/7/curl923.out --include --trace-ascii log/7/trace923 --trace-time smtp://127.0.0.1:40479/923 --mail-rcpt recipient > log/7/stdout923 2> log/7/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 05:47:16.648105 SMTP server listens on port IPv4/40479 05:47:16.648227 logged pid 126497 in log/7/server/smtp_server.pid 05:47:16.648264 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.108175 Running IPv4 version 05:47:16.108264 Listening on port 40479 05:47:16.108306 Wrote pid 126520 to log/7/server/smtp_sockfilt.pid 05:47:16.108339 Wrote port 40479 to log/7/server/smtp_server.port 05:47:16.109450 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==126979== ==126979== Process terminating with default action of signal 4 (SIGILL) ==126979== Illegal opcode at address 0x4014883 ==126979== at 0x4014883: getparameter (tool_getparam.c:2899) ==126979== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126979== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126979== by 0x4004208: main (tool_main.c:189) === End of file valgrind923 test 0929...[SMTP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind929 ../src/curl -q --output log/14/curl929.out --include --trace-ascii log/14/trace929 --trace-time smtp://127.0.0.1:36897/929 -X NOOP -I > log/14/stdout929 2> log/14/stderr929 929: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 929 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind918 ../src/curl -q --output log/16/curl918.out --include --trace-ascii log/16/trace918 --trace-time smtp://127.0.0.1:36279/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 - log/16/stdout918 2> log/16/stderr918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind922 ../src/curl -q --output log/5/curl922.out --include --trace-ascii log/5/trace922 --trace-time smtp://127.0.0.1:45461/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/5/stdout922 2> log/5/stderr922 quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind929 ../src/curl -q --output log/14/curl929.out --include --trace-ascii log/14/trace929 --trace-time smtp://127.0.0.1:36897/929 -X NOOP -I > log/14/stdout929 2> log/14/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 05:47:17.687392 ====> Client connect 05:47:17.687614 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:17.687977 < "EHLO verifiedserver" 05:47:17.688025 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:17.688221 < "HELP" 05:47:17.688256 > "214 WE ROOLZ: 110590[CR][LF]" 05:47:17.688275 return proof we are we 05:47:17.688496 < "QUIT" 05:47:17.688524 > "221 curl ESMTP server signing off[CR][LF]" 05:47:17.688932 MAIN sockfilt said DISC 05:47:17.688962 ====> Client disconnected 05:47:17.689051 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:18.148720 ====> Client connect 05:47:18.149092 Received DATA (on stdin) 05:47:18.149110 > 146 bytes data, server => client 05:47:18.149132 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:18.149145 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:18.149154 '220 \___|\___/|_| \_\_____|\r\n' 05:47:18.149267 < 21 bytes data, client => server 05:47:18.149284 'EHLO verifiedserver\r\n' 05:47:18.149491 Received DATA (on stdin) 05:47:18.149506 > 53 bytes data, server => client 05:47:18.149517 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:18.149578 < 6 bytes data, client => server 05:47:18.149593 'HELP\r\n' 05:47:18.149731 Received DATA (on stdin) 05:47:18.149744 > 22 bytes data, server => client 05:47:18.149754 '214 WE ROOLZ: 110590\r\n' 05:47:18.149863 < 6 bytes data, client => server 05:47:18.149877 'QUIT\r\n' 05:47:18.149979 Received DATA (on stdin) 05:47:18.149990 > 35 bytes data, server => client 05:47:18.150001 '221 curl ESMTP server signing off\r\n' 05:47:18.150334 ====> Client disconnect 05:47:18.150505 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==127150== ==127150== Process terminating with default action of signal 4 (SIGILL) ==127150== Illegal opcode at address 0x4014883 ==127150== at 0x4014883: getparameter (tool_getparam.c:2899) ==127150== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127150== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127150== by 0x4004208: main (tool_main.c:189) === End of file valgrind929 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/smtp_server.pid" --logfile "log/16/smtp_server.log" --logdir "log/16" --portfile "log/16/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36279 (log/16/server/smtp_server.port) RUN: SMTP server is PID 126410 port 36279 * pid smtp => 126410 126410 test 0918...[SMTP with multiple and invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind918 ../src/curl -q --output log/16/curl918.out --include --trace-ascii log/16/trace918 --trace-time smtp://127.0.0.1:36279/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 - log/16/stdout918 2> log/16/stderr918 918: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind918 ../src/curl -q --output log/16/curl918.out --include --trace-ascii log/16/trace918 --trace-time smtp://127.0.0.1:36279/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 - log/16/stdout918 2> log/16/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 05:47:16.529356 SMTP server listens on port IPv4/36279 05:47:16.529522 logged pid 126410 in log/16/server/smtp_server.pid 05:47:16.529550 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.988467 Running IPv4 version 05:47:16.988583 Listening on port 36279 05:47:16.988623 Wrote pid 126449 to log/16/server/smtp_sockfilt.pid 05:47:16.988663 Wrote port 36279 to log/16/server/smtp_server.port 05:47:16.990694 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-918 From: different To: another body === End of file stdin-for-918 === Start of file valgrind918 ==126822== ==126822== Process terminating with default action of signal 4 (SIGILL) ==126822== Illegal opcode at address 0x4014883 ==126822== at 0x4014883: getparameter (tool_getparam.c:2899) ==126822== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126822== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126822== by 0x4004208: main (tool_main.c:189) === End of file valgrind918 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/smtp_server.pid" --logfile "log/5/smtp_server.log" --logdir "log/5" --portfile "log/5/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45461 (log/5/server/smtp_server.port) RUN: SMTP server is PID 126487 port 45461 * pid smtp => 126487 126487 test 0922...[SMTP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind922 ../src/curl -q --output log/5/curl922.out --include --trace-ascii log/5/trace922 --trace-time smtp://127.0.0.1:45461/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/5/stdout922 2> log/5/stderr922 922: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 922 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind922 ../src/curl -q --output log/5/curl922.out --include --trace-ascii log/5/trace922 --trace-time smtp://127.0.0.1:45461/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/5/stdout922 2> log/5/stderr922 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 235 Authenticated Testnum 922 === End of file server.cmd === Start of file smtp_server.log 05:47:16.668986 SMTP server listens on port IPv4/45461 05:47:16.669134 logged pid 126487 in log/5/server/smtp_server.pid 05:47:16.669168 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.121501 Running IPv4 version 05:47:16.121586 Listening on port 45461 05:47:16.121626 Wrote pid 126530 to log/5/server/smtp_sockfilt.pid 05:47:16.121655 Wrote port 45461 to log/5/server/smtp_server.port 05:47:16.12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind915 ../src/curl -q --output log/18/curl915.out --include --trace-ascii log/18/trace915 --trace-time smtp://127.0.0.1:41597/915 --mail-rcpt recipient@example.com -T - log/18/stdout915 2> log/18/stderr915 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind931 ../src/curl -q --output log/22/curl931.out --include --trace-ascii log/22/trace931 --trace-time smtp://127.0.0.1:34041/%0d%0a/931 > log/22/stdout931 2> log/22/stderr931 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind921 ../src/curl -q --output log/9/curl921.out --include --trace-ascii log/9/trace921 --trace-time smtp://127.0.0.1:41275/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/9/stdout921 2> log/9/stderr921 7019 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-922 mail body === End of file stdin-for-922 === Start of file valgrind922 ==126986== ==126986== Process terminating with default action of signal 4 (SIGILL) ==126986== Illegal opcode at address 0x4014883 ==126986== at 0x4014883: getparameter (tool_getparam.c:2899) ==126986== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126986== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126986== by 0x4004208: main (tool_main.c:189) === End of file valgrind922 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/smtp_server.pid" --logfile "log/18/smtp_server.log" --logdir "log/18" --portfile "log/18/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41597 (log/18/server/smtp_server.port) RUN: SMTP server is PID 125966 port 41597 * pid smtp => 125966 125966 test 0915...[SMTP without --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind915 ../src/curl -q --output log/18/curl915.out --include --trace-ascii log/18/trace915 --trace-time smtp://127.0.0.1:41597/915 --mail-rcpt recipient@example.com -T - log/18/stdout915 2> log/18/stderr915 915: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 915 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind915 ../src/curl -q --output log/18/curl915.out --include --trace-ascii log/18/trace915 --trace-time smtp://127.0.0.1:41597/915 --mail-rcpt recipient@example.com -T - log/18/stdout915 2> log/18/stderr915 === End of file commands.log === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 05:47:15.906787 SMTP server listens on port IPv4/41597 05:47:15.906909 logged pid 125966 in log/18/server/smtp_server.pid 05:47:15.906939 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:15.367739 Running IPv4 version 05:47:15.368046 Listening on port 41597 05:47:15.368094 Wrote pid 126054 to log/18/server/smtp_sockfilt.pid 05:47:15.368124 Wrote port 41597 to log/18/server/smtp_server.port 05:47:15.368144 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-915 From: different To: another body === End of file stdin-for-915 === Start of file valgrind915 ==126585== ==126585== Process terminating with default action of signal 4 (SIGILL) ==126585== Illegal opcode at address 0x4014883 ==126585== at 0x4014883: getparameter (tool_getparam.c:2899) ==126585== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126585== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126585== by 0x4004208: main (tool_main.c:189) === End of file valgrind915 test 0931...[SMTP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind931 ../src/curl -q --output log/22/curl931.out --include --trace-ascii log/22/trace931 --trace-time smtp://127.0.0.1:34041/%0d%0a/931 > log/22/stdout931 2> log/22/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/22/ directory after test 931 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind931 ../src/curl -q --output log/22/curl931.out --include --trace-ascii log/22/trace931 --trace-time smtp://127.0.0.1:34041/%0d%0a/931 > log/22/stdout931 2> log/22/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 05:47:17.772386 ====> Client connect 05:47:17.772608 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:17.773142 < "EHLO verifiedserver" 05:47:17.773201 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:17.773404 < "HELP" 05:47:17.773442 > "214 WE ROOLZ: 125683[CR][LF]" 05:47:17.773460 return proof we are we 05:47:17.773701 < "QUIT" 05:47:17.773734 > "221 curl ESMTP server signing off[CR][LF]" 05:47:17.775005 MAIN sockfilt said DISC 05:47:17.775037 ====> Client disconnected 05:47:17.775132 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:18.233676 ====> Client connect 05:47:18.234089 Received DATA (on stdin) 05:47:18.234106 > 146 bytes data, server => client 05:47:18.234117 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:18.234126 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:18.234135 '220 \___|\___/|_| \_\_____|\r\n' 05:47:18.234277 < 21 bytes data, client => server 05:47:18.234294 'EHLO verifiedserver\r\n' 05:47:18.234671 Received DATA (on stdin) 05:47:18.234684 > 53 bytes data, server => client 05:47:18.234696 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:18.234759 < 6 bytes data, client => server 05:47:18.234772 'HELP\r\n' 05:47:18.234918 Received DATA (on stdin) 05:47:18.234930 > 22 bytes data, server => client 05:47:18.234940 '214 WE ROOLZ: 125683\r\n' 05:47:18.235060 < 6 bytes data, client => server 05:47:18.235078 'QUIT\r\n' 05:47:18.235194 Received DATA (on stdin) 05:47:18.235206 > 35 bytes data, server => client 05:47:18.235216 '221 curl ESMTP server signing off\r\n' 05:47:18.236401 ====> Client disconnect 05:47:18.236596 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 ==127282== ==127282== Process terminating with default action of signal 4 (SIGILL) ==127282== Illegal opcode at address 0x4014883 ==127282== at 0x4014883: getparameter (tool_getparam.c:2899) ==127282== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127282== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127282== by 0x4004208: main (tool_main.c:189) === End of file valgrind931 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/smtp_server.pid" --logfile "log/9/smtp_server.log" --logdir "log/9" --portfile "log/9/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41275 (log/9/server/smtp_server.port) RUN: SMTP server is PID 126432 port 41275 * pid smtp => 126432 126432 test 0921...[SMTP NTLM authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind921 ../src/curl -q --output log/9/curl921.out --include --trace-ascii log/9/trace921 --trace-time smtp://127.0.0.1:41275/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/9/stdout921 2> log/9/stderr921 921: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 921 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind921 ../src/curl -q --output log/9/curl921.out --include --trace-ascii log/9/trace921 --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind917 ../src/curl -q --output log/3/curl917.out --include --trace-ascii log/3/trace917 --trace-time smtp://127.0.0.1:41447/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 - log/3/stdout917 2> log/3/stderr917 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind926 ../src/curl -q --output log/17/curl926.out --include --trace-ascii log/17/trace926 --trace-time smtp://127.0.0.1:38425/926 --mail-rcpt recipient > log/17/stdout926 2> log/17/stderr926 trace-time smtp://127.0.0.1:41275/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/9/stdout921 2> log/9/stderr921 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 921 === End of file server.cmd === Start of file smtp_server.log 05:47:16.575867 SMTP server listens on port IPv4/41275 05:47:16.575993 logged pid 126432 in log/9/server/smtp_server.pid 05:47:16.576024 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.032651 Running IPv4 version 05:47:16.032736 Listening on port 41275 05:47:16.032776 Wrote pid 126475 to log/9/server/smtp_sockfilt.pid 05:47:16.032804 Wrote port 41275 to log/9/server/smtp_server.port 05:47:16.037187 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-921 mail body === End of file stdin-for-921 === Start of file valgrind921 ==126866== ==126866== Process terminating with default action of signal 4 (SIGILL) ==126866== Illegal opcode at address 0x4014883 ==126866== at 0x4014883: getparameter (tool_getparam.c:2899) ==126866== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126866== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126866== by 0x4004208: main (tool_main.c:189) === End of file valgrind921 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/smtp_server.pid" --logfile "log/3/smtp_server.log" --logdir "log/3" --portfile "log/3/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41447 (log/3/server/smtp_server.port) RUN: SMTP server is PID 126234 port 41447 * pid smtp => 126234 126234 test 0917...[SMTP with multiple --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind917 ../src/curl -q --output log/3/curl917.out --include --trace-ascii log/3/trace917 --trace-time smtp://127.0.0.1:41447/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 - log/3/stdout917 2> log/3/stderr917 917: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind917 ../src/curl -q --output log/3/curl917.out --include --trace-ascii log/3/trace917 --trace-time smtp://127.0.0.1:41447/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 - log/3/stdout917 2> log/3/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 05:47:16.145668 SMTP server listens on port IPv4/41447 05:47:16.145840 logged pid 126234 in log/3/server/smtp_server.pid 05:47:16.145877 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:16.598294 Running IPv4 version 05:47:16.598404 Listening on port 41447 05:47:16.598447 Wrote pid 126261 to log/3/server/smtp_sockfilt.pid 05:47:16.598478 Wrote port 41447 to log/3/server/smtp_server.port 05:47:16.603657 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-917 From: different To: another body === End of file stdin-for-917 === Start of file valgrind917 ==126728== ==126728== Process terminating with default action of signal 4 (SIGILL) ==126728== Illegal opcode at address 0x4014883 ==126728== at 0x4014883: getparameter (tool_getparam.c:2899) ==126728== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126728== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126728== by 0x4004208: main (tool_main.c:189) === End of file valgrind917 test 0926...[SMTP unknown user VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind926 ../src/curl -q --output log/17/curl926.out --include --trace-ascii log/17/trace926 --trace-time smtp://127.0.0.1:38425/926 --mail-rcpt recipient > log/17/stdout926 2> log/17/stderr926 926: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 926 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind926 ../src/curl -q --output log/17/curl926.out --include --trace-ascii log/17/trace926 --trace-time smtp://127.0.0.1:38425/926 --mail-rcpt recipient > log/17/stdout926 2> log/17/stderr926 === End of file commands.log === Start of file server.cmd REPLY VRFY 550 Unknown user Testnum 926 === End of file server.cmd === Start of file smtp_server.log 05:47:17.578736 ====> Client connect 05:47:17.578941 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:17.579896 < "EHLO verifiedserver" 05:47:17.579945 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:17.580136 < "HELP" 05:47:17.580167 > "214 WE ROOLZ: 125542[CR][LF]" 05:47:17.580204 return proof we are we 05:47:17.580417 < "QUIT" 05:47:17.580445 > "221 curl ESMTP server signing off[CR][LF]" 05:47:17.580864 MAIN sockfilt said DISC 05:47:17.580892 ====> Client disconnected 05:47:17.580954 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.040065 ====> Client connect 05:47:17.040415 Received DATA (on stdin) 05:47:17.040430 > 146 bytes data, server => client 05:47:17.040442 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.040452 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.040462 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.041128 < 21 bytes data, client => server 05:47:17.041144 'EHLO verifiedserver\r\n' 05:47:17.041407 Received DATA (on stdin) 05:47:17.041419 > 53 bytes data, server => client 05:47:17.041430 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.041506 < 6 bytes data, client => server 05:47:17.041517 'HELP\r\n' 05:47:17.041659 Received DATA (on stdin) 05:47:17.041670 > 22 bytes data, server => client 05:47:17.041680 '214 WE ROOLZ: 125542\r\n' 05:47:17.041785 < 6 bytes data, client => server 05:47:17.041796 'QUIT\r\n' 05:47:17.041915 Received DATA (on stdin) 05:47:17.041932 > 35 bytes data, server => client 05:47:17.041942 '221 curl ESMTP server signing off\r\n' 05:47:17.042266 ====> Client disconnect 05:47:17.042409 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==126959== ==126959== Process terminating with default action of signal 4 (SIGILL) ==126959== Illegal opcode at address 0x4014883 ==126959== at 0x4014883: getparCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind925 ../src/curl -q --output log/19/curl925.out --include --trace-ascii log/19/trace925 --trace-time smtp://127.0.0.1:46683/925 --mail-rcpt user@example.net > log/19/stdout925 2> log/19/stderr925 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind935 ../src/curl -q --output log/4/curl935.out --include --trace-ascii log/4/trace935 --trace-time smtp://127.0.0.1:37371/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/4/stdout935 2> log/4/stderr935 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind930 ../src/curl -q --output log/15/curl930.out --include --trace-ascii log/15/trace930 --trace-time smtp://127.0.0.1:44277/930 -X RSET -I > log/15/stdout930 2> log/15/stderr930 ameter (tool_getparam.c:2899) ==126959== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==126959== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==126959== by 0x4004208: main (tool_main.c:189) === End of file valgrind926 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/smtp_server.pid" --logfile "log/19/smtp_server.log" --logdir "log/19" --portfile "log/19/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46683 (log/19/server/smtp_server.port) RUN: SMTP server is PID 126718 port 46683 * pid smtp => 126718 126718 test 0925...[SMTP external VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind925 ../src/curl -q --output log/19/curl925.out --include --trace-ascii log/19/trace925 --trace-time smtp://127.0.0.1:46683/925 --mail-rcpt user@example.net > log/19/stdout925 2> log/19/stderr925 925: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 925 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind925 ../src/curl -q --output log/19/curl925.out --include --trace-ascii log/19/trace925 --trace-time smtp://127.0.0.1:46683/925 --mail-rcpt user@example.net > log/19/stdout925 2> log/19/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 05:47:17.212515 SMTP server listens on port IPv4/46683 05:47:17.212653 logged pid 126718 in log/19/server/smtp_server.pid 05:47:17.212696 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.671520 Running IPv4 version 05:47:17.671646 Listening on port 46683 05:47:17.671697 Wrote pid 126784 to log/19/server/smtp_sockfilt.pid 05:47:17.671730 Wrote port 46683 to log/19/server/smtp_server.port 05:47:17.673836 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==127541== ==127541== Process terminating with default action of signal 4 (SIGILL) ==127541== Illegal opcode at address 0x4014883 ==127541== at 0x4014883: getparameter (tool_getparam.c:2899) ==127541== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127541== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127541== by 0x4004208: main (tool_main.c:189) === End of file valgrind925 test 0935...[SMTP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind935 ../src/curl -q --output log/4/curl935.out --include --trace-ascii log/4/trace935 --trace-time smtp://127.0.0.1:37371/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/4/stdout935 2> log/4/stderr935 935: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 935 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind935 ../src/curl -q --output log/4/curl935.out --include --trace-ascii log/4/trace935 --trace-time smtp://127.0.0.1:37371/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/4/stdout935 2> log/4/stderr935 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 935 === End of file server.cmd === Start of file smtp_server.log 05:47:18.152610 ====> Client connect 05:47:18.152820 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.153197 < "EHLO verifiedserver" 05:47:18.153244 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.153426 < "HELP" 05:47:18.153462 > "214 WE ROOLZ: 125727[CR][LF]" 05:47:18.153480 return proof we are we 05:47:18.153708 < "QUIT" 05:47:18.153744 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.155138 MAIN sockfilt said DISC 05:47:18.155176 ====> Client disconnected 05:47:18.155272 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:18.613665 ====> Client connect 05:47:18.614296 Received DATA (on stdin) 05:47:18.614313 > 146 bytes data, server => client 05:47:18.614326 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:18.614336 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:18.614346 '220 \___|\___/|_| \_\_____|\r\n' 05:47:18.614468 < 21 bytes data, client => server 05:47:18.614483 'EHLO verifiedserver\r\n' 05:47:18.614705 Received DATA (on stdin) 05:47:18.614719 > 53 bytes data, server => client 05:47:18.614731 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:18.614792 < 6 bytes data, client => server 05:47:18.614802 'HELP\r\n' 05:47:18.614939 Received DATA (on stdin) 05:47:18.614951 > 22 bytes data, server => client 05:47:18.614962 '214 WE ROOLZ: 125727\r\n' 05:47:18.615071 < 6 bytes data, client => server 05:47:18.615086 'QUIT\r\n' 05:47:18.615206 Received DATA (on stdin) 05:47:18.615218 > 35 bytes data, server => client 05:47:18.615229 '221 curl ESMTP server signing off\r\n' 05:47:18.616267 ====> Client disconnect 05:47:18.616738 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-935 mail body === End of file stdin-for-935 === Start of file valgrind935 ==127611== ==127611== Process terminating with default action of signal 4 (SIGILL) ==127611== Illegal opcode at address 0x4014883 ==127611== at 0x4014883: getparameter (tool_getparam.c:2899) ==127611== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127611== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127611== by 0x4004208: main (tool_main.c:189) === End of file valgrind935 test 0930...[SMTP RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind930 ../src/curl -q --output log/15/curl930.out --include --trace-ascii log/15/trace930 --trace-time smtp://127.0.0.1:44277/930 -X RSET -I > log/15/stdout930 2> log/15/stderr930 930: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 930 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind930 ../src/curl -q --output log/15/curl930.out --include --trace-ascii log/15/trace930 --trace-time smtp://127.0.0.1:44277/930 -X RSET -I > log/15/stdout930 2> log/15/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 05:47:17.710430 ====> Client connect 05:47:17.710596 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:17.710968 < "EHLO verifiedserver" 05:47:17.711019 > "250 ESMTP pingponCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind932 ../src/curl -q --output log/20/curl932.out --include --trace-ascii log/20/trace932 --trace-time smtp://127.0.0.1:37817/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/20/stdout932 2> log/20/stderr932 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind928 ../src/curl -q --output log/12/curl928.out --include --trace-ascii log/12/trace928 --trace-time smtp://127.0.0.1:42795/928 > log/12/stdout928 2> log/12/stderr928 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind936 ../src/curl -q --output log/2/curl936.out --include --trace-ascii log/2/trace936 --trace-time smtp://127.0.0.1:39435/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout936 2> log/2/stderr936 g test server Hello verifiedserver[CR][LF]" 05:47:17.711201 < "HELP" 05:47:17.711236 > "214 WE ROOLZ: 125704[CR][LF]" 05:47:17.711254 return proof we are we 05:47:17.711501 < "QUIT" 05:47:17.711533 > "221 curl ESMTP server signing off[CR][LF]" 05:47:17.715599 MAIN sockfilt said DISC 05:47:17.715633 ====> Client disconnected 05:47:17.715720 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:18.170363 ====> Client connect 05:47:18.172074 Received DATA (on stdin) 05:47:18.172093 > 146 bytes data, server => client 05:47:18.172105 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:18.172116 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:18.172125 '220 \___|\___/|_| \_\_____|\r\n' 05:47:18.172245 < 21 bytes data, client => server 05:47:18.172260 'EHLO verifiedserver\r\n' 05:47:18.172480 Received DATA (on stdin) 05:47:18.172492 > 53 bytes data, server => client 05:47:18.172503 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:18.172561 < 6 bytes data, client => server 05:47:18.172573 'HELP\r\n' 05:47:18.172710 Received DATA (on stdin) 05:47:18.172721 > 22 bytes data, server => client 05:47:18.172731 '214 WE ROOLZ: 125704\r\n' 05:47:18.172847 < 6 bytes data, client => server 05:47:18.172862 'QUIT\r\n' 05:47:18.172991 Received DATA (on stdin) 05:47:18.173002 > 35 bytes data, server => client 05:47:18.173012 '221 curl ESMTP server signing off\r\n' 05:47:18.176985 ====> Client disconnect 05:47:18.177183 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==127270== ==127270== Process terminating with default action of signal 4 (SIGILL) ==127270== Illegal opcode at address 0x4014883 ==127270== at 0x4014883: getparameter (tool_getparam.c:2899) ==127270== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127270== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127270== by 0x4004208: main (tool_main.c:189) === End of file valgrind930 test 0932...[SMTP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind932 ../src/curl -q --output log/20/curl932.out --include --trace-ascii log/20/trace932 --trace-time smtp://127.0.0.1:37817/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/20/stdout932 2> log/20/stderr932 932: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 932 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind932 ../src/curl -q --output log/20/curl932.out --include --trace-ascii log/20/trace932 --trace-time smtp://127.0.0.1:37817/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/20/stdout932 2> log/20/stderr932 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 932 === End of file server.cmd === Start of file smtp_server.log 05:47:18.004137 ====> Client connect 05:47:18.004370 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.005003 < "EHLO verifiedserver" 05:47:18.005060 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.005758 < "HELP" 05:47:18.005930 > "214 WE ROOLZ: 125363[CR][LF]" 05:47:18.005960 return proof we are we 05:47:18.006483 < "QUIT" 05:47:18.006522 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.012297 MAIN sockfilt said DISC 05:47:18.012347 ====> Client disconnected 05:47:18.012445 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.465435 ====> Client connect 05:47:17.465850 Received DATA (on stdin) 05:47:17.465868 > 146 bytes data, server => client 05:47:17.465881 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.465892 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.465902 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.466261 < 21 bytes data, client => server 05:47:17.466280 'EHLO verifiedserver\r\n' 05:47:17.466515 Received DATA (on stdin) 05:47:17.466532 > 53 bytes data, server => client 05:47:17.466543 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.467105 < 6 bytes data, client => server 05:47:17.467123 'HELP\r\n' 05:47:17.467423 Received DATA (on stdin) 05:47:17.467437 > 22 bytes data, server => client 05:47:17.467447 '214 WE ROOLZ: 125363\r\n' 05:47:17.467611 < 6 bytes data, client => server 05:47:17.467628 'QUIT\r\n' 05:47:17.467986 Received DATA (on stdin) 05:47:17.468000 > 35 bytes data, server => client 05:47:17.468010 '221 curl ESMTP server signing off\r\n' 05:47:17.473666 ====> Client disconnect 05:47:17.473912 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==127499== ==127499== Process terminating with default action of signal 4 (SIGILL) ==127499== Illegal opcode at address 0x4014883 ==127499== at 0x4014883: getparameter (tool_getparam.c:2899) ==127499== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127499== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127499== by 0x4004208: main (tool_main.c:189) === End of file valgrind932 test 0936...[SMTP NTLM authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind936 ../src/curl -q --output log/2/curl936.out --include --trace-ascii log/2/trace936 --trace-time smtp://127.0.0.1:39435/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout936 2> log/2/stderr936 936: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 936 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind936 ../src/curl -q --output log/2/curl936.out --include --trace-ascii log/2/trace936 --trace-time smtp://127.0.0.1:39435/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/2/stdout936 2> log/2/stderr936 === End of file commands.log === Start of file server.cmd 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 AHVzZXIAc2VjcmV0 235 Authenticated Testnum 936 === End of file server.cmd === Start of file smtp_server.log 05:47:18.145699 ====> Client connect 05:47:18.145877 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.146221 < "EHLO verifiedserver" 05:47:18.146264 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.146418 < "HELP" 05:47:18.146449 > "214 WE ROOLZ: 125373[CR][LF]" 05:47:18.146465 return proof we are we 05:47:18.146695 < "QUIT" 05:47:18.146722 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.148932 MAIN sockfilt said DISC 05:47:18.148966 ====> Client disconnected 05:47:18.149234 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.607005 ====> Client connect 05:47:17.607343 Received DATA (on stdin) 05:47:17.607357CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind940 ../src/curl -q --output log/1/curl940.out --include --trace-ascii log/1/trace940 --trace-time smtp://127.0.0.1:34267/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout940 2> log/1/stderr940 > 146 bytes data, server => client 05:47:17.607368 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.607379 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.607388 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.607506 < 21 bytes data, client => server 05:47:17.607517 'EHLO verifiedserver\r\n' 05:47:17.607721 Received DATA (on stdin) 05:47:17.607732 > 53 bytes data, server => client 05:47:17.607743 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.607795 < 6 bytes data, client => server 05:47:17.607804 'HELP\r\n' 05:47:17.607918 Received DATA (on stdin) 05:47:17.607928 > 22 bytes data, server => client 05:47:17.607938 '214 WE ROOLZ: 125373\r\n' 05:47:17.608046 < 6 bytes data, client => server 05:47:17.608058 'QUIT\r\n' 05:47:17.608176 Received DATA (on stdin) 05:47:17.608186 > 35 bytes data, server => client 05:47:17.608196 '221 curl ESMTP server signing off\r\n' 05:47:17.610324 ====> Client disconnect 05:47:17.610586 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-936 mail body === End of file stdin-for-936 === Start of file valgrind936 ==127599== ==127599== Process terminating with default action of signal 4 (SIGILL) ==127599== Illegal opcode at address 0x4014883 ==127599== at 0x4014883: getparameter (tool_getparam.c:2899) ==127599== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127599== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127599== by 0x4004208: main (tool_main.c:189) === End of file valgrind936 test 0928...[SMTP HELP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind928 ../src/curl -q --output log/12/curl928.out --include --trace-ascii log/12/trace928 --trace-time smtp://127.0.0.1:42795/928 > log/12/stdout928 2> log/12/stderr928 928: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 928 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind928 ../src/curl -q --output log/12/curl928.out --include --trace-ascii log/12/trace928 --trace-time smtp://127.0.0.1:42795/928 > log/12/stdout928 2> log/12/stderr928 === End of file commands.log === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 05:47:17.642426 ====> Client connect 05:47:17.642623 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:17.643025 < "EHLO verifiedserver" 05:47:17.643081 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:17.643279 < "HELP" 05:47:17.643319 > "214 WE ROOLZ: 125404[CR][LF]" 05:47:17.643335 return proof we are we 05:47:17.643548 < "QUIT" 05:47:17.643578 > "221 curl ESMTP server signing off[CR][LF]" 05:47:17.644700 MAIN sockfilt said DISC 05:47:17.644733 ====> Client disconnected 05:47:17.644823 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.097161 ====> Client connect 05:47:17.104106 Received DATA (on stdin) 05:47:17.104127 > 146 bytes data, server => client 05:47:17.104139 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.104149 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.104158 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.104286 < 21 bytes data, client => server 05:47:17.104300 'EHLO verifiedserver\r\n' 05:47:17.104543 Received DATA (on stdin) 05:47:17.104556 > 53 bytes data, server => client 05:47:17.104568 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.104634 < 6 bytes data, client => server 05:47:17.104647 'HELP\r\n' 05:47:17.104790 Received DATA (on stdin) 05:47:17.104802 > 22 bytes data, server => client 05:47:17.104812 '214 WE ROOLZ: 125404\r\n' 05:47:17.104913 < 6 bytes data, client => server 05:47:17.104924 'QUIT\r\n' 05:47:17.105033 Received DATA (on stdin) 05:47:17.105044 > 35 bytes data, server => client 05:47:17.105055 '221 curl ESMTP server signing off\r\n' 05:47:17.106096 ====> Client disconnect 05:47:17.106289 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==127072== ==127072== Process terminating with default action of signal 4 (SIGILL) ==127072== Illegal opcode at address 0x4014883 ==127072== at 0x4014883: getparameter (tool_getparam.c:2899) ==127072== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127072== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127072== by 0x4004208: main (tool_main.c:189) === End of file valgrind928 test 0940...[SMTP with username and password but no AUTH capability] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind940 ../src/curl -q --output log/1/curl940.out --include --trace-ascii log/1/trace940 --trace-time smtp://127.0.0.1:34267/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout940 2> log/1/stderr940 940: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 940 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind940 ../src/curl -q --output log/1/curl940.out --include --trace-ascii log/1/trace940 --trace-time smtp://127.0.0.1:34267/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout940 2> log/1/stderr940 === End of file commands.log === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 05:47:18.362394 ====> Client connect 05:47:18.362579 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.370141 < "EHLO verifiedserver" 05:47:18.370206 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.370376 < "HELP" 05:47:18.370408 > "214 WE ROOLZ: 125372[CR][LF]" 05:47:18.370423 return proof we are we 05:47:18.370651 < "QUIT" 05:47:18.370679 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.371845 MAIN sockfilt said DISC 05:47:18.371875 ====> Client disconnected 05:47:18.371973 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.823707 ====> Client connect 05:47:17.826989 Received DATA (on stdin) 05:47:17.827019 > 146 bytes data, server => client 05:47:17.827032 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.827042 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.827051 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.831341 < 21 bytes data, client => server 05:47:17.831376 'EHLO verifiedserver\r\n' 05:47:17.831668 Received DATA (on stdin) 05:47:17.831680 > 53 bytes data, server => client 05:47:17.831691 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.831746 < 6 bytes data, client => server 05:47:17.831757 'HELP\r\n' 05:47:17.831878 Received DATA (on stdin) 05:47:17.831888 > 22 bytes data, server => client 05:47:17.831898 '214 WE ROOLZ: 125372\r\n' 05:47:17.832001 < 6 bytes data, client => server 05:47:17.832013 'QUIT\r\n' 05:47:17.832134 Received DATA (on stdin) 05:47:17.832145 > 35 bytes data, server => client 05:47:17.832155 '221 curl ESMTP server signing off\r\n' 05:47:17.833248 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind941 ../src/curl -q --output log/21/curl941.out --include --trace-ascii log/21/trace941 --trace-time smtp://127.0.0.1:34831/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/21/upload941 --crlf > log/21/stdout941 2> log/21/stderr941 ==> Client disconnect 05:47:17.833431 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-940 mail body === End of file stdin-for-940 === Start of file valgrind940 ==127840== ==127840== Process terminating with default action of signal 4 (SIGILL) ==127840== Illegal opcode at address 0x4014883 ==127840== at 0x4014883: getparameter (tool_getparam.c:2899) ==127840== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127840== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127840== by 0x4004208: main (tool_main.c:189) === End of file valgrind940 test 0941...[SMTP with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind941 ../src/curl -q --output log/21/curl941.out --include --trace-ascii log/21/trace941 --trace-time smtp://127.0.0.1:34831/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/21/upload941 --crlf > log/21/stdout941 2> log/21/stderr941 941: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 941 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind941 ../src/curl -q --output log/21/curl941.out --include --trace-ascii log/21/trace941 --trace-time smtp://127.0.0.1:34831/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/21/upload941 --crlf > log/21/stdout941 2> log/21/stderr941 === End of file commands.log === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 05:47:18.484158 ====> Client connect 05:47:18.484341 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.484638 < "EHLO verifiedserver" 05:47:18.484677 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.484829 < "HELP" 05:47:18.484859 > "214 WE ROOLZ: 125421[CR][LF]" 05:47:18.484873 return proof we are we 05:47:18.485076 < "QUIT" 05:47:18.485102 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.495591 MAIN sockfilt said DISC 05:47:18.495688 ====> Client disconnected 05:47:18.495790 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.945482 ====> Client connect 05:47:17.945812 Received DATA (on stdin) 05:47:17.945826 > 146 bytes data, server => client 05:47:17.945838 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.945848 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.945857 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.945931 < 21 bytes data, client => server 05:47:17.945942 'EHLO verifiedserver\r\n' 05:47:17.946135 Received DATA (on stdin) 05:47:17.946146 > 53 bytes data, server => client 05:47:17.946156 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.946206 < 6 bytes data, client => server 05:47:17.946215 'HELP\r\n' 05:47:17.946326 Received DATA (on stdin) 05:47:17.946335 > 22 bytes data, server => client 05:47:17.946345 '214 WE ROOLZ: 125421\r\n' 05:47:17.946452 < 6 bytes data, client => server 05:47:17.946463 'QUIT\r\n' 05:47:17.946555 Received DATA (on stdin) 05:47:17.946565 > 35 bytes data, server => client 05:47:17.946579 '221 curl ESMTP server signing off\r\n' 05:47:17.950315 ====> Client disconnect 05:47:17.957972 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file upload941 From: different To: another email headers and body with Unix newlines meant to be converted with the --crlf option 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789012345678901234CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:44727/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 56789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file upload941 === Start of file valgrind941 ==127933== ==127933== Process terminating with default action of signal 4 (SIGILL) ==127933== Illegal opcode at address 0x4014883 ==127933== at 0x4014883: getparameter (tool_getparam.c:2899) ==127933== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127933== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127933== by 0x4004208: main (tool_main.c:189) === End of file valgrind941 test 0933...[SMTP NTLM graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:44727/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 933: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 933 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:44727/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 === End of file commands.log === Start of file server.cmd AUTH NTLM REPLY AUTH 334 NTLM supported REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 933 === End of file server.cmd === Start of file smtp_server.log 05:47:18.036345 ====> Client connect 05:47:18.036476 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.036744 < "EHLO verifiedserver" 05:47:18.036783 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.036943 < "HELP" 05:47:18.036971 > "214 WE ROOLZ: 110659[CR][LF]" 05:47:18.036986 return proof we are we 05:47:18.037199 < "QUIT" 05:47:18.037227 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.038494 MAIN sockfilt said DISC 05:47:18.038521 ====> Client disconnected 05:47:18.038599 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:18.497675 ====> Client connect 05:47:18.497940 Received DATA (on stdin) 05:47:18.497954 > 146 bytes data, server => client 05:47:18.497965 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:18.497976 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:18.497985 '220 \___|\___/|_| \_\_____|\r\n' 05:47:18.498055 < 21 bytes data, client => server 05:47:18.498066 'EHLO verifiedserver\r\n' 05:47:18.498240 Received DATA (on stdin) 05:47:18.498251 > 53 bytes data, server => client 05:47:18.498262 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:18.498315 < 6 bytes data, client => server 05:47:18.498326 'HELP\r\n' 05:47:18.498439 Received DATA (on stdin) 05:47:18.498449 > 22 bytes data, server => client 05:47:18.498459 '214CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind939 ../src/curl -q --output log/8/curl939.out --include --trace-ascii log/8/trace939 --trace-time smtp://127.0.0.1:38821/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/8/stdout939 2> log/8/stderr939 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind942 ../src/curl -q --output log/6/curl942.out --include --trace-ascii log/6/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:37015/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/6/stdout942 2> log/6/stderr942 WE ROOLZ: 110659\r\n' 05:47:18.498552 < 6 bytes data, client => server 05:47:18.498564 'QUIT\r\n' 05:47:18.498682 Received DATA (on stdin) 05:47:18.498692 > 35 bytes data, server => client 05:47:18.498702 '221 curl ESMTP server signing off\r\n' 05:47:18.499902 ====> Client disconnect 05:47:18.500054 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind933 ==127511== ==127511== Process terminating with default action of signal 4 (SIGILL) ==127511== Illegal opcode at address 0x4014883 ==127511== at 0x4014883: getparameter (tool_getparam.c:2899) ==127511== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127511== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127511== by 0x4004208: main (tool_main.c:189) === End of file valgrind933 test 0939...[RFC821-only SMTP with username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind939 ../src/curl -q --output log/8/curl939.out --include --trace-ascii log/8/trace939 --trace-time smtp://127.0.0.1:38821/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/8/stdout939 2> log/8/stderr939 939: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 939 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind939 ../src/curl -q --output log/8/curl939.out --include --trace-ascii log/8/trace939 --trace-time smtp://127.0.0.1:38821/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/8/stdout939 2> log/8/stderr939 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 939 === End of file server.cmd === Start of file smtp_server.log 05:47:18.274376 ====> Client connect 05:47:18.274559 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.274897 < "EHLO verifiedserver" 05:47:18.274946 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.275137 < "HELP" 05:47:18.275166 > "214 WE ROOLZ: 110725[CR][LF]" 05:47:18.275180 return proof we are we 05:47:18.275413 < "QUIT" 05:47:18.275447 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.276465 MAIN sockfilt said DISC 05:47:18.276500 ====> Client disconnected 05:47:18.276605 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:17.735702 ====> Client connect 05:47:17.736037 Received DATA (on stdin) 05:47:17.736055 > 146 bytes data, server => client 05:47:17.736068 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:17.736079 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:17.736089 '220 \___|\___/|_| \_\_____|\r\n' 05:47:17.736173 < 21 bytes data, client => server 05:47:17.736190 'EHLO verifiedserver\r\n' 05:47:17.736411 Received DATA (on stdin) 05:47:17.736425 > 53 bytes data, server => client 05:47:17.736436 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:17.736496 < 6 bytes data, client => server 05:47:17.736512 'HELP\r\n' 05:47:17.736633 Received DATA (on stdin) 05:47:17.736644 > 22 bytes data, server => client 05:47:17.736653 '214 WE ROOLZ: 110725\r\n' 05:47:17.736772 < 6 bytes data, client => server 05:47:17.736787 'QUIT\r\n' 05:47:17.736906 Received DATA (on stdin) 05:47:17.736919 > 35 bytes data, server => client 05:47:17.736929 '221 curl ESMTP server signing off\r\n' 05:47:17.737868 ====> Client disconnect 05:47:17.738071 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-939 mail body === End of file stdin-for-939 === Start of file valgrind939 ==127763== ==127763== Process terminating with default action of signal 4 (SIGILL) ==127763== Illegal opcode at address 0x4014883 ==127763== at 0x4014883: getparameter (tool_getparam.c:2899) ==127763== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==127763== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==127763== by 0x4004208: main (tool_main.c:189) === End of file valgrind939 test 0942...[SMTP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind942 ../src/curl -q --output log/6/curl942.out --include --trace-ascii log/6/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:37015/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/6/stdout942 2> log/6/stderr942 942: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 942 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind942 ../src/curl -q --output log/6/curl942.out --include --trace-ascii log/6/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:37015/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/6/stdout942 2> log/6/stderr942 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY dXNlcg== 235 Authenticated Testnum 942 === End of file server.cmd === Start of file smtp_server.log 05:47:18.873527 ====> Client connect 05:47:18.873744 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:18.875743 < "EHLO verifiedserver" 05:47:18.875803 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:18.876130 < "HELP" 05:47:18.876174 > "214 WE ROOLZ: 126008[CR][LF]" 05:47:18.876189 return proof we are we 05:47:18.876432 < "QUIT" 05:47:18.876464 > "221 curl ESMTP server signing off[CR][LF]" 05:47:18.877636 MAIN sockfilt said DISC 05:47:18.877666 ====> Client disconnected 05:47:18.877734 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:18.333677 ====> Client connect 05:47:18.335227 Received DATA (on stdin) 05:47:18.335244 > 146 bytes data, server => client 05:47:18.335257 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:18.335267 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:18.335277 '220 \___|\___/|_| \_\_____|\r\n' 05:47:18.336988 < 21 bytes data, client => server 05:47:18.337008 'EHLO verifiedserver\r\n' 05:47:18.337388 Received DATA (on stdin) 05:47:18.337403 > 53 bytes data, server => client 05:47:18.337414 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:18.337478 < 6 bytes data, client => server 05:47:18.337489 'HELP\r\n' 05:47:18.337645 Received DATA (on stdin) 05:47:18.337656 > 22 bytes data, server => client 05:47:18.337666 '214 WE ROOLZ: 126008\r\n' 05:47:18.337795 < 6 bytes data, client => server 05:47:18.337807 'QUIT\r\n' 05:47:18.337918 Received DATA (on stdin) 05:47:18.337928 > 35 bytes data, server => client 05:47:18.337937 '221 curl ESMTP server signing off\r\n' 05:47:18.339038 ====> Client disconnect 05:47:18.339192 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-942 mail body === End of file stdin-for-942 === Start of file valgrind942 ==128035== ==128035== Process terminating with default action of signal 4 (SIGILL) ==128035== Illegal opcode at address 0x4014883 ==128035== at 0x4014883: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind943 ../src/curl -q --output log/10/curl943.out --include --trace-ascii log/10/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:40765/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout943 2> log/10/stderr943 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts /startdir/src/curl/tests/../docs/VERSIONS.md > log/10/stdout971 2> log/10/stderr971 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind948 ../src/curl -q --output log/14/curl948.out --include --trace-ascii log/14/trace948 --trace-time smtp://127.0.0.1:36897/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/14/stdout948 2> log/14/stderr948 getparameter (tool_getparam.c:2899) ==128035== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128035== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128035== by 0x4004208: main (tool_main.c:189) === End of file valgrind942 test 0943...[SMTP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind943 ../src/curl -q --output log/10/curl943.out --include --trace-ascii log/10/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:40765/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout943 2> log/10/stderr943 943: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 943 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind943 ../src/curl -q --output log/10/curl943.out --include --trace-ascii log/10/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:40765/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout943 2> log/10/stderr943 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY = 235 Authenticated Testnum 943 === End of file server.cmd === Start of file smtp_server.log 05:47:19.215578 ====> Client connect 05:47:19.215790 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.219116 < "EHLO verifiedserver" 05:47:19.219165 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.219334 < "HELP" 05:47:19.219366 > "214 WE ROOLZ: 110658[CR][LF]" 05:47:19.219381 return proof we are we 05:47:19.232449 < "QUIT" 05:47:19.232522 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.233904 MAIN sockfilt said DISC 05:47:19.233943 ====> Client disconnected 05:47:19.234039 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.673691 ====> Client connect 05:47:19.677272 Received DATA (on stdin) 05:47:19.677295 > 146 bytes data, server => client 05:47:19.677308 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.677319 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.677329 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.680393 < 21 bytes data, client => server 05:47:19.680416 'EHLO verifiedserver\r\n' 05:47:19.680625 Received DATA (on stdin) 05:47:19.680636 > 53 bytes data, server => client 05:47:19.680648 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.680704 < 6 bytes data, client => server 05:47:19.680714 'HELP\r\n' 05:47:19.680836 Received DATA (on stdin) 05:47:19.680846 > 22 bytes data, server => client 05:47:19.680856 '214 WE ROOLZ: 110658\r\n' 05:47:19.693672 < 6 bytes data, client => server 05:47:19.693719 'QUIT\r\n' 05:47:19.693989 Received DATA (on stdin) 05:47:19.694005 > 35 bytes data, server => client 05:47:19.694016 '221 curl ESMTP server signing off\r\n' 05:47:19.695305 ====> Client disconnect 05:47:19.695504 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-943 mail body === End of file stdin-for-943 === Start of file valgrind943 ==128123== ==128123== Process terminating with default action of signal 4 (SIGILL) ==128123== Illegal opcode at address 0x4014883 ==128123== at 0x4014883: getparameter (tool_getparam.c:2899) ==128123== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128123== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128123== by 0x4004208: main (tool_main.c:189) === End of file valgrind943 test 0971...[Verify that options-in-versions and docs/cmdline-opts are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts /startdir/src/curl/tests/../docs/VERSIONS.md > log/10/stdout971 2> log/10/stderr971 valgrind SKIPPED -r-----e--- OK (918 out of 1773, remaining: 01:52, took 0.020s, duration: 02:00) test 0948...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind948 ../src/curl -q --output log/14/curl948.out --include --trace-ascii log/14/trace948 --trace-time smtp://127.0.0.1:36897/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/14/stdout948 2> log/14/stderr948 948: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind948 ../src/curl -q --output log/14/curl948.out --include --trace-ascii log/14/trace948 --trace-time smtp://127.0.0.1:36897/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/14/stdout948 2> log/14/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzY4OTcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 948 === End of file server.cmd === Start of file smtp_server.log 05:47:19.828986 ====> Client connect 05:47:19.829195 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.831239 < "EHLO verifiedserver" 05:47:19.831298 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.831491 < "HELP" 05:47:19.831527 > "214 WE ROOLZ: 110590[CR][LF]" 05:47:19.831543 return proof we are we 05:47:19.831790 < "QUIT" 05:47:19.831821 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.839850 MAIN sockfilt said DISC 05:47:19.839890 ====> Client disconnected 05:47:19.839954 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.287193 ====> Client connect 05:47:20.291581 Received DATA (on stdin) 05:47:20.292357 > 146 bytes data, server => client 05:47:20.292371 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.292382 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.292392 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.292492 < 21 bytes data, client => server 05:47:20.292505 'EHLO verifiedserver\r\n' 05:47:20.292760 Received DATA (on stdin) 05:47:20.292772 > 53 bytes data, server => client 05:47:20.292784 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.292844 < 6 bytes data, client => server 05:47:20.292856 'HELP\r\n' 05:47:20.292998 Received DATA (on stdin) 05:47:20.293009 > 22 bytes data, server => client 05:47:20.293019 '214 WE ROOLZ: 110590\r\n' 05:47:20.293124 < 6 bytes data, client => server 05:47:20.293137 'QUIT\r\n' 05:47:20.293276 Received DATA (on stdin) 05:47:20.293288 > 35 bytes data, server => client 05:47:20.293298 '221 curl ESMTP server signing off\r\n' 05:47:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind950 ../src/curl -q --output log/5/curl950.out --include --trace-ascii log/5/trace950 --trace-time smtp://127.0.0.1:45461/950 --mail-rcpt recipient --request "vrfy" > log/5/stdout950 2> log/5/stderr950 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind945 ../src/curl -q --output log/11/curl945.out --include --trace-ascii log/11/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33171/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/11/stdout945 2> log/11/stderr945 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind947 ../src/curl -q --output log/7/curl947.out --include --trace-ascii log/7/trace947 --trace-time smtp://127.0.0.1:40479/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/7/stdout947 2> log/7/stderr947 0.301244 ====> Client disconnect 05:47:20.301408 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-948 mail body === End of file stdin-for-948 === Start of file valgrind948 ==128460== ==128460== Process terminating with default action of signal 4 (SIGILL) ==128460== Illegal opcode at address 0x4014883 ==128460== at 0x4014883: getparameter (tool_getparam.c:2899) ==128460== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128460== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128460== by 0x4004208: main (tool_main.c:189) === End of file valgrind948 test 0950...[SMTP VRFY with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind950 ../src/curl -q --output log/5/curl950.out --include --trace-ascii log/5/trace950 --trace-time smtp://127.0.0.1:45461/950 --mail-rcpt recipient --request "vrfy" > log/5/stdout950 2> log/5/stderr950 950: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 950 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind950 ../src/curl -q --output log/5/curl950.out --include --trace-ascii log/5/trace950 --trace-time smtp://127.0.0.1:45461/950 --mail-rcpt recipient --request "vrfy" > log/5/stdout950 2> log/5/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 05:47:19.875980 ====> Client connect 05:47:19.876171 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.876653 < "EHLO verifiedserver" 05:47:19.876707 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.876898 < "HELP" 05:47:19.876938 > "214 WE ROOLZ: 126487[CR][LF]" 05:47:19.876955 return proof we are we 05:47:19.877238 < "QUIT" 05:47:19.877272 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.878564 MAIN sockfilt said DISC 05:47:19.878618 ====> Client disconnected 05:47:19.905587 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.324652 ====> Client connect 05:47:19.337744 Received DATA (on stdin) 05:47:19.337772 > 146 bytes data, server => client 05:47:19.337785 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.337796 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.337805 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.337937 < 21 bytes data, client => server 05:47:19.337949 'EHLO verifiedserver\r\n' 05:47:19.338169 Received DATA (on stdin) 05:47:19.338181 > 53 bytes data, server => client 05:47:19.338193 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.338252 < 6 bytes data, client => server 05:47:19.338269 'HELP\r\n' 05:47:19.338413 Received DATA (on stdin) 05:47:19.338425 > 22 bytes data, server => client 05:47:19.338436 '214 WE ROOLZ: 126487\r\n' 05:47:19.338557 < 6 bytes data, client => server 05:47:19.338574 'QUIT\r\n' 05:47:19.338731 Received DATA (on stdin) 05:47:19.338744 > 35 bytes data, server => client 05:47:19.338755 '221 curl ESMTP server signing off\r\n' 05:47:19.339936 ====> Client disconnect 05:47:19.340050 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==128574== ==128574== Process terminating with default action of signal 4 (SIGILL) ==128574== Illegal opcode at address 0x4014883 ==128574== at 0x4014883: getparameter (tool_getparam.c:2899) ==128574== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128574== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128574== by 0x4004208: main (tool_main.c:189) === End of file valgrind950 test 0945...[SMTP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind945 ../src/curl -q --output log/11/curl945.out --include --trace-ascii log/11/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33171/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/11/stdout945 2> log/11/stderr945 945: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 945 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind945 ../src/curl -q --output log/11/curl945.out --include --trace-ascii log/11/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33171/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/11/stdout945 2> log/11/stderr945 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 945 === End of file server.cmd === Start of file smtp_server.log 05:47:19.635229 ====> Client connect 05:47:19.635390 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.635735 < "EHLO verifiedserver" 05:47:19.635784 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.637805 < "HELP" 05:47:19.637844 > "214 WE ROOLZ: 126415[CR][LF]" 05:47:19.637861 return proof we are we 05:47:19.638080 < "QUIT" 05:47:19.638109 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.639618 MAIN sockfilt said DISC 05:47:19.639647 ====> Client disconnected 05:47:19.639706 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.096583 ====> Client connect 05:47:19.096862 Received DATA (on stdin) 05:47:19.096878 > 146 bytes data, server => client 05:47:19.096890 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.096900 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.096910 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.097011 < 21 bytes data, client => server 05:47:19.097023 'EHLO verifiedserver\r\n' 05:47:19.099079 Received DATA (on stdin) 05:47:19.099092 > 53 bytes data, server => client 05:47:19.099104 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.099156 < 6 bytes data, client => server 05:47:19.099166 'HELP\r\n' 05:47:19.099316 Received DATA (on stdin) 05:47:19.099326 > 22 bytes data, server => client 05:47:19.099337 '214 WE ROOLZ: 126415\r\n' 05:47:19.099450 < 6 bytes data, client => server 05:47:19.099462 'QUIT\r\n' 05:47:19.099564 Received DATA (on stdin) 05:47:19.099574 > 35 bytes data, server => client 05:47:19.099585 '221 curl ESMTP server signing off\r\n' 05:47:19.101019 ====> Client disconnect 05:47:19.101163 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-945 mail body === End of file stdin-for-945 === Start of file valgrind945 ==128251== ==128251== Process terminating with default action of signal 4 (SIGILL) ==128251== Illegal opcode at address 0x4014883 ==128251== at 0x4014883: getparameter (tool_getparam.c:2899) ==128251== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128251== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128251== by 0x4004208: main (tool_main.c:189) === End of file valgrind945 test 0947...[SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-checkCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind953 ../src/curl -q --output log/9/curl953.out --include --trace-ascii log/9/trace953 --trace-time smtp://127.0.0.1:41275/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/9/stdout953 2> log/9/stderr953 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind944 ../src/curl -q --output log/23/curl944.out --include --trace-ascii log/23/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:34899/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/23/stdout944 2> log/23/stderr944 =yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind947 ../src/curl -q --output log/7/curl947.out --include --trace-ascii log/7/trace947 --trace-time smtp://127.0.0.1:40479/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/7/stdout947 2> log/7/stderr947 947: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 947 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind947 ../src/curl -q --output log/7/curl947.out --include --trace-ascii log/7/trace947 --trace-time smtp://127.0.0.1:40479/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/7/stdout947 2> log/7/stderr947 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 235 Authenticated Testnum 947 === End of file server.cmd === Start of file smtp_server.log 05:47:19.832275 ====> Client connect 05:47:19.832474 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.845869 < "EHLO verifiedserver" 05:47:19.845944 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.855776 < "HELP" 05:47:19.855851 > "214 WE ROOLZ: 126497[CR][LF]" 05:47:19.855875 return proof we are we 05:47:19.859126 < "QUIT" 05:47:19.859171 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.860271 MAIN sockfilt said DISC 05:47:19.860300 ====> Client disconnected 05:47:19.860381 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.293610 ====> Client connect 05:47:19.294019 Received DATA (on stdin) 05:47:19.294036 > 146 bytes data, server => client 05:47:19.294048 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.294058 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.294068 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.307013 < 21 bytes data, client => server 05:47:19.307063 'EHLO verifiedserver\r\n' 05:47:19.307408 Received DATA (on stdin) 05:47:19.307421 > 53 bytes data, server => client 05:47:19.307433 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.317005 < 6 bytes data, client => server 05:47:19.317046 'HELP\r\n' 05:47:19.317336 Received DATA (on stdin) 05:47:19.317350 > 22 bytes data, server => client 05:47:19.317361 '214 WE ROOLZ: 126497\r\n' 05:47:19.320448 < 6 bytes data, client => server 05:47:19.320469 'QUIT\r\n' 05:47:19.320628 Received DATA (on stdin) 05:47:19.320638 > 35 bytes data, server => client 05:47:19.320649 '221 curl ESMTP server signing off\r\n' 05:47:19.321673 ====> Client disconnect 05:47:19.321838 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-947 mail body === End of file stdin-for-947 === Start of file valgrind947 ==128577== ==128577== Process terminating with default action of signal 4 (SIGILL) ==128577== Illegal opcode at address 0x4014883 ==128577== at 0x4014883: getparameter (tool_getparam.c:2899) ==128577== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128577== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128577== by 0x4004208: main (tool_main.c:189) === End of file valgrind947 test 0953...[SMTP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind953 ../src/curl -q --output log/9/curl953.out --include --trace-ascii log/9/trace953 --trace-time smtp://127.0.0.1:41275/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/9/stdout953 2> log/9/stderr953 953: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 953 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind953 ../src/curl -q --output log/9/curl953.out --include --trace-ascii log/9/trace953 --trace-time smtp://127.0.0.1:41275/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/9/stdout953 2> log/9/stderr953 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 235 Authenticated Testnum 953 === End of file server.cmd === Start of file smtp_server.log 05:47:19.944706 ====> Client connect 05:47:19.944874 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.946941 < "EHLO verifiedserver" 05:47:19.946996 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.947153 < "HELP" 05:47:19.947186 > "214 WE ROOLZ: 126432[CR][LF]" 05:47:19.947201 return proof we are we 05:47:19.952553 < "QUIT" 05:47:19.952600 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.954293 MAIN sockfilt said DISC 05:47:19.954331 ====> Client disconnected 05:47:19.954407 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.406047 ====> Client connect 05:47:19.407699 Received DATA (on stdin) 05:47:19.407723 > 146 bytes data, server => client 05:47:19.407735 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.407745 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.407754 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.408200 < 21 bytes data, client => server 05:47:19.408217 'EHLO verifiedserver\r\n' 05:47:19.408455 Received DATA (on stdin) 05:47:19.408465 > 53 bytes data, server => client 05:47:19.408476 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.408528 < 6 bytes data, client => server 05:47:19.408538 'HELP\r\n' 05:47:19.408654 Received DATA (on stdin) 05:47:19.408664 > 22 bytes data, server => client 05:47:19.408673 '214 WE ROOLZ: 126432\r\n' 05:47:19.413764 < 6 bytes data, client => server 05:47:19.413791 'QUIT\r\n' 05:47:19.414597 Received DATA (on stdin) 05:47:19.414617 > 35 bytes data, server => client 05:47:19.414629 '221 curl ESMTP server signing off\r\n' 05:47:19.415686 ====> Client disconnect 05:47:19.415865 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-953 mail body === End of file stdin-for-953 === Start of file valgrind953 ==128623== ==128623== Process terminating with default action of signal 4 (SIGILL) ==128623== Illegal opcode at address 0x4014883 ==128623== at 0x4014883: getparameter (tool_getparam.c:2899) ==128623== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128623== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128623== by 0x4004208: main (tool_main.c:189) === End of file valgrind953 test 0944...[SMTP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind944 ../src/curl -q --output log/23/curl944.out --include --trace-ascii log/23/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:34899/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/23/stdout944 2> log/23/stderCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind952 ../src/curl -q --output log/22/curl952.out --include --trace-ascii log/22/trace952 --trace-time smtp://127.0.0.1:34041/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/22/stdout952 2> log/22/stderr952 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind946 ../src/curl -q --output log/13/curl946.out --include --trace-ascii log/13/trace946 --trace-time smtp://127.0.0.1:38177/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/13/stdout946 2> log/13/stderr946 r944 944: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 944 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind944 ../src/curl -q --output log/23/curl944.out --include --trace-ascii log/23/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:34899/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/23/stdout944 2> log/23/stderr944 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 944 === End of file server.cmd === Start of file smtp_server.log 05:47:19.628973 ====> Client connect 05:47:19.629099 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.635990 < "EHLO verifiedserver" 05:47:19.636049 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.636227 < "HELP" 05:47:19.636256 > "214 WE ROOLZ: 125410[CR][LF]" 05:47:19.636271 return proof we are we 05:47:19.636494 < "QUIT" 05:47:19.636520 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.637496 MAIN sockfilt said DISC 05:47:19.637524 ====> Client disconnected 05:47:19.637586 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.090330 ====> Client connect 05:47:19.091422 Received DATA (on stdin) 05:47:19.091443 > 146 bytes data, server => client 05:47:19.091455 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.091465 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.091475 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.097259 < 21 bytes data, client => server 05:47:19.097276 'EHLO verifiedserver\r\n' 05:47:19.097507 Received DATA (on stdin) 05:47:19.097519 > 53 bytes data, server => client 05:47:19.097530 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.097600 < 6 bytes data, client => server 05:47:19.097610 'HELP\r\n' 05:47:19.097725 Received DATA (on stdin) 05:47:19.097735 > 22 bytes data, server => client 05:47:19.097745 '214 WE ROOLZ: 125410\r\n' 05:47:19.097866 < 6 bytes data, client => server 05:47:19.097878 'QUIT\r\n' 05:47:19.097973 Received DATA (on stdin) 05:47:19.097984 > 35 bytes data, server => client 05:47:19.097994 '221 curl ESMTP server signing off\r\n' 05:47:19.098905 ====> Client disconnect 05:47:19.099040 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-944 mail body === End of file stdin-for-944 === Start of file valgrind944 ==128241== ==128241== Process terminating with default action of signal 4 (SIGILL) ==128241== Illegal opcode at address 0x4014883 ==128241== at 0x4014883: getparameter (tool_getparam.c:2899) ==128241== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128241== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128241== by 0x4004208: main (tool_main.c:189) === End of file valgrind944 test 0952...[SMTP data with single dot-only line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind952 ../src/curl -q --output log/22/curl952.out --include --trace-ascii log/22/trace952 --trace-time smtp://127.0.0.1:34041/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/22/stdout952 2> log/22/stderr952 952: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 952 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind952 ../src/curl -q --output log/22/curl952.out --include --trace-ascii log/22/trace952 --trace-time smtp://127.0.0.1:34041/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/22/stdout952 2> log/22/stderr952 === End of file commands.log === Start of file server.cmd Testnum 952 === End of file server.cmd === Start of file smtp_server.log 05:47:19.861918 ====> Client connect 05:47:19.862049 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.862335 < "EHLO verifiedserver" 05:47:19.862379 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.862543 < "HELP" 05:47:19.862572 > "214 WE ROOLZ: 125683[CR][LF]" 05:47:19.862587 return proof we are we 05:47:19.862799 < "QUIT" 05:47:19.862825 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.863660 MAIN sockfilt said DISC 05:47:19.863687 ====> Client disconnected 05:47:19.863747 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.323271 ====> Client connect 05:47:20.323516 Received DATA (on stdin) 05:47:20.323529 > 146 bytes data, server => client 05:47:20.323541 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.323551 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.323560 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.323627 < 21 bytes data, client => server 05:47:20.323649 'EHLO verifiedserver\r\n' 05:47:20.323838 Received DATA (on stdin) 05:47:20.323851 > 53 bytes data, server => client 05:47:20.323862 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.323915 < 6 bytes data, client => server 05:47:20.323926 'HELP\r\n' 05:47:20.324041 Received DATA (on stdin) 05:47:20.324053 > 22 bytes data, server => client 05:47:20.324064 '214 WE ROOLZ: 125683\r\n' 05:47:20.324150 < 6 bytes data, client => server 05:47:20.324163 'QUIT\r\n' 05:47:20.324277 Received DATA (on stdin) 05:47:20.324286 > 35 bytes data, server => client 05:47:20.324294 '221 curl ESMTP server signing off\r\n' 05:47:20.325068 ====> Client disconnect 05:47:20.325200 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-952 . === End of file stdin-for-952 === Start of file valgrind952 ==128480== ==128480== Process terminating with default action of signal 4 (SIGILL) ==128480== Illegal opcode at address 0x4014883 ==128480== at 0x4014883: getparameter (tool_getparam.c:2899) ==128480== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128480== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128480== by 0x4004208: main (tool_main.c:189) === End of file valgrind952 test 0946...[SMTP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind946 ../src/curl -q --output log/13/curl946.out --include --trace-ascii log/13/trace946 --trace-time smtp://127.0.0.1:38177/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/13/stdout946 2> log/13/stderr946 946: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 946 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind946 ../src/curl -q --output log/13/curl946.out --include --trace-ascii log/13/trace946 --trace-time smtp://127.0.0.1:38177/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind951 ../src/curl -q --output log/18/curl951.out --include --trace-ascii log/18/trace951 --trace-time smtp://127.0.0.1:41597/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout951 2> log/18/stderr951 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind954 ../src/curl -q --output log/3/curl954.out --include --trace-ascii log/3/trace954 --trace-time smtp://127.0.0.1:41447/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/3/stdout954 2> log/3/stderr954 user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/13/stdout946 2> log/13/stderr946 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzgxNzcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 05:47:19.628303 ====> Client connect 05:47:19.628607 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.632460 < "EHLO verifiedserver" 05:47:19.632517 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.632685 < "HELP" 05:47:19.632718 > "214 WE ROOLZ: 125770[CR][LF]" 05:47:19.632732 return proof we are we 05:47:19.632963 < "QUIT" 05:47:19.632989 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.634502 MAIN sockfilt said DISC 05:47:19.634534 ====> Client disconnected 05:47:19.634603 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.089627 ====> Client connect 05:47:20.090078 Received DATA (on stdin) 05:47:20.090092 > 146 bytes data, server => client 05:47:20.090105 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.090116 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.090125 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.093712 < 21 bytes data, client => server 05:47:20.093730 'EHLO verifiedserver\r\n' 05:47:20.093977 Received DATA (on stdin) 05:47:20.093988 > 53 bytes data, server => client 05:47:20.093999 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.094056 < 6 bytes data, client => server 05:47:20.094068 'HELP\r\n' 05:47:20.094186 Received DATA (on stdin) 05:47:20.094197 > 22 bytes data, server => client 05:47:20.094207 '214 WE ROOLZ: 125770\r\n' 05:47:20.094335 < 6 bytes data, client => server 05:47:20.094347 'QUIT\r\n' 05:47:20.094443 Received DATA (on stdin) 05:47:20.094453 > 35 bytes data, server => client 05:47:20.094464 '221 curl ESMTP server signing off\r\n' 05:47:20.095457 ====> Client disconnect 05:47:20.096059 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-946 mail body === End of file stdin-for-946 === Start of file valgrind946 ==128249== ==128249== Process terminating with default action of signal 4 (SIGILL) ==128249== Illegal opcode at address 0x4014883 ==128249== at 0x4014883: getparameter (tool_getparam.c:2899) ==128249== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128249== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128249== by 0x4004208: main (tool_main.c:189) === End of file valgrind946 test 0954...[SMTP plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind954 ../src/curl -q --output log/3/curl954.out --include --trace-ascii log/3/trace954 --trace-time smtp://127.0.0.1:41447/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/3/stdout954 2> log/3/stderr954 954: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 954 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind954 ../src/curl -q --output log/3/curl954.out --include --trace-ascii log/3/trace954 --trace-time smtp://127.0.0.1:41447/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/3/stdout954 2> log/3/stderr954 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 501 Not authorized Testnum 954 === End of file server.cmd === Start of file smtp_server.log 05:47:19.955589 ====> Client connect 05:47:19.955817 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.959249 < "EHLO verifiedserver" 05:47:19.959304 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.959477 < "HELP" 05:47:19.959510 > "214 WE ROOLZ: 126234[CR][LF]" 05:47:19.959526 return proof we are we 05:47:19.969137 < "QUIT" 05:47:19.969209 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.970601 MAIN sockfilt said DISC 05:47:19.970639 ====> Client disconnected 05:47:19.970731 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.413693 ====> Client connect 05:47:20.420324 Received DATA (on stdin) 05:47:20.420361 > 146 bytes data, server => client 05:47:20.420372 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.420382 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.420391 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.420521 < 21 bytes data, client => server 05:47:20.420534 'EHLO verifiedserver\r\n' 05:47:20.420765 Received DATA (on stdin) 05:47:20.420777 > 53 bytes data, server => client 05:47:20.420788 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.420845 < 6 bytes data, client => server 05:47:20.420856 'HELP\r\n' 05:47:20.420982 Received DATA (on stdin) 05:47:20.420993 > 22 bytes data, server => client 05:47:20.421002 '214 WE ROOLZ: 126234\r\n' 05:47:20.430381 < 6 bytes data, client => server 05:47:20.430417 'QUIT\r\n' 05:47:20.430677 Received DATA (on stdin) 05:47:20.430691 > 35 bytes data, server => client 05:47:20.430702 '221 curl ESMTP server signing off\r\n' 05:47:20.431990 ====> Client disconnect 05:47:20.432204 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-954 mail body === End of file stdin-for-954 === Start of file valgrind954 ==128698== ==128698== Process terminating with default action of signal 4 (SIGILL) ==128698== Illegal opcode at address 0x4014883 ==128698== at 0x4014883: getparameter (tool_getparam.c:2899) ==128698== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128698== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128698== by 0x4004208: main (tool_main.c:189) === End of file valgrind954 test 0951...[SMTP data with dot as first character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind951 ../src/curl -q --output log/18/curl951.out --include --trace-ascii log/18/trace951 --trace-time smtp://127.0.0.1:41597/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout951 2> log/18/stderr951 951: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 951 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind951 ../src/curl -q --output log/18/curl951.out --include --trace-ascii log/18/trace951 --trace-time smtp://127.0.0.1:41597/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout951 2> log/18/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 05:47:19.878696 ====> Client connect 05:47:19.882353 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind955 ../src/curl -q --output log/17/curl955.out --include --trace-ascii log/17/trace955 --trace-time smtp://127.0.0.1:38425/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/17/stdout955 2> log/17/stderr955 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind958 ../src/curl -q --output log/15/curl958.out --include --trace-ascii log/15/trace958 --trace-time smtp://127.0.0.1:44277/958 --mail-rcpt Användaren@example.com > log/15/stdout958 2> log/15/stderr958 / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.905677 < "EHLO verifiedserver" 05:47:19.905887 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.906107 < "HELP" 05:47:19.906153 > "214 WE ROOLZ: 125966[CR][LF]" 05:47:19.906295 return proof we are we 05:47:19.907138 < "QUIT" 05:47:19.907181 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.908370 MAIN sockfilt said DISC 05:47:19.908403 ====> Client disconnected 05:47:19.929900 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.337310 ====> Client connect 05:47:19.347192 Received DATA (on stdin) 05:47:19.360407 > 146 bytes data, server => client 05:47:19.360441 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.360453 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.360462 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.363763 < 21 bytes data, client => server 05:47:19.363794 'EHLO verifiedserver\r\n' 05:47:19.367248 Received DATA (on stdin) 05:47:19.367270 > 53 bytes data, server => client 05:47:19.367282 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.367430 < 6 bytes data, client => server 05:47:19.367446 'HELP\r\n' 05:47:19.367626 Received DATA (on stdin) 05:47:19.367657 > 22 bytes data, server => client 05:47:19.367685 '214 WE ROOLZ: 125966\r\n' 05:47:19.368474 < 6 bytes data, client => server 05:47:19.368491 'QUIT\r\n' 05:47:19.368642 Received DATA (on stdin) 05:47:19.368655 > 35 bytes data, server => client 05:47:19.368666 '221 curl ESMTP server signing off\r\n' 05:47:19.369764 ====> Client disconnect 05:47:19.369878 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-951 .This first line starts with a dot === End of file stdin-for-951 === Start of file valgrind951 ==128586== ==128586== Process terminating with default action of signal 4 (SIGILL) ==128586== Illegal opcode at address 0x4014883 ==128586== at 0x4014883: getparameter (tool_getparam.c:2899) ==128586== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128586== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128586== by 0x4004208: main (tool_main.c:189) === End of file valgrind951 setenv LC_ALL = C.UTF-8 test 0955...[SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind955 ../src/curl -q --output log/17/curl955.out --include --trace-ascii log/17/trace955 --trace-time smtp://127.0.0.1:38425/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/17/stdout955 2> log/17/stderr955 955: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 955 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind955 ../src/curl -q --output log/17/curl955.out --include --trace-ascii log/17/trace955 --trace-time smtp://127.0.0.1:38425/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/17/stdout955 2> log/17/stderr955 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 955 === End of file server.cmd === Start of file smtp_server.log 05:47:20.009832 ====> Client connect 05:47:20.009984 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.010300 < "EHLO verifiedserver" 05:47:20.010352 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.010550 < "HELP" 05:47:20.010585 > "214 WE ROOLZ: 125542[CR][LF]" 05:47:20.010602 return proof we are we 05:47:20.010849 < "QUIT" 05:47:20.010881 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.011919 MAIN sockfilt said DISC 05:47:20.011949 ====> Client disconnected 05:47:20.012016 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.471176 ====> Client connect 05:47:19.471456 Received DATA (on stdin) 05:47:19.471472 > 146 bytes data, server => client 05:47:19.471484 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.471499 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.471508 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.471588 < 21 bytes data, client => server 05:47:19.471600 'EHLO verifiedserver\r\n' 05:47:19.471815 Received DATA (on stdin) 05:47:19.471828 > 53 bytes data, server => client 05:47:19.471839 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.471900 < 6 bytes data, client => server 05:47:19.471913 'HELP\r\n' 05:47:19.472058 Received DATA (on stdin) 05:47:19.472069 > 22 bytes data, server => client 05:47:19.472079 '214 WE ROOLZ: 125542\r\n' 05:47:19.472207 < 6 bytes data, client => server 05:47:19.472222 'QUIT\r\n' 05:47:19.472338 Received DATA (on stdin) 05:47:19.472349 > 35 bytes data, server => client 05:47:19.472360 '221 curl ESMTP server signing off\r\n' 05:47:19.473324 ====> Client disconnect 05:47:19.473475 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-955 From: different To: another body === End of file stdin-for-955 === Start of file valgrind955 ==128782== ==128782== Process terminating with default action of signal 4 (SIGILL) ==128782== Illegal opcode at address 0x4014883 ==128782== at 0x4014883: getparameter (tool_getparam.c:2899) ==128782== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128782== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128782== by 0x4004208: main (tool_main.c:189) === End of file valgrind955 setenv LC_ALL = C.UTF-8 test 0958...[SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind958 ../src/curl -q --output log/15/curl958.out --include --trace-ascii log/15/trace958 --trace-time smtp://127.0.0.1:44277/958 --mail-rcpt Användaren@example.com > log/15/stdout958 2> log/15/stderr958 958: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 958 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind958 ../src/curl -q --output log/15/curl958.out --include --trace-ascii log/15/trace958 --trace-time smtp://127.0.0.1:44277/958 --mail-rcpt Användaren@example.com > log/15/stdout958 2> log/15/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 05:47:20.402093 ====> Client connect 05:47:20.402221 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.403050 < "EHLO verifiedserver" 05:47:20.403095 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.403261 < "HELP" 05:47:20.403292 > "214 WE ROOLZ: 125704[CR][LF]" 05:47:20.403306 return proof we are we 05:47:20.403515 < "QUIT" 05:47:20.403543 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.404988 MAIN sockfilt said DISC 05:47:20.405015 ====> Client disconnected 05:47:20.405082 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.863CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind949 ../src/curl -q --output log/16/curl949.out --include --trace-ascii log/16/trace949 --trace-time smtp://127.0.0.1:36279/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/16/stdout949 2> log/16/stderr949 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-time smtp://127.0.0.1:38821/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 459 ====> Client connect 05:47:20.863678 Received DATA (on stdin) 05:47:20.863692 > 146 bytes data, server => client 05:47:20.863702 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.863711 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.863720 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.864339 < 21 bytes data, client => server 05:47:20.864356 'EHLO verifiedserver\r\n' 05:47:20.864553 Received DATA (on stdin) 05:47:20.864564 > 53 bytes data, server => client 05:47:20.864573 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.864627 < 6 bytes data, client => server 05:47:20.864636 'HELP\r\n' 05:47:20.864758 Received DATA (on stdin) 05:47:20.864769 > 22 bytes data, server => client 05:47:20.864777 '214 WE ROOLZ: 125704\r\n' 05:47:20.864883 < 6 bytes data, client => server 05:47:20.864896 'QUIT\r\n' 05:47:20.864996 Received DATA (on stdin) 05:47:20.865006 > 35 bytes data, server => client 05:47:20.865016 '221 curl ESMTP server signing off\r\n' 05:47:20.866395 ====> Client disconnect 05:47:20.866534 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==129132== ==129132== Process terminating with default action of signal 4 (SIGILL) ==129132== Illegal opcode at address 0x4014883 ==129132== at 0x4014883: getparameter (tool_getparam.c:2899) ==129132== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129132== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129132== by 0x4004208: main (tool_main.c:189) === End of file valgrind958 test 0949...[SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind949 ../src/curl -q --output log/16/curl949.out --include --trace-ascii log/16/trace949 --trace-time smtp://127.0.0.1:36279/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/16/stdout949 2> log/16/stderr949 949: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 949 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind949 ../src/curl -q --output log/16/curl949.out --include --trace-ascii log/16/trace949 --trace-time smtp://127.0.0.1:36279/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/16/stdout949 2> log/16/stderr949 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 949 === End of file server.cmd === Start of file smtp_server.log 05:47:19.832695 ====> Client connect 05:47:19.832883 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:19.833925 < "EHLO verifiedserver" 05:47:19.833988 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:19.835118 < "HELP" 05:47:19.835173 > "214 WE ROOLZ: 126410[CR][LF]" 05:47:19.835191 return proof we are we 05:47:19.835423 < "QUIT" 05:47:19.835458 > "221 curl ESMTP server signing off[CR][LF]" 05:47:19.836776 MAIN sockfilt said DISC 05:47:19.836811 ====> Client disconnected 05:47:19.836887 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.293963 ====> Client connect 05:47:20.294363 Received DATA (on stdin) 05:47:20.294382 > 146 bytes data, server => client 05:47:20.294394 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.294410 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.294420 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.295170 < 21 bytes data, client => server 05:47:20.295192 'EHLO verifiedserver\r\n' 05:47:20.296338 Received DATA (on stdin) 05:47:20.296363 > 53 bytes data, server => client 05:47:20.296376 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.296440 < 6 bytes data, client => server 05:47:20.296453 'HELP\r\n' 05:47:20.296650 Received DATA (on stdin) 05:47:20.296662 > 22 bytes data, server => client 05:47:20.296674 '214 WE ROOLZ: 126410\r\n' 05:47:20.296773 < 6 bytes data, client => server 05:47:20.296788 'QUIT\r\n' 05:47:20.296942 Received DATA (on stdin) 05:47:20.296954 > 35 bytes data, server => client 05:47:20.296973 '221 curl ESMTP server signing off\r\n' 05:47:20.298170 ====> Client disconnect 05:47:20.298348 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-949 mail body === End of file stdin-for-949 === Start of file valgrind949 ==128482== ==128482== Process terminating with default action of signal 4 (SIGILL) ==128482== Illegal opcode at address 0x4014883 ==128482== at 0x4014883: getparameter (tool_getparam.c:2899) ==128482== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==128482== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==128482== by 0x4004208: main (tool_main.c:189) === End of file valgrind949 setenv LC_ALL = C.UTF-8 test 0968...[SMTP VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-time smtp://127.0.0.1:38821/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 968: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 968 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-time smtp://127.0.0.1:38821/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 968 === End of file server.cmd === Start of file smtp_server.log 05:47:20.748918 ====> Client connect 05:47:20.749079 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.749412 < "EHLO verifiedserver" 05:47:20.749451 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.749608 < "HELP" 05:47:20.749638 > "214 WE ROOLZ: 110725[CR][LF]" 05:47:20.749652 return proof we are we 05:47:20.749855 < "QUIT" 05:47:20.749880 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.750031 MAIN sockfilt said DISC 05:47:20.750056 ====> Client disconnected 05:47:20.750112 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.204642 ====> Client connect 05:47:20.210553 Received DATA (on stdin) 05:47:20.210578 > 146 bytes data, server => client 05:47:20.210589 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.210599 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.210608 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.210727 < 21 bytes data, client => server 05:47:20.210739 'EHLO verifiedserver\r\n' 05:47:20.210908 Received DACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind963 ../src/curl -q --output log/12/curl963.out --include --trace-ascii log/12/trace963 --trace-time smtp://127.0.0.1:42795/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/12/stdout963 2> log/12/stderr963 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind964 ../src/curl -q --output log/2/curl964.out --include --trace-ascii log/2/trace964 --trace-time smtp://127.0.0.1:39435/964 --mail-rcpt user@åäö.se > log/2/stdout964 2> log/2/stderr964 TA (on stdin) 05:47:20.210918 > 53 bytes data, server => client 05:47:20.210932 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.210983 < 6 bytes data, client => server 05:47:20.210993 'HELP\r\n' 05:47:20.211105 Received DATA (on stdin) 05:47:20.211115 > 22 bytes data, server => client 05:47:20.211125 '214 WE ROOLZ: 110725\r\n' 05:47:20.211229 < 6 bytes data, client => server 05:47:20.211241 'QUIT\r\n' 05:47:20.211333 Received DATA (on stdin) 05:47:20.211343 > 35 bytes data, server => client 05:47:20.211353 '221 curl ESMTP server signing off\r\n' 05:47:20.211444 ====> Client disconnect 05:47:20.211565 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==129526== ==129526== Process terminating with default action of signal 4 (SIGILL) ==129526== Illegal opcode at address 0x4014883 ==129526== at 0x4014883: getparameter (tool_getparam.c:2899) ==129526== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129526== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129526== by 0x4004208: main (tool_main.c:189) === End of file valgrind968 setenv LC_ALL = C.UTF-8 test 0963...[SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind963 ../src/curl -q --output log/12/curl963.out --include --trace-ascii log/12/trace963 --trace-time smtp://127.0.0.1:42795/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/12/stdout963 2> log/12/stderr963 963: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 963 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind963 ../src/curl -q --output log/12/curl963.out --include --trace-ascii log/12/trace963 --trace-time smtp://127.0.0.1:42795/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/12/stdout963 2> log/12/stderr963 === End of file commands.log === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 05:47:20.468212 ====> Client connect 05:47:20.468343 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.468628 < "EHLO verifiedserver" 05:47:20.468672 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.468842 < "HELP" 05:47:20.468891 > "214 WE ROOLZ: 125404[CR][LF]" 05:47:20.468906 return proof we are we 05:47:20.469106 < "QUIT" 05:47:20.469133 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.471060 MAIN sockfilt said DISC 05:47:20.471089 ====> Client disconnected 05:47:20.471154 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.929558 ====> Client connect 05:47:19.929811 Received DATA (on stdin) 05:47:19.929827 > 146 bytes data, server => client 05:47:19.929837 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.929847 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.929856 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.929936 < 21 bytes data, client => server 05:47:19.929948 'EHLO verifiedserver\r\n' 05:47:19.930130 Received DATA (on stdin) 05:47:19.930141 > 53 bytes data, server => client 05:47:19.930151 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.930203 < 6 bytes data, client => server 05:47:19.930213 'HELP\r\n' 05:47:19.930360 Received DATA (on stdin) 05:47:19.930374 > 22 bytes data, server => client 05:47:19.930385 '214 WE ROOLZ: 125404\r\n' 05:47:19.930474 < 6 bytes data, client => server 05:47:19.930486 'QUIT\r\n' 05:47:19.930586 Received DATA (on stdin) 05:47:19.930596 > 35 bytes data, server => client 05:47:19.930605 '221 curl ESMTP server signing off\r\n' 05:47:19.932467 ====> Client disconnect 05:47:19.932607 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-963 From: different To: another body === End of file stdin-for-963 === Start of file valgrind963 ==129153== ==129153== Process terminating with default action of signal 4 (SIGILL) ==129153== Illegal opcode at address 0x4014883 ==129153== at 0x4014883: getparameter (tool_getparam.c:2899) ==129153== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129153== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129153== by 0x4004208: main (tool_main.c:189) === End of file valgrind963 setenv LC_ALL = C.UTF-8 test 0964...[SMTP external VRFY without SMTPUTF8 (IDN) - UTF-8 recipient (host part)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind964 ../src/curl -q --output log/2/curl964.out --include --trace-ascii log/2/trace964 --trace-time smtp://127.0.0.1:39435/964 --mail-rcpt user@åäö.se > log/2/stdout964 2> log/2/stderr964 964: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 964 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind964 ../src/curl -q --output log/2/curl964.out --include --trace-ascii log/2/trace964 --trace-time smtp://127.0.0.1:39435/964 --mail-rcpt user@åäö.se > log/2/stdout964 2> log/2/stderr964 === End of file commands.log === Start of file server.cmd Testnum 964 === End of file server.cmd === Start of file smtp_server.log 05:47:20.509014 ====> Client connect 05:47:20.509151 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.509690 < "EHLO verifiedserver" 05:47:20.509776 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.510011 < "HELP" 05:47:20.510054 > "214 WE ROOLZ: 125373[CR][LF]" 05:47:20.510070 return proof we are we 05:47:20.510304 < "QUIT" 05:47:20.510337 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.515851 MAIN sockfilt said DISC 05:47:20.515966 ====> Client disconnected 05:47:20.516054 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.970347 ====> Client connect 05:47:19.970621 Received DATA (on stdin) 05:47:19.970638 > 146 bytes data, server => client 05:47:19.970650 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.970660 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.970669 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.970885 < 21 bytes data, client => server 05:47:19.970920 'EHLO verifiedserver\r\n' 05:47:19.971246 Received DATA (on stdin) 05:47:19.971263 > 53 bytes data, server => client 05:47:19.971275 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.971347 < 6 bytes data, client => server 05:47:19.971360 'HELP\r\n' 05:47:19.971526 Received DATA (on stdin) 05:47:19.971537 > 22 bytes data, server => client 05:47:19.971547 '214 WE ROOLZ: 125373\r\n' 05:47:19.971661 < 6 bytes data, client => server 05:47:19.971674 'QUIT\r\n' 05:47:19.971792 Received DATA (on stdin) 05:47:19.971803 > 35 bytes data, server => client 05:47:19.971814 '221 curl ESMTP server signing off\r\n' 05:47:19.977229 ====> Client disconnect 05:47:19.977334 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==129260== ==129260== Process terminating with default action of signaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind962 ../src/curl -q --output log/20/curl962.out --include --trace-ascii log/20/trace962 --trace-time smtp://127.0.0.1:37817/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/20/stdout962 2> log/20/stderr962 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind969 ../src/curl -q --output log/6/curl969.out --include --trace-ascii log/6/trace969 --trace-time smtp://127.0.0.1:37015/969 --mail-rcpt Friends -X EXPN > log/6/stdout969 2> log/6/stderr969 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind956 ../src/curl -q --output log/19/curl956.out --include --trace-ascii log/19/trace956 --trace-time smtp://127.0.0.1:46683/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/19/stdout956 2> log/19/stderr956 l 4 (SIGILL) ==129260== Illegal opcode at address 0x4014883 ==129260== at 0x4014883: getparameter (tool_getparam.c:2899) ==129260== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129260== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129260== by 0x4004208: main (tool_main.c:189) === End of file valgrind964 setenv LC_ALL = C.UTF-8 test 0962...[SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind962 ../src/curl -q --output log/20/curl962.out --include --trace-ascii log/20/trace962 --trace-time smtp://127.0.0.1:37817/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/20/stdout962 2> log/20/stderr962 962: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 962 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind962 ../src/curl -q --output log/20/curl962.out --include --trace-ascii log/20/trace962 --trace-time smtp://127.0.0.1:37817/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/20/stdout962 2> log/20/stderr962 === End of file commands.log === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 05:47:20.400960 ====> Client connect 05:47:20.401089 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.401359 < "EHLO verifiedserver" 05:47:20.401402 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.401574 < "HELP" 05:47:20.401605 > "214 WE ROOLZ: 125363[CR][LF]" 05:47:20.401620 return proof we are we 05:47:20.401832 < "QUIT" 05:47:20.401859 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.403282 MAIN sockfilt said DISC 05:47:20.403312 ====> Client disconnected 05:47:20.403386 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:19.862297 ====> Client connect 05:47:19.862556 Received DATA (on stdin) 05:47:19.862570 > 146 bytes data, server => client 05:47:19.862582 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:19.862593 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:19.862602 '220 \___|\___/|_| \_\_____|\r\n' 05:47:19.862674 < 21 bytes data, client => server 05:47:19.862687 'EHLO verifiedserver\r\n' 05:47:19.862863 Received DATA (on stdin) 05:47:19.862875 > 53 bytes data, server => client 05:47:19.862886 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:19.862941 < 6 bytes data, client => server 05:47:19.862953 'HELP\r\n' 05:47:19.863076 Received DATA (on stdin) 05:47:19.863088 > 22 bytes data, server => client 05:47:19.863099 '214 WE ROOLZ: 125363\r\n' 05:47:19.863194 < 6 bytes data, client => server 05:47:19.863208 'QUIT\r\n' 05:47:19.863315 Received DATA (on stdin) 05:47:19.863327 > 35 bytes data, server => client 05:47:19.863337 '221 curl ESMTP server signing off\r\n' 05:47:19.864687 ====> Client disconnect 05:47:19.864846 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-962 From: different To: another body === End of file stdin-for-962 === Start of file valgrind962 ==129089== ==129089== Process terminating with default action of signal 4 (SIGILL) ==129089== Illegal opcode at address 0x4014883 ==129089== at 0x4014883: getparameter (tool_getparam.c:2899) ==129089== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129089== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129089== by 0x4004208: main (tool_main.c:189) === End of file valgrind962 test 0969...[SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind969 ../src/curl -q --output log/6/curl969.out --include --trace-ascii log/6/trace969 --trace-time smtp://127.0.0.1:37015/969 --mail-rcpt Friends -X EXPN > log/6/stdout969 2> log/6/stderr969 969: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 969 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind969 ../src/curl -q --output log/6/curl969.out --include --trace-ascii log/6/trace969 --trace-time smtp://127.0.0.1:37015/969 --mail-rcpt Friends -X EXPN > log/6/stdout969 2> log/6/stderr969 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 969 === End of file server.cmd === Start of file smtp_server.log 05:47:21.018915 ====> Client connect 05:47:21.019127 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:21.020522 < "EHLO verifiedserver" 05:47:21.020579 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:21.020746 < "HELP" 05:47:21.020776 > "214 WE ROOLZ: 126008[CR][LF]" 05:47:21.020791 return proof we are we 05:47:21.021022 < "QUIT" 05:47:21.021049 > "221 curl ESMTP server signing off[CR][LF]" 05:47:21.022070 MAIN sockfilt said DISC 05:47:21.022098 ====> Client disconnected 05:47:21.022166 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.476332 ====> Client connect 05:47:20.481590 Received DATA (on stdin) 05:47:20.481626 > 146 bytes data, server => client 05:47:20.481638 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.481649 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.481657 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.481779 < 21 bytes data, client => server 05:47:20.481791 'EHLO verifiedserver\r\n' 05:47:20.482040 Received DATA (on stdin) 05:47:20.482052 > 53 bytes data, server => client 05:47:20.482063 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.482117 < 6 bytes data, client => server 05:47:20.482127 'HELP\r\n' 05:47:20.482246 Received DATA (on stdin) 05:47:20.482257 > 22 bytes data, server => client 05:47:20.482267 '214 WE ROOLZ: 126008\r\n' 05:47:20.482394 < 6 bytes data, client => server 05:47:20.482406 'QUIT\r\n' 05:47:20.482503 Received DATA (on stdin) 05:47:20.482513 > 35 bytes data, server => client 05:47:20.482523 '221 curl ESMTP server signing off\r\n' 05:47:20.483477 ====> Client disconnect 05:47:20.483621 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==129676== ==129676== Process terminating with default action of signal 4 (SIGILL) ==129676== Illegal opcode at address 0x4014883 ==129676== at 0x4014883: getparameter (tool_getparam.c:2899) ==129676== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129676== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129676== by 0x4004208: main (tool_main.c:189) === End of file valgrind969 setenv LC_ALL = C.UTF-8 test 0956...[SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind956 ../src/curl -q --output log/19/curl956.out --include --trace-ascii log/19/trace956 --trace-time smtp://127.0.0.1:46683/956 --mail-rcpt Stödmottagaren@example.com --mail-from senderCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind966 ../src/curl -q --output log/21/curl966.out --include --trace-ascii log/21/trace966 --trace-time smtp://127.0.0.1:34831/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/21/stdout966 2> log/21/stderr966 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind967 ../src/curl -q --output log/24/curl967.out --include --trace-ascii log/24/trace967 --trace-time smtp://127.0.0.1:44727/967 --mail-rcpt Användaren@åäö.se > log/24/stdout967 2> log/24/stderr967 @example.com -T - log/19/stdout956 2> log/19/stderr956 956: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 956 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind956 ../src/curl -q --output log/19/curl956.out --include --trace-ascii log/19/trace956 --trace-time smtp://127.0.0.1:46683/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/19/stdout956 2> log/19/stderr956 === End of file commands.log === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 05:47:20.362058 ====> Client connect 05:47:20.362370 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.363046 < "EHLO verifiedserver" 05:47:20.363092 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.363265 < "HELP" 05:47:20.363300 > "214 WE ROOLZ: 126718[CR][LF]" 05:47:20.363317 return proof we are we 05:47:20.363546 < "QUIT" 05:47:20.363577 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.364758 MAIN sockfilt said DISC 05:47:20.364791 ====> Client disconnected 05:47:20.364886 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.823383 ====> Client connect 05:47:20.824182 Received DATA (on stdin) 05:47:20.824207 > 146 bytes data, server => client 05:47:20.824220 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.824230 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.824240 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.824318 < 21 bytes data, client => server 05:47:20.824332 'EHLO verifiedserver\r\n' 05:47:20.824553 Received DATA (on stdin) 05:47:20.824565 > 53 bytes data, server => client 05:47:20.824576 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.824631 < 6 bytes data, client => server 05:47:20.824643 'HELP\r\n' 05:47:20.824772 Received DATA (on stdin) 05:47:20.824783 > 22 bytes data, server => client 05:47:20.824793 '214 WE ROOLZ: 126718\r\n' 05:47:20.824912 < 6 bytes data, client => server 05:47:20.824927 'QUIT\r\n' 05:47:20.825035 Received DATA (on stdin) 05:47:20.825047 > 35 bytes data, server => client 05:47:20.825057 '221 curl ESMTP server signing off\r\n' 05:47:20.826155 ====> Client disconnect 05:47:20.826348 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-956 From: different To: another body === End of file stdin-for-956 === Start of file valgrind956 ==129060== ==129060== Process terminating with default action of signal 4 (SIGILL) ==129060== Illegal opcode at address 0x4014883 ==129060== at 0x4014883: getparameter (tool_getparam.c:2899) ==129060== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129060== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129060== by 0x4004208: main (tool_main.c:189) === End of file valgrind956 setenv LC_ALL = C.UTF-8 test 0966...[SMTP with SMTPUTF8 support - UTF-8 based recipient] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind966 ../src/curl -q --output log/21/curl966.out --include --trace-ascii log/21/trace966 --trace-time smtp://127.0.0.1:34831/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/21/stdout966 2> log/21/stderr966 966: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 966 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind966 ../src/curl -q --output log/21/curl966.out --include --trace-ascii log/21/trace966 --trace-time smtp://127.0.0.1:34831/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/21/stdout966 2> log/21/stderr966 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 966 === End of file server.cmd === Start of file smtp_server.log 05:47:20.591069 ====> Client connect 05:47:20.591246 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.591567 < "EHLO verifiedserver" 05:47:20.591614 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.591809 < "HELP" 05:47:20.591847 > "214 WE ROOLZ: 125421[CR][LF]" 05:47:20.591867 return proof we are we 05:47:20.592101 < "QUIT" 05:47:20.592134 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.593194 MAIN sockfilt said DISC 05:47:20.593224 ====> Client disconnected 05:47:20.593292 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.052393 ====> Client connect 05:47:20.052724 Received DATA (on stdin) 05:47:20.052741 > 146 bytes data, server => client 05:47:20.052754 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.052765 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.052775 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.052859 < 21 bytes data, client => server 05:47:20.052875 'EHLO verifiedserver\r\n' 05:47:20.053080 Received DATA (on stdin) 05:47:20.053095 > 53 bytes data, server => client 05:47:20.053106 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.053161 < 6 bytes data, client => server 05:47:20.053177 'HELP\r\n' 05:47:20.053326 Received DATA (on stdin) 05:47:20.053340 > 22 bytes data, server => client 05:47:20.053351 '214 WE ROOLZ: 125421\r\n' 05:47:20.053457 < 6 bytes data, client => server 05:47:20.053473 'QUIT\r\n' 05:47:20.053595 Received DATA (on stdin) 05:47:20.053609 > 35 bytes data, server => client 05:47:20.053624 '221 curl ESMTP server signing off\r\n' 05:47:20.054599 ====> Client disconnect 05:47:20.054746 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-966 From: different To: another body === End of file stdin-for-966 === Start of file valgrind966 ==129326== ==129326== Process terminating with default action of signal 4 (SIGILL) ==129326== Illegal opcode at address 0x4014883 ==129326== at 0x4014883: getparameter (tool_getparam.c:2899) ==129326== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129326== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129326== by 0x4004208: main (tool_main.c:189) === End of file valgrind966 setenv LC_ALL = C.UTF-8 test 0967...[SMTP external VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind967 ../src/curl -q --output log/24/curl967.out --include --trace-ascii log/24/trace967 --trace-time smtp://127.0.0.1:44727/967 --mail-rcpt Användaren@åäö.se > log/24/stdout967 2> log/24/stderr967 967: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 967 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind967 ../src/curl -q --output log/24/curl967.out --include --trace-ascii log/24/trace967 --trace-time smtp://127.0.0.1:44727/967 --mail-rcpt AnvändarCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind974 ../src/curl -q --output log/14/curl974.out --include --trace-ascii log/14/trace974 --trace-time -x http://127.0.0.1:35549 http://firsthost.com -L -u joe:secret > log/14/stdout974 2> log/14/stderr974 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind965 ../src/curl -q --output log/1/curl965.out --include --trace-ascii log/1/trace965 --trace-time smtp://127.0.0.1:34267/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/1/stdout965 2> log/1/stderr965 en@åäö.se > log/24/stdout967 2> log/24/stderr967 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 967 === End of file server.cmd === Start of file smtp_server.log 05:47:20.726910 ====> Client connect 05:47:20.727177 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.727463 < "EHLO verifiedserver" 05:47:20.727500 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.727652 < "HELP" 05:47:20.727680 > "214 WE ROOLZ: 110659[CR][LF]" 05:47:20.727694 return proof we are we 05:47:20.727873 < "QUIT" 05:47:20.727898 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.728920 MAIN sockfilt said DISC 05:47:20.728950 ====> Client disconnected 05:47:20.729015 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:21.188238 ====> Client connect 05:47:21.188648 Received DATA (on stdin) 05:47:21.188662 > 146 bytes data, server => client 05:47:21.188674 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:21.188685 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:21.188694 '220 \___|\___/|_| \_\_____|\r\n' 05:47:21.188769 < 21 bytes data, client => server 05:47:21.188780 'EHLO verifiedserver\r\n' 05:47:21.188957 Received DATA (on stdin) 05:47:21.188967 > 53 bytes data, server => client 05:47:21.188978 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:21.189029 < 6 bytes data, client => server 05:47:21.189038 'HELP\r\n' 05:47:21.189146 Received DATA (on stdin) 05:47:21.189156 > 22 bytes data, server => client 05:47:21.189165 '214 WE ROOLZ: 110659\r\n' 05:47:21.189250 < 6 bytes data, client => server 05:47:21.189260 'QUIT\r\n' 05:47:21.189351 Received DATA (on stdin) 05:47:21.189361 > 35 bytes data, server => client 05:47:21.189370 '221 curl ESMTP server signing off\r\n' 05:47:21.190297 ====> Client disconnect 05:47:21.193647 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==129497== ==129497== Process terminating with default action of signal 4 (SIGILL) ==129497== Illegal opcode at address 0x4014883 ==129497== at 0x4014883: getparameter (tool_getparam.c:2899) ==129497== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129497== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129497== by 0x4004208: main (tool_main.c:189) === End of file valgrind967 test 0974...[HTTP with auth redirected to HTTP on a diff port w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind974 ../src/curl -q --output log/14/curl974.out --include --trace-ascii log/14/trace974 --trace-time -x http://127.0.0.1:35549 http://firsthost.com -L -u joe:secret > log/14/stdout974 2> log/14/stderr974 974: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 974 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind974 ../src/curl -q --output log/14/curl974.out --include --trace-ascii log/14/trace974 --trace-time -x http://127.0.0.1:35549 http://firsthost.com -L -u joe:secret > log/14/stdout974 2> log/14/stderr974 === End of file commands.log === Start of file http_server.log 05:47:22.158647 ====> Client connect 05:47:22.158687 accept_connection 3 returned 4 05:47:22.158707 accept_connection 3 returned 0 05:47:22.158723 Read 93 bytes 05:47:22.158736 Process 93 bytes request 05:47:22.158751 Got request: GET /verifiedserver HTTP/1.1 05:47:22.158760 Are-we-friendly question received 05:47:22.158790 Wrote request (93 bytes) input to log/14/server.input 05:47:22.158809 Identifying ourselves as friends 05:47:22.158875 Response sent (56 bytes) and written to log/14/server.response 05:47:22.158888 special request received, no persistency 05:47:22.158898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 48438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 974 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind974 ==129835== ==129835== Process terminating with default action of signal 4 (SIGILL) ==129835== Illegal opcode at address 0x4014883 ==129835== at 0x4014883: getparameter (tool_getparam.c:2899) ==129835== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129835== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129835== by 0x4004208: main (tool_main.c:189) === End of file valgrind974 setenv LC_ALL = C.UTF-8 test 0965...[SMTP with SMTPUTF8 support - UTF-8 based sender] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind965 ../src/curl -q --output log/1/curl965.out --include --trace-ascii log/1/trace965 --trace-time smtp://127.0.0.1:34267/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/1/stdout965 2> log/1/stderr965 965: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 965 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind965 ../src/curl -q --output log/1/curl965.out --include --trace-ascii log/1/trace965 --trace-time smtp://127.0.0.1:34267/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/1/stdout965 2> log/1/stderr965 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 965 === End of file server.cmd === Start of file smtp_server.log 05:47:20.565685 ====> Client connect 05:47:20.565837 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.585858 < "EHLO verifiedserver" 05:47:20.585940 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.592493 < "HELP" 05:47:20.592548 > "214 WE ROOLZ: 125372[CR][LF]" 05:47:20.592564 return proof we are we 05:47:20.592780 < "QUIT" 05:47:20.592807 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.593993 MAIN sockfilt said DISC 05:47:20.594023 ====> Client disconnected 05:47:20.594102 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.027004 ====> Client connect 05:47:20.027302 Received DATA (on stdin) 05:47:20.027314 > 146 bytes data, server => client 05:47:20.027325 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.027334 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.027342 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.047009 < 21 bytes data, client => server 05:47:20.047058 'EHLO verifiedserver\r\n' 05:47:20.053655 Received DATA (on stdin) 05:47:20.053690 > 53 bytes data, server => client 05:47:20.053701 '250 ESMTP pingpong test servCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind973 ../src/curl -q --output log/10/curl973.out --include --trace-ascii log/10/trace973 --trace-time http://127.0.0.1:46741/973 -L -u joe:secret > log/10/stdout973 2> log/10/stderr973 er Hello verifiedserver\r\n' 05:47:20.053802 < 6 bytes data, client => server 05:47:20.053812 'HELP\r\n' 05:47:20.054020 Received DATA (on stdin) 05:47:20.054031 > 22 bytes data, server => client 05:47:20.054041 '214 WE ROOLZ: 125372\r\n' 05:47:20.054148 < 6 bytes data, client => server 05:47:20.054160 'QUIT\r\n' 05:47:20.054261 Received DATA (on stdin) 05:47:20.054271 > 35 bytes data, server => client 05:47:20.054280 '221 curl ESMTP server signing off\r\n' 05:47:20.055397 ====> Client disconnect 05:47:20.055560 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-965 From: different To: another body === End of file stdin-for-965 === Start of file valgrind965 ==129362== ==129362== Process terminating with default action of signal 4 (SIGILL) ==129362== Illegal opcode at address 0x4014883 ==129362== at 0x4014883: getparameter (tool_getparam.c:2899) ==129362== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129362== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129362== by 0x4004208: main (tool_main.c:189) === End of file valgrind965 test 0973...[HTTP with auth redirected to FTP w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind973 ../src/curl -q --output log/10/curl973.out --include --trace-ascii log/10/trace973 --trace-time http://127.0.0.1:46741/973 -L -u joe:secret > log/10/stdout973 2> log/10/stderr973 973: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 973 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind973 ../src/curl -q --output log/10/curl973.out --include --trace-ascii log/10/trace973 --trace-time http://127.0.0.1:46741/973 -L -u joe:secret > log/10/stdout973 2> log/10/stderr973 === End of file commands.log === Start of file ftp_server.log 05:47:21.556167 ====> Client connect 05:47:21.556333 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:21.556592 < "USER anonymous" 05:47:21.556623 > "331 We are happy you popped in![CR][LF]" 05:47:21.556770 < "PASS ftp@example.com" 05:47:21.556795 > "230 Welcome you silly person[CR][LF]" 05:47:21.556933 < "PWD" 05:47:21.556966 > "257 "/" is current directory[CR][LF]" 05:47:21.558960 < "EPSV" 05:47:21.558997 ====> Passive DATA channel requested by client 05:47:21.559016 DATA sockfilt for passive data channel starting... 05:47:21.563677 DATA sockfilt for passive data channel started (pid 129787) 05:47:21.563790 DATA sockfilt for passive data channel listens on port 34431 05:47:21.563834 > "229 Entering Passive Mode (|||34431|)[CR][LF]" 05:47:21.563852 Client has been notified that DATA conn will be accepted on port 34431 05:47:21.568950 Client connects to port 34431 05:47:21.569017 ====> Client established passive DATA connection on port 34431 05:47:21.569126 < "TYPE I" 05:47:21.569167 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:21.569360 < "SIZE verifiedserver" 05:47:21.569399 > "213 17[CR][LF]" 05:47:21.569540 < "RETR verifiedserver" 05:47:21.569572 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:21.569664 =====> Closing passive DATA connection... 05:47:21.569682 Server disconnects passive DATA connection 05:47:21.569911 Server disconnected passive DATA connection 05:47:21.569936 DATA sockfilt for passive data channel quits (pid 129787) 05:47:21.570224 DATA sockfilt for passive data channel quit (pid 129787) 05:47:21.570247 =====> Closed passive DATA connection 05:47:21.570271 > "226 File transfer complete[CR][LF]" 05:47:21.615896 < "QUIT" 05:47:21.615955 > "221 bye bye baby[CR][LF]" 05:47:21.617285 MAIN sockfilt said DISC 05:47:21.617321 ====> Client disconnected 05:47:21.617404 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:22.017488 ====> Client connect 05:47:22.017799 Received DATA (on stdin) 05:47:22.017813 > 146 bytes data, server => client 05:47:22.017825 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:22.017835 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:22.017844 '220 \___|\___/|_| \_\_____|\r\n' 05:47:22.017919 < 16 bytes data, client => server 05:47:22.017931 'USER anonymous\r\n' 05:47:22.018080 Received DATA (on stdin) 05:47:22.018090 > 33 bytes data, server => client 05:47:22.018101 '331 We are happy you popped in!\r\n' 05:47:22.018147 < 22 bytes data, client => server 05:47:22.018157 'PASS ftp@example.com\r\n' 05:47:22.018248 Received DATA (on stdin) 05:47:22.018258 > 30 bytes data, server => client 05:47:22.018268 '230 Welcome you silly person\r\n' 05:47:22.018312 < 5 bytes data, client => server 05:47:22.018322 'PWD\r\n' 05:47:22.018419 Received DATA (on stdin) 05:47:22.018430 > 30 bytes data, server => client 05:47:22.018440 '257 "/" is current directory\r\n' 05:47:22.018494 < 6 bytes data, client => server 05:47:22.018504 'EPSV\r\n' 05:47:22.027042 Received DATA (on stdin) 05:47:22.027070 > 39 bytes data, server => client 05:47:22.027082 '229 Entering Passive Mode (|||34431|)\r\n' 05:47:22.027280 < 8 bytes data, client => server 05:47:22.027295 'TYPE I\r\n' 05:47:22.030628 Received DATA (on stdin) 05:47:22.030643 > 33 bytes data, server => client 05:47:22.030653 '200 I modify TYPE as you wanted\r\n' 05:47:22.030733 < 21 bytes data, client => server 05:47:22.030744 'SIZE verifiedserver\r\n' 05:47:22.030855 Received DATA (on stdin) 05:47:22.030865 > 8 bytes data, server => client 05:47:22.030874 '213 17\r\n' 05:47:22.030918 < 21 bytes data, client => server 05:47:22.030929 'RETR verifiedserver\r\n' 05:47:22.031223 Received DATA (on stdin) 05:47:22.031235 > 29 bytes data, server => client 05:47:22.031244 '150 Binary junk (17 bytes).\r\n' 05:47:22.031727 Received DATA (on stdin) 05:47:22.031738 > 28 bytes data, server => client 05:47:22.031747 '226 File transfer complete\r\n' 05:47:22.077135 < 6 bytes data, client => server 05:47:22.077174 'QUIT\r\n' 05:47:22.077414 Received DATA (on stdin) 05:47:22.077424 > 18 bytes data, server => client 05:47:22.077434 '221 bye bye baby\r\n' 05:47:22.078437 ====> Client disconnect 05:47:22.078859 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:21.024769 Running IPv4 version 05:47:21.024861 Listening on port 34431 05:47:21.024930 Wrote pid 129787 to log/10/server/ftp_sockdata.pid 05:47:21.025077 Received PING (on stdin) 05:47:21.025160 Received PORT (on stdin) 05:47:21.030328 ====> Client connect 05:47:21.031139 Received DATA (on stdin) 05:47:21.031151 > 17 bytes data, server => client 05:47:21.031160 'WE ROOLZ: 81057\r\n' 05:47:21.031186 Received DISC (on stdin) 05:47:21.031197 ====> Client forcibly disconnected 05:47:21.031398 Received QUIT (on stdin) 05:47:21.031408 quits 05:47:21.031478 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:47:20.950376 ====> Client connect 05:47:20.950409 accept_connection 3 returned 4 05:47:20.950425 accept_connection 3 returned 0 05:47:20.950438 Read 93 bytes 05:47:20.950446 Process 93 bytes request 05:47:20.950459 Got request: GET /verifiedserver HTTP/1.1 05:47:20.950466 Are-we-friendly question received 05:47:20.950487 Wrote request (93 bytes) input to log/10/server.input 05:47:20.950501 Identifying ourselves as friends 05:47:20.950557 Response sent (56 bytes) and written to log/10/server.response 05:47:20.950565 special request received, no persistency 05:47:20.950573 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 porCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:37371/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind975 ../src/curl -q --output log/5/curl975.out --include --trace-ascii log/5/trace975 --trace-time http://127.0.0.1:35621/975 --location-trusted -u joe:secret > log/5/stdout975 2> log/5/stderr975 t 46741) from 127.0.0.1 port 34046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 973 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind973 ==129794== ==129794== Process terminating with default action of signal 4 (SIGILL) ==129794== Illegal opcode at address 0x4014883 ==129794== at 0x4014883: getparameter (tool_getparam.c:2899) ==129794== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129794== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129794== by 0x4004208: main (tool_main.c:189) === End of file valgrind973 setenv LC_ALL = C.UTF-8 test 0957...[SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:37371/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 957: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 957 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:37371/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 === End of file commands.log === Start of file server.cmd Testnum 957 === End of file server.cmd === Start of file smtp_server.log 05:47:20.403501 ====> Client connect 05:47:20.403660 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:20.403979 < "EHLO verifiedserver" 05:47:20.404017 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:20.404182 < "HELP" 05:47:20.404211 > "214 WE ROOLZ: 125727[CR][LF]" 05:47:20.404225 return proof we are we 05:47:20.404432 < "QUIT" 05:47:20.412262 > "221 curl ESMTP server signing off[CR][LF]" 05:47:20.416864 MAIN sockfilt said DISC 05:47:20.416920 ====> Client disconnected 05:47:20.417030 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:20.864814 ====> Client connect 05:47:20.865127 Received DATA (on stdin) 05:47:20.865141 > 146 bytes data, server => client 05:47:20.865153 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:20.865163 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:20.865173 '220 \___|\___/|_| \_\_____|\r\n' 05:47:20.865286 < 21 bytes data, client => server 05:47:20.865298 'EHLO verifiedserver\r\n' 05:47:20.865475 Received DATA (on stdin) 05:47:20.865487 > 53 bytes data, server => client 05:47:20.865498 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:20.865553 < 6 bytes data, client => server 05:47:20.865564 'HELP\r\n' 05:47:20.865679 Received DATA (on stdin) 05:47:20.865689 > 22 bytes data, server => client 05:47:20.865699 '214 WE ROOLZ: 125727\r\n' 05:47:20.865802 < 6 bytes data, client => server 05:47:20.865815 'QUIT\r\n' 05:47:20.873821 Received DATA (on stdin) 05:47:20.873850 > 35 bytes data, server => client 05:47:20.873863 '221 curl ESMTP server signing off\r\n' 05:47:20.878232 ====> Client disconnect 05:47:20.878487 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==129088== ==129088== Process terminating with default action of signal 4 (SIGILL) ==129088== Illegal opcode at address 0x4014883 ==129088== at 0x4014883: getparameter (tool_getparam.c:2899) ==129088== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129088== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129088== by 0x4004208: main (tool_main.c:189) === End of file valgrind957 test 0975...[HTTP with auth redirected to FTP allowing auth to continue] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind975 ../src/curl -q --output log/5/curl975.out --include --trace-ascii log/5/trace975 --trace-time http://127.0.0.1:35621/975 --location-trusted -u joe:secret > log/5/stdout975 2> log/5/stderr975 975: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 975 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind975 ../src/curl -q --output log/5/curl975.out --include --trace-ascii log/5/trace975 --trace-time http://127.0.0.1:35621/975 --location-trusted -u joe:secret > log/5/stdout975 2> log/5/stderr975 === End of file commands.log === Start of file ftp_server.log 05:47:21.995688 ====> Client connect 05:47:21.995870 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:21.997211 < "USER anonymous" 05:47:21.997264 > "331 We are happy you popped in![CR][LF]" 05:47:21.997460 < "PASS ftp@example.com" 05:47:21.997493 > "230 Welcome you silly person[CR][LF]" 05:47:21.997675 < "PWD" 05:47:21.997715 > "257 "/" is current directory[CR][LF]" 05:47:21.997912 < "EPSV" 05:47:21.997942 ====> Passive DATA channel requested by client 05:47:21.997962 DATA sockfilt for passive data channel starting... 05:47:21.999900 DATA sockfilt for passive data channel started (pid 129970) 05:47:22.000008 DATA sockfilt for passive data channel listens on port 41617 05:47:22.000057 > "229 Entering Passive Mode (|||41617|)[CR][LF]" 05:47:22.000078 Client has been notified that DATA conn will be accepted on port 41617 05:47:22.000339 Client connects to port 41617 05:47:22.000371 ====> Client established passive DATA connection on port 41617 05:47:22.000454 < "TYPE I" 05:47:22.000492 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:22.000666 < "SIZE verifiedserver" 05:47:22.000705 > "213 17[CR][LF]" 05:47:22.000868 < "RETR verifiedserver" 05:47:22.000904 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:22.000997 =====> Closing passive DATA connection... 05:47:22.001020 Server disconnects passive DATA connection 05:47:22.001299 Server disconnected passive DATA connection 05:47:22.001330 DATA sockfilt for passive data channel quits (pid 129970) 05:47:22.001597 DATA sockfilt for passive data channel quit (pid 129970) 05:47:22.001627 =====> Closed passive DATA connection 05:47:22.001658 > "226 File transfer complete[CR][LF]" 05:47:22.043197 < "QUIT" 05:47:22.043258 > "221 bye bye baby[CR][LF]" 05:47:22.044607 MAIN sockfilt said DISC 05:47:22.044644 ====> Client disconnected 05:47:22.044945 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:22.456997 ====> Client connect 05:47:22.457350 Received DATA (on stdin) 05:47:22.457368 > 146 bytes data, server => client 05:47:22.457380 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:22.457390 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:22.457399 '220 \___|\___/|_| \_\_____|\r\n' 05:47:22.458506 < 16 bytes datCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind977 ../src/curl -q --output log/7/curl977.out --include --trace-ascii log/7/trace977 --trace-time -x http://127.0.0.1:39013 http://firsthost.me. -c log/7/cookies977 > log/7/stdout977 2> log/7/stderr977 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind979 ../src/curl -q --output log/23/curl979.out --include --trace-ascii log/23/trace979 --trace-time http://first:secret@127.0.0.1:33217/979 -L -u smith:doggie > log/23/stdout979 2> log/23/stderr979 a, client => server 05:47:22.458528 'USER anonymous\r\n' 05:47:22.458733 Received DATA (on stdin) 05:47:22.458748 > 33 bytes data, server => client 05:47:22.458760 '331 We are happy you popped in!\r\n' 05:47:22.458816 < 22 bytes data, client => server 05:47:22.458831 'PASS ftp@example.com\r\n' 05:47:22.458954 Received DATA (on stdin) 05:47:22.458968 > 30 bytes data, server => client 05:47:22.458979 '230 Welcome you silly person\r\n' 05:47:22.459034 < 5 bytes data, client => server 05:47:22.459048 'PWD\r\n' 05:47:22.459176 Received DATA (on stdin) 05:47:22.459189 > 30 bytes data, server => client 05:47:22.459200 '257 "/" is current directory\r\n' 05:47:22.459268 < 6 bytes data, client => server 05:47:22.459284 'EPSV\r\n' 05:47:22.461546 Received DATA (on stdin) 05:47:22.461563 > 39 bytes data, server => client 05:47:22.461575 '229 Entering Passive Mode (|||41617|)\r\n' 05:47:22.461714 < 8 bytes data, client => server 05:47:22.461729 'TYPE I\r\n' 05:47:22.461956 Received DATA (on stdin) 05:47:22.461969 > 33 bytes data, server => client 05:47:22.461980 '200 I modify TYPE as you wanted\r\n' 05:47:22.462034 < 21 bytes data, client => server 05:47:22.462046 'SIZE verifiedserver\r\n' 05:47:22.462161 Received DATA (on stdin) 05:47:22.462172 > 8 bytes data, server => client 05:47:22.462182 '213 17\r\n' 05:47:22.462231 < 21 bytes data, client => server 05:47:22.462243 'RETR verifiedserver\r\n' 05:47:22.462481 Received DATA (on stdin) 05:47:22.462495 > 29 bytes data, server => client 05:47:22.462506 '150 Binary junk (17 bytes).\r\n' 05:47:22.463122 Received DATA (on stdin) 05:47:22.463135 > 28 bytes data, server => client 05:47:22.463146 '226 File transfer complete\r\n' 05:47:22.504447 < 6 bytes data, client => server 05:47:22.504477 'QUIT\r\n' 05:47:22.504718 Received DATA (on stdin) 05:47:22.504730 > 18 bytes data, server => client 05:47:22.504740 '221 bye bye baby\r\n' 05:47:22.506008 ====> Client disconnect 05:47:22.506303 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:21.461011 Running IPv4 version 05:47:21.461094 Listening on port 41617 05:47:21.461138 Wrote pid 129970 to log/5/server/ftp_sockdata.pid 05:47:21.461300 Received PING (on stdin) 05:47:21.461378 Received PORT (on stdin) 05:47:21.461749 ====> Client connect 05:47:21.462567 Received DATA (on stdin) 05:47:21.462583 > 17 bytes data, server => client 05:47:21.462598 'WE ROOLZ: 81382\r\n' 05:47:21.462628 Received DISC (on stdin) 05:47:21.462643 ====> Client forcibly disconnected 05:47:21.462798 Received QUIT (on stdin) 05:47:21.462812 quits 05:47:21.462876 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:47:22.373735 ====> Client connect 05:47:22.373778 accept_connection 3 returned 4 05:47:22.373797 accept_connection 3 returned 0 05:47:22.373813 Read 93 bytes 05:47:22.373823 Process 93 bytes request 05:47:22.373836 Got request: GET /verifiedserver HTTP/1.1 05:47:22.373845 Are-we-friendly question received 05:47:22.373873 Wrote request (93 bytes) input to log/5/server.input 05:47:22.373890 Identifying ourselves as friends 05:47:22.373964 Response sent (56 bytes) and written to log/5/server.response 05:47:22.373975 special request received, no persistency 05:47:22.373983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 37364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 975 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind975 ==129996== ==129996== Process terminating with default action of signal 4 (SIGILL) ==129996== Illegal opcode at address 0x4014883 ==129996== at 0x4014883: getparameter (tool_getparam.c:2899) ==129996== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129996== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129996== by 0x4004208: main (tool_main.c:189) === End of file valgrind975 test 0977...[URL with trailing dot and receiving a cookie for the TLD with dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind977 ../src/curl -q --output log/7/curl977.out --include --trace-ascii log/7/trace977 --trace-time -x http://127.0.0.1:39013 http://firsthost.me. -c log/7/cookies977 > log/7/stdout977 2> log/7/stderr977 977: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 977 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind977 ../src/curl -q --output log/7/curl977.out --include --trace-ascii log/7/trace977 --trace-time -x http://127.0.0.1:39013 http://firsthost.me. -c log/7/cookies977 > log/7/stdout977 2> log/7/stderr977 === End of file commands.log === Start of file http_server.log 05:47:21.693092 ====> Client connect 05:47:21.693130 accept_connection 3 returned 4 05:47:21.693147 accept_connection 3 returned 0 05:47:21.693163 Read 93 bytes 05:47:21.693173 Process 93 bytes request 05:47:21.693186 Got request: GET /verifiedserver HTTP/1.1 05:47:21.693196 Are-we-friendly question received 05:47:21.693223 Wrote request (93 bytes) input to log/7/server.input 05:47:21.693241 Identifying ourselves as friends 05:47:21.693309 Response sent (56 bytes) and written to log/7/server.response 05:47:21.693319 special request received, no persistency 05:47:21.693329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 38592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind977 ==130147== ==130147== Process terminating with default action of signal 4 (SIGILL) ==130147== Illegal opcode at address 0x4014883 ==130147== at 0x4014883: getparameter (tool_getparam.c:2899) ==130147== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130147== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130147== by 0x4004208: main (tool_main.c:189) === End of file valgrind977 test 0979...[-u with redirect to absolute URL using same origin and auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind979 ../src/curl -q --output log/23/curl979.out --include --trace-ascii log/23/trace979 --trace-time http://first:secret@127.0.0.1:33217/979 -L -u smith:doggie > log/23/stdout979 2> log/23/stderr979 979: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after teCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind976 ../src/curl -q --output log/11/curl976.out --include --trace-ascii log/11/trace976 --trace-time -x http://127.0.0.1:34551 http://firsthost.com --location-trusted -u joe:secret > log/11/stdout976 2> log/11/stderr976 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind978 ../src/curl -q --output log/9/curl978.out --include --trace-ascii log/9/trace978 --trace-time http://127.0.0.1:33885/978 --stderr log/9/redir --silent -w '%{stderr}nonsense\n' > log/9/stdout978 2> log/9/stderr978 st 979 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind979 ../src/curl -q --output log/23/curl979.out --include --trace-ascii log/23/trace979 --trace-time http://first:secret@127.0.0.1:33217/979 -L -u smith:doggie > log/23/stdout979 2> log/23/stderr979 === End of file commands.log === Start of file http_server.log 05:47:22.730428 ====> Client connect 05:47:22.730467 accept_connection 3 returned 4 05:47:22.730486 accept_connection 3 returned 0 05:47:22.730502 Read 93 bytes 05:47:22.730512 Process 93 bytes request 05:47:22.730526 Got request: GET /verifiedserver HTTP/1.1 05:47:22.730536 Are-we-friendly question received 05:47:22.730566 Wrote request (93 bytes) input to log/23/server.input 05:47:22.730585 Identifying ourselves as friends 05:47:22.730659 Response sent (56 bytes) and written to log/23/server.response 05:47:22.730671 special request received, no persistency 05:47:22.730681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 36662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 979 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind979 ==130159== ==130159== Process terminating with default action of signal 4 (SIGILL) ==130159== Illegal opcode at address 0x4014883 ==130159== at 0x4014883: getparameter (tool_getparam.c:2899) ==130159== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130159== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130159== by 0x4004208: main (tool_main.c:189) === End of file valgrind979 test 0976...[HTTP with auth redirected to HTTP on a diff port --location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind976 ../src/curl -q --output log/11/curl976.out --include --trace-ascii log/11/trace976 --trace-time -x http://127.0.0.1:34551 http://firsthost.com --location-trusted -u joe:secret > log/11/stdout976 2> log/11/stderr976 976: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 976 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind976 ../src/curl -q --output log/11/curl976.out --include --trace-ascii log/11/trace976 --trace-time -x http://127.0.0.1:34551 http://firsthost.com --location-trusted -u joe:secret > log/11/stdout976 2> log/11/stderr976 === End of file commands.log === Start of file http_server.log 05:47:22.427074 ====> Client connect 05:47:22.427121 accept_connection 3 returned 4 05:47:22.427141 accept_connection 3 returned 0 05:47:22.427159 Read 93 bytes 05:47:22.427169 Process 93 bytes request 05:47:22.427184 Got request: GET /verifiedserver HTTP/1.1 05:47:22.427194 Are-we-friendly question received 05:47:22.427221 Wrote request (93 bytes) input to log/11/server.input 05:47:22.427244 Identifying ourselves as friends 05:47:22.427330 Response sent (56 bytes) and written to log/11/server.response 05:47:22.427342 special request received, no persistency 05:47:22.427352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 49140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 976 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind976 ==129975== ==129975== Process terminating with default action of signal 4 (SIGILL) ==129975== Illegal opcode at address 0x4014883 ==129975== at 0x4014883: getparameter (tool_getparam.c:2899) ==129975== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==129975== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==129975== by 0x4004208: main (tool_main.c:189) === End of file valgrind976 test 0978...[verify that --stderr works for -w's stderr as well] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind978 ../src/curl -q --output log/9/curl978.out --include --trace-ascii log/9/trace978 --trace-time http://127.0.0.1:33885/978 --stderr log/9/redir --silent -w '%{stderr}nonsense\n' > log/9/stdout978 2> log/9/stderr978 978: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 978 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind978 ../src/curl -q --output log/9/curl978.out --include --trace-ascii log/9/trace978 --trace-time http://127.0.0.1:33885/978 --stderr log/9/redir --silent -w '%{stderr}nonsense\n' > log/9/stdout978 2> log/9/stderr978 === End of file commands.log === Start of file http_server.log 05:47:21.686997 ====> Client connect 05:47:21.687032 accept_connection 3 returned 4 05:47:21.687047 accept_connection 3 returned 0 05:47:21.687180 Read 93 bytes 05:47:21.687193 Process 93 bytes request 05:47:21.687205 Got request: GET /verifiedserver HTTP/1.1 05:47:21.687214 Are-we-friendly question received 05:47:21.687242 Wrote request (93 bytes) input to log/9/server.input 05:47:21.687259 Identifying ourselves as friends 05:47:21.687309 Response sent (56 bytes) and written to log/9/server.response 05:47:21.687317 special request received, no persistency 05:47:21.687325 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 35222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 978 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind978 ==130141== ==130141== Process terminating with default action of signal 4 (SIGILL) ==130141== Illegal opcode at address 0x4014883 ==130141== at 0x4014883: getparameter (tool_getparam.c:2899) ==130141== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130141== by 0x4004208: UnknownInlinedFun (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind984 ../src/curl -q --output log/17/curl984.out --include --trace-ascii log/17/trace984 --trace-time imap://127.0.0.1:44311/984 -T log/17/upload984 -u user:secret --ssl-reqd > log/17/stdout984 2> log/17/stderr984 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind981 ../src/curl -q --output log/13/curl981.out --include --trace-ascii log/13/trace981 --trace-time imap://127.0.0.1:36835/981 -T log/13/upload981 -u user:secret --ssl > log/13/stdout981 2> log/13/stderr981 tool_operate.c:2293) ==130141== by 0x4004208: main (tool_main.c:189) === End of file valgrind978 test 0984...[IMAP require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind984 ../src/curl -q --output log/17/curl984.out --include --trace-ascii log/17/trace984 --trace-time imap://127.0.0.1:44311/984 -T log/17/upload984 -u user:secret --ssl-reqd > log/17/stdout984 2> log/17/stderr984 984: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 984 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind984 ../src/curl -q --output log/17/curl984.out --include --trace-ascii log/17/trace984 --trace-time imap://127.0.0.1:44311/984 -T log/17/upload984 -u user:secret --ssl-reqd > log/17/stdout984 2> log/17/stderr984 === End of file commands.log === Start of file imap_server.log 05:47:22.402791 ====> Client connect 05:47:22.408916 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:22.409323 < "A001 CAPABILITY" 05:47:22.409373 > "A001 BAD Command[CR][LF]" 05:47:22.409577 < "A002 LIST "verifiedserver" *" 05:47:22.409608 LIST_imap got "verifiedserver" * 05:47:22.409636 > "* LIST () "/" "WE ROOLZ: 119499"[CR][LF]" 05:47:22.409657 > "A002 OK LIST Completed[CR][LF]" 05:47:22.409672 return proof we are we 05:47:22.459054 < "A003 LOGOUT" 05:47:22.459107 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:22.459128 > "A003 OK LOGOUT completed[CR][LF]" 05:47:22.460248 MAIN sockfilt said DISC 05:47:22.460282 ====> Client disconnected 05:47:22.460373 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:21.864142 ====> Client connect 05:47:21.870429 Received DATA (on stdin) 05:47:21.870454 > 164 bytes data, server => client 05:47:21.870467 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:21.870478 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:21.870488 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:21.870609 < 17 bytes data, client => server 05:47:21.870623 'A001 CAPABILITY\r\n' 05:47:21.870837 Received DATA (on stdin) 05:47:21.870850 > 18 bytes data, server => client 05:47:21.870862 'A001 BAD Command\r\n' 05:47:21.870927 < 30 bytes data, client => server 05:47:21.870942 'A002 LIST "verifiedserver" *\r\n' 05:47:21.871129 Received DATA (on stdin) 05:47:21.871141 > 34 bytes data, server => client 05:47:21.871152 '* LIST () "/" "WE ROOLZ: 119499"\r\n' 05:47:21.871175 Received DATA (on stdin) 05:47:21.871186 > 24 bytes data, server => client 05:47:21.871197 'A002 OK LIST Completed\r\n' 05:47:21.920338 < 13 bytes data, client => server 05:47:21.920365 'A003 LOGOUT\r\n' 05:47:21.920585 Received DATA (on stdin) 05:47:21.920597 > 36 bytes data, server => client 05:47:21.920608 '* BYE curl IMAP server signing off\r\n' 05:47:21.920632 Received DATA (on stdin) 05:47:21.920642 > 26 bytes data, server => client 05:47:21.920654 'A003 OK LOGOUT completed\r\n' 05:47:21.921651 ====> Client disconnect 05:47:21.921830 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY CAPABILITY A001 BAD Not implemented Testnum 984 === End of file server.cmd === Start of file upload984 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? === End of file upload984 === Start of file valgrind984 ==130407== ==130407== Process terminating with default action of signal 4 (SIGILL) ==130407== Illegal opcode at address 0x4014883 ==130407== at 0x4014883: getparameter (tool_getparam.c:2899) ==130407== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130407== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130407== by 0x4004208: main (tool_main.c:189) === End of file valgrind984 test 0981...[IMAP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind981 ../src/curl -q --output log/13/curl981.out --include --trace-ascii log/13/trace981 --trace-time imap://127.0.0.1:36835/981 -T log/13/upload981 -u user:secret --ssl > log/13/stdout981 2> log/13/stderr981 981: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 981 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind981 ../src/curl -q --output log/13/curl981.out --include --trace-ascii log/13/trace981 --trace-time imap://127.0.0.1:36835/981 -T log/13/upload981 -u user:secret --ssl > log/13/stdout981 2> log/13/stderr981 === End of file commands.log === Start of file imap_server.log 05:47:22.425571 ====> Client connect 05:47:22.425788 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:22.426148 < "A001 CAPABILITY" 05:47:22.426187 > "A001 BAD Command[CR][LF]" 05:47:22.426357 < "A002 LIST "verifiedserver" *" 05:47:22.426385 LIST_imap got "verifiedserver" * 05:47:22.426410 > "* LIST () "/" "WE ROOLZ: 111099"[CR][LF]" 05:47:22.426429 > "A002 OK LIST Completed[CR][LF]" 05:47:22.426443 return proof we are we 05:47:22.475730 < "A003 LOGOUT" 05:47:22.475786 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:22.475807 > "A003 OK LOGOUT completed[CR][LF]" 05:47:22.477123 MAIN sockfilt said DISC 05:47:22.477159 ====> Client disconnected 05:47:22.477261 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:22.884034 ====> Client connect 05:47:22.887263 Received DATA (on stdin) 05:47:22.887282 > 164 bytes data, server => client 05:47:22.887295 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:22.887305 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:22.887315 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:22.887429 < 17 bytes data, client => server 05:47:22.887440 'A001 CAPABILITY\r\n' 05:47:22.887645 Received DATA (on stdin) 05:47:22.887657 > 18 bytes data, server => client 05:47:22.887667 'A001 BAD Command\r\n' 05:47:22.887724 < 30 bytes data, client => server 05:47:22.887735 'A002 LIST "verifiedserver" *\r\n' 05:47:22.887897 Received DATA (on stdin) 05:47:22.887908 > 34 bytes data, server => client 05:47:22.887918 '* LIST () "/" "WE ROOLZ: 111099"\r\n' 05:47:22.887939 Received DATA (on stdin) 05:47:22.887949 > 24 bytes data, server => client 05:47:22.887959 'A002 OK LIST Completed\r\n' 05:47:22.937011 < 13 bytes data, client => server 05:47:22.937038 'A003 LOGOUT\r\n' 05:47:22.937264 Received DATA (on stdin) 05:47:22.937276 > 36 bytes data, server => client 05:47:22.937287 '* BYE curl IMAP server signing off\r\n' 05:47:22.937317 Received DATA (on stdin) 05:47:22.937327 > 26 bytes data, server => client 05:47:22.937337 'A003 OK LOGOUT completed\r\n' 05:47:22.938523 ====> Client disconnect 05:47:22.938715 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd CAPA STARTTLS REPLY STARTTLS A002 BAD currently unavailable\r\nACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind982 ../src/curl -q --output log/18/curl982.out --include --trace-ascii log/18/trace982 --trace-time pop3://127.0.0.1:39519/982 -u user:secret --ssl > log/18/stdout982 2> log/18/stderr982 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind980 ../src/curl -q --output log/22/curl980.out --include --trace-ascii log/22/trace980 --trace-time smtp://127.0.0.1:34041/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/22/stdout980 2> log/22/stderr980 003 OK Authenticated\r\nA004 OK Accepted REPLY LOGIN A003 BAD Authentication credentials invalid Testnum 981 === End of file server.cmd === Start of file upload981 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? === End of file upload981 === Start of file valgrind981 ==130443== ==130443== Process terminating with default action of signal 4 (SIGILL) ==130443== Illegal opcode at address 0x4014883 ==130443== at 0x4014883: getparameter (tool_getparam.c:2899) ==130443== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130443== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130443== by 0x4004208: main (tool_main.c:189) === End of file valgrind981 test 0982...[POP3 STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind982 ../src/curl -q --output log/18/curl982.out --include --trace-ascii log/18/trace982 --trace-time pop3://127.0.0.1:39519/982 -u user:secret --ssl > log/18/stdout982 2> log/18/stderr982 982: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 982 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind982 ../src/curl -q --output log/18/curl982.out --include --trace-ascii log/18/trace982 --trace-time pop3://127.0.0.1:39519/982 -u user:secret --ssl > log/18/stdout982 2> log/18/stderr982 === End of file commands.log === Start of file pop3_server.log 05:47:22.405587 ====> Client connect 05:47:22.405742 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:22.409326 < "CAPA" 05:47:22.409399 > "-ERR Unrecognized command[CR][LF]" 05:47:22.409648 < "RETR verifiedserver" 05:47:22.409686 return proof we are we 05:47:22.409719 > "+OK Mail transfer starts[CR][LF]" 05:47:22.409747 > "WE ROOLZ: 123054[CR][LF]" 05:47:22.409770 > ".[CR][LF]" 05:47:22.462393 < "QUIT" 05:47:22.462451 > "+OK curl POP3 server signing off[CR][LF]" 05:47:22.463710 MAIN sockfilt said DISC 05:47:22.463745 ====> Client disconnected 05:47:22.463850 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:21.866823 ====> Client connect 05:47:21.870324 Received DATA (on stdin) 05:47:21.870365 > 164 bytes data, server => client 05:47:21.870380 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:21.870391 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:21.870402 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:21.870521 < 6 bytes data, client => server 05:47:21.870541 'CAPA\r\n' 05:47:21.870873 Received DATA (on stdin) 05:47:21.870888 > 27 bytes data, server => client 05:47:21.870899 '-ERR Unrecognized command\r\n' 05:47:21.870969 < 21 bytes data, client => server 05:47:21.870986 'RETR verifiedserver\r\n' 05:47:21.871232 Received DATA (on stdin) 05:47:21.871246 > 26 bytes data, server => client 05:47:21.871257 '+OK Mail transfer starts\r\n' 05:47:21.871282 Received DATA (on stdin) 05:47:21.871293 > 18 bytes data, server => client 05:47:21.871304 'WE ROOLZ: 123054\r\n' 05:47:21.871317 Received DATA (on stdin) 05:47:21.871327 > 3 bytes data, server => client 05:47:21.871337 '.\r\n' 05:47:21.923663 < 6 bytes data, client => server 05:47:21.923690 'QUIT\r\n' 05:47:21.923915 Received DATA (on stdin) 05:47:21.923929 > 34 bytes data, server => client 05:47:21.923941 '+OK curl POP3 server signing off\r\n' 05:47:21.925110 ====> Client disconnect 05:47:21.925317 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA STLS USER REPLY STLS -ERR currently unavailable\r\n+OK user accepted\r\n+OK authenticated REPLY PASS -ERR Authentication credentials invalid Testnum 982 === End of file server.cmd === Start of file valgrind982 ==130412== ==130412== Process terminating with default action of signal 4 (SIGILL) ==130412== Illegal opcode at address 0x4014883 ==130412== at 0x4014883: getparameter (tool_getparam.c:2899) ==130412== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130412== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130412== by 0x4004208: main (tool_main.c:189) === End of file valgrind982 test 0980...[SMTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind980 ../src/curl -q --output log/22/curl980.out --include --trace-ascii log/22/trace980 --trace-time smtp://127.0.0.1:34041/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/22/stdout980 2> log/22/stderr980 980: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 980 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind980 ../src/curl -q --output log/22/curl980.out --include --trace-ascii log/22/trace980 --trace-time smtp://127.0.0.1:34041/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/22/stdout980 2> log/22/stderr980 === End of file commands.log === Start of file server.cmd CAPA starttls AUTH PLAIN REPLY STARTTLS 454 currently unavailable\r\n235 Authenticated\r\n250 2.1.0 Sender ok\r\n250 2.1.5 Recipient ok\r\n354 Enter mail\r\n250 2.0.0 Accepted REPLY AUTH 535 5.7.8 Authentication credentials invalid Testnum 980 === End of file server.cmd === Start of file smtp_server.log 05:47:22.300317 ====> Client connect 05:47:22.300522 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:22.300873 < "EHLO verifiedserver" 05:47:22.300928 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:22.301122 < "HELP" 05:47:22.301157 > "214 WE ROOLZ: 125683[CR][LF]" 05:47:22.301176 return proof we are we 05:47:22.301414 < "QUIT" 05:47:22.301445 > "221 curl ESMTP server signing off[CR][LF]" 05:47:22.302601 MAIN sockfilt said DISC 05:47:22.302634 ====> Client disconnected 05:47:22.302705 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:22.761655 ====> Client connect 05:47:22.762000 Received DATA (on stdin) 05:47:22.762016 > 146 bytes data, server => client 05:47:22.762029 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:22.762039 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:22.762048 '220 \___|\___/|_| \_\_____|\r\n' 05:47:22.762138 < 21 bytes data, client => server 05:47:22.762154 'EHLO verifiedserver\r\n' 05:47:22.762393 Received DATA (on stdin) 05:47:22.762406 > 53 bytes data, server => client 05:47:22.762418 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:22.762478 < 6 bytes data, client => server 05:47:22.762492 'HELP\r\n' 05:47:22.762634 Received DATA (on stdin) 05:47:22.762647 > 22 bytes data, server => client 05:47:22.762657 '214 WE ROOLZ: 125683\r\n' 05:47:22.762778 < 6 bytes data, client => server 05:47:22.762792 'QUIT\r\n' 05:47:22.762903 RCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind983 ../src/curl -q --output log/3/curl983.out --include --trace-ascii log/3/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:43409/983 -T log/3/test983.txt -u user:secret -P 127.0.0.1 > log/3/stdout983 2> log/3/stderr983 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind986 ../src/curl -q --output log/16/curl986.out --include --trace-ascii log/16/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:41717/986 -T log/16/test986.txt -u user:secret > log/16/stdout986 2> log/16/stderr986 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind990 ../src/curl -q --output log/8/curl990.out --include --trace-ascii log/8/trace990 --trace-time http://127.0.0.1:45623/990 -w '%output{log/8/output}%{http_code}\n' > log/8/stdout990 2> log/8/stderr990 eceived DATA (on stdin) 05:47:22.762915 > 35 bytes data, server => client 05:47:22.762926 '221 curl ESMTP server signing off\r\n' 05:47:22.764003 ====> Client disconnect 05:47:22.764170 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-980 mail body === End of file stdin-for-980 === Start of file valgrind980 ==130198== ==130198== Process terminating with default action of signal 4 (SIGILL) ==130198== Illegal opcode at address 0x4014883 ==130198== at 0x4014883: getparameter (tool_getparam.c:2899) ==130198== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130198== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130198== by 0x4004208: main (tool_main.c:189) === End of file valgrind980 test 0983...[FTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind983 ../src/curl -q --output log/3/curl983.out --include --trace-ascii log/3/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:43409/983 -T log/3/test983.txt -u user:secret -P 127.0.0.1 > log/3/stdout983 2> log/3/stderr983 983: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 983 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind983 ../src/curl -q --output log/3/curl983.out --include --trace-ascii log/3/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:43409/983 -T log/3/test983.txt -u user:secret -P 127.0.0.1 > log/3/stdout983 2> log/3/stderr983 === End of file commands.log === Start of file ftp_server.log 05:47:22.388414 ====> Client connect 05:47:22.388688 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:22.392415 < "USER anonymous" 05:47:22.392467 > "331 We are happy you popped in![CR][LF]" 05:47:22.395793 < "PASS ftp@example.com" 05:47:22.395852 > "230 Welcome you silly person[CR][LF]" 05:47:22.396018 < "PWD" 05:47:22.396057 > "257 "/" is current directory[CR][LF]" 05:47:22.396205 < "EPSV" 05:47:22.396230 ====> Passive DATA channel requested by client 05:47:22.396243 DATA sockfilt for passive data channel starting... 05:47:22.401725 DATA sockfilt for passive data channel started (pid 130313) 05:47:22.401868 DATA sockfilt for passive data channel listens on port 43577 05:47:22.401930 > "229 Entering Passive Mode (|||43577|)[CR][LF]" 05:47:22.401953 Client has been notified that DATA conn will be accepted on port 43577 05:47:22.402276 Client connects to port 43577 05:47:22.402310 ====> Client established passive DATA connection on port 43577 05:47:22.402418 < "TYPE I" 05:47:22.402460 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:22.402648 < "SIZE verifiedserver" 05:47:22.402694 > "213 17[CR][LF]" 05:47:22.402911 < "RETR verifiedserver" 05:47:22.402954 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:22.403062 =====> Closing passive DATA connection... 05:47:22.403084 Server disconnects passive DATA connection 05:47:22.403328 Server disconnected passive DATA connection 05:47:22.403360 DATA sockfilt for passive data channel quits (pid 130313) 05:47:22.403646 DATA sockfilt for passive data channel quit (pid 130313) 05:47:22.403675 =====> Closed passive DATA connection 05:47:22.403704 > "226 File transfer complete[CR][LF]" 05:47:22.450791 < "QUIT" 05:47:22.450859 > "221 bye bye baby[CR][LF]" 05:47:22.451881 MAIN sockfilt said DISC 05:47:22.451917 ====> Client disconnected 05:47:22.452034 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:22.849498 ====> Client connect 05:47:22.850176 Received DATA (on stdin) 05:47:22.850196 > 146 bytes data, server => client 05:47:22.850208 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:22.850219 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:22.850229 '220 \___|\___/|_| \_\_____|\r\n' 05:47:22.853663 < 16 bytes data, client => server 05:47:22.853692 'USER anonymous\r\n' 05:47:22.853933 Received DATA (on stdin) 05:47:22.853947 > 33 bytes data, server => client 05:47:22.853957 '331 We are happy you popped in!\r\n' 05:47:22.857068 < 22 bytes data, client => server 05:47:22.857092 'PASS ftp@example.com\r\n' 05:47:22.857311 Received DATA (on stdin) 05:47:22.857323 > 30 bytes data, server => client 05:47:22.857332 '230 Welcome you silly person\r\n' 05:47:22.857384 < 5 bytes data, client => server 05:47:22.857394 'PWD\r\n' 05:47:22.857510 Received DATA (on stdin) 05:47:22.857520 > 30 bytes data, server => client 05:47:22.857530 '257 "/" is current directory\r\n' 05:47:22.857584 < 6 bytes data, client => server 05:47:22.857593 'EPSV\r\n' 05:47:22.863420 Received DATA (on stdin) 05:47:22.863437 > 39 bytes data, server => client 05:47:22.863448 '229 Entering Passive Mode (|||43577|)\r\n' 05:47:22.863630 < 8 bytes data, client => server 05:47:22.863658 'TYPE I\r\n' 05:47:22.863921 Received DATA (on stdin) 05:47:22.863935 > 33 bytes data, server => client 05:47:22.863945 '200 I modify TYPE as you wanted\r\n' 05:47:22.864006 < 21 bytes data, client => server 05:47:22.864019 'SIZE verifiedserver\r\n' 05:47:22.864151 Received DATA (on stdin) 05:47:22.864164 > 8 bytes data, server => client 05:47:22.864174 '213 17\r\n' 05:47:22.864227 < 21 bytes data, client => server 05:47:22.864245 'RETR verifiedserver\r\n' 05:47:22.864638 Received DATA (on stdin) 05:47:22.864650 > 29 bytes data, server => client 05:47:22.864660 '150 Binary junk (17 bytes).\r\n' 05:47:22.865165 Received DATA (on stdin) 05:47:22.865179 > 28 bytes data, server => client 05:47:22.865189 '226 File transfer complete\r\n' 05:47:22.912017 < 6 bytes data, client => server 05:47:22.912054 'QUIT\r\n' 05:47:22.912329 Received DATA (on stdin) 05:47:22.912344 > 18 bytes data, server => client 05:47:22.912355 '221 bye bye baby\r\n' 05:47:22.913283 ====> Client disconnect 05:47:22.913502 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:22.859957 Running IPv4 version 05:47:22.860043 Listening on port 43577 05:47:22.860078 Wrote pid 130313 to log/3/server/ftp_sockdata.pid 05:47:22.863100 Received PING (on stdin) 05:47:22.863220 Received PORT (on stdin) 05:47:22.863681 ====> Client connect 05:47:22.864544 Received DATA (on stdin) 05:47:22.864558 > 17 bytes data, server => client 05:47:22.864568 'WE ROOLZ: 81310\r\n' 05:47:22.864597 Received DISC (on stdin) 05:47:22.864611 ====> Client forcibly disconnected 05:47:22.864831 Received QUIT (on stdin) 05:47:22.864845 quits 05:47:22.864904 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY AUTH 500 unknown command\r\n500 unknown command\r\n331 give password\r\n230 Authenticated\r\n257 "/"\r\n200 OK\r\n200 OK\r\n200 OK\r\n226 Transfer complete REPLY PASS 530 Login incorrect Testnum 983 === End of file server.cmd === Start of file test983.txt data to see that FTPS works so does it? === End of file test983.txt === Start of file valgrind983 ==130411== ==130411== Process terminating with default action of signal 4 (SIGILL) ==130411== Illegal opcode at address 0x4014883 ==130411== at 0x4014883: getparameter (tool_getparam.c:2899) ==130411== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130411== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130411== by 0x4004208: main (tool_main.c:189) === End of file valgrind983 test 0986...[FTP require STARTTLS while preauthenticated] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind986 ../src/curl -q --output log/16/curl986.out --include --trace-ascii log/16/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:41717/986 -T log/16/test986.txt -u user:secret > log/16/stdout986 2> log/16/stderr986 986: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 986 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind986 ../src/curl -q --output log/16/curl986.out --include --trace-ascii log/16/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:41717/986 -T log/16/test986.txt -u user:secret > log/16/stdout986 2> log/16/stderr986 === End of file commands.log === Start of file ftp_server.log 05:47:22.722249 ====> Client connect 05:47:22.722468 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:22.725876 < "USER anonymous" 05:47:22.725929 > "331 We are happy you popped in![CR][LF]" 05:47:22.726109 < "PASS ftp@example.com" 05:47:22.726141 > "230 Welcome you silly person[CR][LF]" 05:47:22.726301 < "PWD" 05:47:22.726334 > "257 "/" is current directory[CR][LF]" 05:47:22.726503 < "EPSV" 05:47:22.726531 ====> Passive DATA channel requested by client 05:47:22.726546 DATA sockfilt for passive data channel starting... 05:47:22.733402 DATA sockfilt for passive data channel started (pid 130695) 05:47:22.733549 DATA sockfilt for passive data channel listens on port 35161 05:47:22.733604 > "229 Entering Passive Mode (|||35161|)[CR][LF]" 05:47:22.733630 Client has been notified that DATA conn will be accepted on port 35161 05:47:22.733964 Client connects to port 35161 05:47:22.733997 ====> Client established passive DATA connection on port 35161 05:47:22.734090 < "TYPE I" 05:47:22.734122 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:22.734291 < "SIZE verifiedserver" 05:47:22.734330 > "213 17[CR][LF]" 05:47:22.734477 < "RETR verifiedserver" 05:47:22.734515 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:22.734604 =====> Closing passive DATA connection... 05:47:22.734622 Server disconnects passive DATA connection 05:47:22.735562 Server disconnected passive DATA connection 05:47:22.735599 DATA sockfilt for passive data channel quits (pid 130695) 05:47:22.735861 DATA sockfilt for passive data channel quit (pid 130695) 05:47:22.735888 =====> Closed passive DATA connection 05:47:22.735918 > "226 File transfer complete[CR][LF]" 05:47:22.779995 < "QUIT" 05:47:22.780058 > "221 bye bye baby[CR][LF]" 05:47:22.781577 MAIN sockfilt said DISC 05:47:22.781615 ====> Client disconnected 05:47:22.781723 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:23.180336 ====> Client connect 05:47:23.183949 Received DATA (on stdin) 05:47:23.183970 > 146 bytes data, server => client 05:47:23.183982 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:23.183992 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:23.184001 '220 \___|\___/|_| \_\_____|\r\n' 05:47:23.187095 < 16 bytes data, client => server 05:47:23.187126 'USER anonymous\r\n' 05:47:23.187389 Received DATA (on stdin) 05:47:23.187402 > 33 bytes data, server => client 05:47:23.187413 '331 We are happy you popped in!\r\n' 05:47:23.187469 < 22 bytes data, client => server 05:47:23.187482 'PASS ftp@example.com\r\n' 05:47:23.187598 Received DATA (on stdin) 05:47:23.187610 > 30 bytes data, server => client 05:47:23.187621 '230 Welcome you silly person\r\n' 05:47:23.187670 < 5 bytes data, client => server 05:47:23.187681 'PWD\r\n' 05:47:23.187790 Received DATA (on stdin) 05:47:23.187801 > 30 bytes data, server => client 05:47:23.187810 '257 "/" is current directory\r\n' 05:47:23.187871 < 6 bytes data, client => server 05:47:23.187882 'EPSV\r\n' 05:47:23.195100 Received DATA (on stdin) 05:47:23.195118 > 39 bytes data, server => client 05:47:23.195129 '229 Entering Passive Mode (|||35161|)\r\n' 05:47:23.195332 < 8 bytes data, client => server 05:47:23.195349 'TYPE I\r\n' 05:47:23.195578 Received DATA (on stdin) 05:47:23.195590 > 33 bytes data, server => client 05:47:23.195600 '200 I modify TYPE as you wanted\r\n' 05:47:23.195653 < 21 bytes data, client => server 05:47:23.195666 'SIZE verifiedserver\r\n' 05:47:23.195785 Received DATA (on stdin) 05:47:23.195795 > 8 bytes data, server => client 05:47:23.195805 '213 17\r\n' 05:47:23.195853 < 21 bytes data, client => server 05:47:23.195863 'RETR verifiedserver\r\n' 05:47:23.196079 Received DATA (on stdin) 05:47:23.196091 > 29 bytes data, server => client 05:47:23.196101 '150 Binary junk (17 bytes).\r\n' 05:47:23.197377 Received DATA (on stdin) 05:47:23.197391 > 28 bytes data, server => client 05:47:23.197402 '226 File transfer complete\r\n' 05:47:23.241187 < 6 bytes data, client => server 05:47:23.241232 'QUIT\r\n' 05:47:23.241520 Received DATA (on stdin) 05:47:23.241534 > 18 bytes data, server => client 05:47:23.241545 '221 bye bye baby\r\n' 05:47:23.242977 ====> Client disconnect 05:47:23.243186 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:22.194529 Running IPv4 version 05:47:22.194628 Listening on port 35161 05:47:22.194664 Wrote pid 130695 to log/16/server/ftp_sockdata.pid 05:47:22.194797 Received PING (on stdin) 05:47:22.194902 Received PORT (on stdin) 05:47:22.195371 ====> Client connect 05:47:22.196158 Received DATA (on stdin) 05:47:22.196171 > 17 bytes data, server => client 05:47:22.196182 'WE ROOLZ: 80884\r\n' 05:47:22.196207 Received DISC (on stdin) 05:47:22.196218 ====> Client forcibly disconnected 05:47:22.197067 Received QUIT (on stdin) 05:47:22.197079 quits 05:47:22.197170 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 Welcome REPLY AUTH 500 unknown command Testnum 986 === End of file server.cmd === Start of file test986.txt data to see that FTPS works so does it? === End of file test986.txt === Start of file valgrind986 ==130742== ==130742== Process terminating with default action of signal 4 (SIGILL) ==130742== Illegal opcode at address 0x4014883 ==130742== at 0x4014883: getparameter (tool_getparam.c:2899) ==130742== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130742== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130742== by 0x4004208: main (tool_main.c:189) === End of file valgrind986 test 0990...[use -w %output{}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind990 ../src/curl -q --output log/8/curl990.out --include --trace-ascii log/8/trace990 --trace-time http://127.0.0.1:45623/990 -w '%output{log/8/output}%{http_code}\n' > log/8/stdout990 2> log/8/stderr990 990: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 990 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind990 ../src/curl -q --output log/8/curl990.out --include --trace-ascii log/8/trace990 --trace-time http://127.0.0.1:45623/990 -w '%output{log/8/output}%{http_code}\n' > log/8/stdout990 2> log/8/stderr990 === End of file commands.log === Start of file http_server.log 05:47:22.189919 ====> Client connect 05:47:22.189957 accept_connection 3 returned 4 05:47:22.189975 accept_connection 3 returned 0 05:47:22.189989 Read 93 bytes 05:47:22.189999 Process 93 bytes request 05:47:22.190012 Got request: GET /verifiedserver HTTP/1.1 05:47:22.190022 Are-we-friendly queCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind985 ../src/curl -q --output log/15/curl985.out --include --trace-ascii log/15/trace985 --trace-time pop3://127.0.0.1:36097/985 -u user:secret --ssl-reqd > log/15/stdout985 2> log/15/stderr985 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind991 ../src/curl -q --output log/12/curl991.out --include --trace-ascii log/12/trace991 --trace-time http://127.0.0.1:36353/991 -w '%output{>>log/12/output}%{http_code}' > log/12/stdout991 2> log/12/stderr991 stion received 05:47:22.190050 Wrote request (93 bytes) input to log/8/server.input 05:47:22.190069 Identifying ourselves as friends 05:47:22.190133 Response sent (56 bytes) and written to log/8/server.response 05:47:22.190145 special request received, no persistency 05:47:22.190154 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 990 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind990 ==130702== ==130702== Process terminating with default action of signal 4 (SIGILL) ==130702== Illegal opcode at address 0x4014883 ==130702== at 0x4014883: getparameter (tool_getparam.c:2899) ==130702== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130702== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130702== by 0x4004208: main (tool_main.c:189) === End of file valgrind990 test 0985...[POP3 require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind985 ../src/curl -q --output log/15/curl985.out --include --trace-ascii log/15/trace985 --trace-time pop3://127.0.0.1:36097/985 -u user:secret --ssl-reqd > log/15/stdout985 2> log/15/stderr985 985: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 985 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind985 ../src/curl -q --output log/15/curl985.out --include --trace-ascii log/15/trace985 --trace-time pop3://127.0.0.1:36097/985 -u user:secret --ssl-reqd > log/15/stdout985 2> log/15/stderr985 === End of file commands.log === Start of file pop3_server.log 05:47:22.459025 ====> Client connect 05:47:22.459174 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:22.479033 < "CAPA" 05:47:22.479094 > "-ERR Unrecognized command[CR][LF]" 05:47:22.479332 < "RETR verifiedserver" 05:47:22.479357 return proof we are we 05:47:22.479380 > "+OK Mail transfer starts[CR][LF]" 05:47:22.479404 > "WE ROOLZ: 122742[CR][LF]" 05:47:22.479422 > ".[CR][LF]" 05:47:22.532454 < "QUIT" 05:47:22.532525 > "+OK curl POP3 server signing off[CR][LF]" 05:47:22.542303 MAIN sockfilt said DISC 05:47:22.542366 ====> Client disconnected 05:47:22.542471 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:21.920344 ====> Client connect 05:47:21.920641 Received DATA (on stdin) 05:47:21.920657 > 164 bytes data, server => client 05:47:21.920670 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:21.920681 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:21.920691 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:21.933675 < 6 bytes data, client => server 05:47:21.933706 'CAPA\r\n' 05:47:21.940562 Received DATA (on stdin) 05:47:21.940580 > 27 bytes data, server => client 05:47:21.940591 '-ERR Unrecognized command\r\n' 05:47:21.940690 < 21 bytes data, client => server 05:47:21.940702 'RETR verifiedserver\r\n' 05:47:21.940879 Received DATA (on stdin) 05:47:21.940890 > 26 bytes data, server => client 05:47:21.940900 '+OK Mail transfer starts\r\n' 05:47:21.940921 Received DATA (on stdin) 05:47:21.940931 > 18 bytes data, server => client 05:47:21.940940 'WE ROOLZ: 122742\r\n' 05:47:21.940953 Received DATA (on stdin) 05:47:21.940962 > 3 bytes data, server => client 05:47:21.940971 '.\r\n' 05:47:21.993674 < 6 bytes data, client => server 05:47:21.993719 'QUIT\r\n' 05:47:21.993992 Received DATA (on stdin) 05:47:21.994005 > 34 bytes data, server => client 05:47:21.994017 '+OK curl POP3 server signing off\r\n' 05:47:22.003667 ====> Client disconnect 05:47:22.003929 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY CAPA -ERR Not implemented Testnum 985 === End of file server.cmd === Start of file valgrind985 ==130557== ==130557== Process terminating with default action of signal 4 (SIGILL) ==130557== Illegal opcode at address 0x4014883 ==130557== at 0x4014883: getparameter (tool_getparam.c:2899) ==130557== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130557== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130557== by 0x4004208: main (tool_main.c:189) === End of file valgrind985 test 0991...[use -w %output{} append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind991 ../src/curl -q --output log/12/curl991.out --include --trace-ascii log/12/trace991 --trace-time http://127.0.0.1:36353/991 -w '%output{>>log/12/output}%{http_code}' > log/12/stdout991 2> log/12/stderr991 991: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 991 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind991 ../src/curl -q --output log/12/curl991.out --include --trace-ascii log/12/trace991 --trace-time http://127.0.0.1:36353/991 -w '%output{>>log/12/output}%{http_code}' > log/12/stdout991 2> log/12/stderr991 === End of file commands.log === Start of file http_server.log 05:47:23.340374 ====> Client connect 05:47:23.340420 accept_connection 3 returned 4 05:47:23.340438 accept_connection 3 returned 0 05:47:23.340453 Read 93 bytes 05:47:23.340464 Process 93 bytes request 05:47:23.340477 Got request: GET /verifiedserver HTTP/1.1 05:47:23.340486 Are-we-friendly question received 05:47:23.340512 Wrote request (93 bytes) input to log/12/server.input 05:47:23.340529 Identifying ourselves as friends 05:47:23.340593 Response sent (56 bytes) and written to log/12/server.response 05:47:23.340604 special request received, no persistency 05:47:23.340613 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 51578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file output line one === End of file output === Start of file server.cmd Testnum 991 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind991 ==130803== ==130803== Process terminating with default action of signal 4 (SIGILL) ==130803== Illegal opcode at address 0x4014883 ==130803== at 0x4014883: getparameter (tool_getparam.c:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind996 ../src/curl -q --include --trace-ascii log/21/trace996 --trace-time -o log/21/there http://127.0.0.1:42891/996 --skip-existing > log/21/stdout996 2> log/21/stderr996 2899) ==130803== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130803== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130803== by 0x4004208: main (tool_main.c:189) === End of file valgrind991 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind993 ../src/curl -q --output log/20/curl993.out --include --trace-ascii log/20/trace993 --trace-time pop3://127.0.0.1:37081/ -u user:secret > log/20/stdout993 2> log/20/stderr993 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind992 ../src/curl -q --output log/2/curl992.out --include --trace-ascii log/2/trace992 --trace-time smtp://127.0.0.1:39435/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/2/stdout992 2> log/2/stderr992 test 0996...[--skip-existing with file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind996 ../src/curl -q --include --trace-ascii log/21/trace996 --trace-time -o log/21/there http://127.0.0.1:42891/996 --skip-existing > log/21/stdout996 2> log/21/stderr996 996: stderr FAILED: --- log/21/check-expected 2026-03-14 05:47:25.594616002 +0000 +++ log/21/check-generated 2026-03-14 05:47:25.594616002 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/21/there" exists locally[CR][LF] == Contents of files in the log/21/ directory after test 996 === Start of file check-expected Note: skips transfer, "log/21/there" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind996 ../src/curl -q --include --trace-ascii log/21/trace996 --trace-time -o log/21/there http://127.0.0.1:42891/996 --skip-existing > log/21/stdout996 2> log/21/stderr996 === End of file commands.log === Start of file http_server.log 05:47:22.903255 ====> Client connect 05:47:22.903291 accept_connection 3 returned 4 05:47:22.903307 accept_connection 3 returned 0 05:47:22.903457 Read 93 bytes 05:47:22.903472 Process 93 bytes request 05:47:22.903487 Got request: GET /verifiedserver HTTP/1.1 05:47:22.903496 Are-we-friendly question received 05:47:22.903527 Wrote request (93 bytes) input to log/21/server.input 05:47:22.903544 Identifying ourselves as friends 05:47:22.903605 Response sent (56 bytes) and written to log/21/server.response 05:47:22.903615 special request received, no persistency 05:47:22.903624 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 56892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 996 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==131080== ==131080== Process terminating with default action of signal 4 (SIGILL) ==131080== Illegal opcode at address 0x4014883 ==131080== at 0x4014883: getparameter (tool_getparam.c:2899) ==131080== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131080== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131080== by 0x4004208: main (tool_main.c:189) === End of file valgrind996 test 0993...[POP3 LIST 1000 messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind993 ../src/curl -q --output log/20/curl993.out --include --trace-ascii log/20/trace993 --trace-time pop3://127.0.0.1:37081/ -u user:secret > log/20/stdout993 2> log/20/stderr993 993: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 993 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind993 ../src/curl -q --output log/20/curl993.out --include --trace-ascii log/20/trace993 --trace-time pop3://127.0.0.1:37081/ -u user:secret > log/20/stdout993 2> log/20/stderr993 === End of file commands.log === Start of file pop3_server.log 05:47:23.259877 ====> Client connect 05:47:23.260076 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:23.260424 < "CAPA" 05:47:23.260476 > "-ERR Unrecognized command[CR][LF]" 05:47:23.260678 < "RETR verifiedserver" 05:47:23.260715 return proof we are we 05:47:23.260740 > "+OK Mail transfer starts[CR][LF]" 05:47:23.260766 > "WE ROOLZ: 123076[CR][LF]" 05:47:23.260784 > ".[CR][LF]" 05:47:23.303373 < "QUIT" 05:47:23.303444 > "+OK curl POP3 server signing off[CR][LF]" 05:47:23.304777 MAIN sockfilt said DISC 05:47:23.304818 ====> Client disconnected 05:47:23.304927 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:22.721198 ====> Client connect 05:47:22.721553 Received DATA (on stdin) 05:47:22.721569 > 164 bytes data, server => client 05:47:22.721582 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:22.721592 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:22.721602 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:22.721692 < 6 bytes data, client => server 05:47:22.721706 'CAPA\r\n' 05:47:22.721936 Received DATA (on stdin) 05:47:22.721949 > 27 bytes data, server => client 05:47:22.721960 '-ERR Unrecognized command\r\n' 05:47:22.722019 < 21 bytes data, client => server 05:47:22.722031 'RETR verifiedserver\r\n' 05:47:22.722241 Received DATA (on stdin) 05:47:22.722252 > 26 bytes data, server => client 05:47:22.722263 '+OK Mail transfer starts\r\n' 05:47:22.722284 Received DATA (on stdin) 05:47:22.722294 > 18 bytes data, server => client 05:47:22.722304 'WE ROOLZ: 123076\r\n' 05:47:22.722317 Received DATA (on stdin) 05:47:22.722326 > 3 bytes data, server => client 05:47:22.722336 '.\r\n' 05:47:22.764607 < 6 bytes data, client => server 05:47:22.764648 'QUIT\r\n' 05:47:22.764909 Received DATA (on stdin) 05:47:22.764923 > 34 bytes data, server => client 05:47:22.764934 '+OK curl POP3 server signing off\r\n' 05:47:22.766163 ====> Client disconnect 05:47:22.766388 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 993 === End of file server.cmd === Start of file valgrind993 ==130963== ==130963== Process terminating with default action of signal 4 (SIGILL) ==130963== Illegal opcode at address 0x4014883 ==130963== at 0x4014883: getparameter (tool_getparam.c:2899) ==130963== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130963== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130963== by 0x4004208: main (tool_main.c:189) === End of file valgrind993 test 0992...[SASL verify default mechanisms are reset by login options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind992 ../src/curl -q --output log/2/curl992.out --include --trace-ascii log/2/trace992 --trace-time smtp://127.0.0.1:39435/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/2/stdout992 2> log/2/stderr992 992: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 992 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind992 ../src/curl -q --output log/2/curl992.out --include --trace-ascii log/2/trace992 --trace-time smtp://127.0.0.1:39435/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind994 ../src/curl -q --include --trace-ascii log/6/trace994 --trace-time -o "log/6/#1" "http://127.0.0.1:33035/994/{hey,ho}" --skip-existing > log/6/stdout994 2> log/6/stderr994 TH2" -T - log/2/stdout992 2> log/2/stderr992 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 992 === End of file server.cmd === Start of file smtp_server.log 05:47:23.148909 ====> Client connect 05:47:23.149126 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:23.162493 < "EHLO verifiedserver" 05:47:23.162574 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:23.179278 < "HELP" 05:47:23.179352 > "214 WE ROOLZ: 125373[CR][LF]" 05:47:23.179373 return proof we are we 05:47:23.179653 < "QUIT" 05:47:23.179682 > "221 curl ESMTP server signing off[CR][LF]" 05:47:23.180954 MAIN sockfilt said DISC 05:47:23.180986 ====> Client disconnected 05:47:23.181084 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:22.601480 ====> Client connect 05:47:22.610602 Received DATA (on stdin) 05:47:22.610627 > 146 bytes data, server => client 05:47:22.610637 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:22.610646 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:22.610654 '220 \___|\___/|_| \_\_____|\r\n' 05:47:22.620455 < 21 bytes data, client => server 05:47:22.620502 'EHLO verifiedserver\r\n' 05:47:22.633670 Received DATA (on stdin) 05:47:22.633717 > 53 bytes data, server => client 05:47:22.633733 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:22.640474 < 6 bytes data, client => server 05:47:22.640519 'HELP\r\n' 05:47:22.640833 Received DATA (on stdin) 05:47:22.640845 > 22 bytes data, server => client 05:47:22.640856 '214 WE ROOLZ: 125373\r\n' 05:47:22.640985 < 6 bytes data, client => server 05:47:22.641001 'QUIT\r\n' 05:47:22.641138 Received DATA (on stdin) 05:47:22.641150 > 35 bytes data, server => client 05:47:22.641160 '221 curl ESMTP server signing off\r\n' 05:47:22.642354 ====> Client disconnect 05:47:22.642553 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-992 mail body === End of file stdin-for-992 === Start of file valgrind992 ==130925== ==130925== Process terminating with default action of signal 4 (SIGILL) ==130925== Illegal opcode at address 0x4014883 ==130925== at 0x4014883: getparameter (tool_getparam.c:2899) ==130925== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==130925== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==130925== by 0x4004208: main (tool_main.c:189) === End of file valgrind992 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1000 ../src/curl -q --output log/10/curl1000.out --include --trace-ascii log/10/trace1000 --trace-time ftp://127.0.0.1:32809/1000/ -I > log/10/stdout1000 2> log/10/stderr1000 test 0994...[--skip-existing with globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind994 ../src/curl -q --include --trace-ascii log/6/trace994 --trace-time -o "log/6/#1" "http://127.0.0.1:33035/994/{hey,ho}" --skip-existing > log/6/stdout994 2> log/6/stderr994 994: stderr FAILED: --- log/6/check-expected 2026-03-14 05:47:25.897949336 +0000 +++ log/6/check-generated 2026-03-14 05:47:25.897949336 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/6/hey" exists locally[CR][LF] -Note: skips transfer, "log/6/ho" exists locally[CR][LF] == Contents of files in the log/6/ directory after test 994 === Start of file check-expected Note: skips transfer, "log/6/hey" exists locally[CR][LF] Note: skips transfer, "log/6/ho" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind994 ../src/curl -q --include --trace-ascii log/6/trace994 --trace-time -o "log/6/#1" "http://127.0.0.1:33035/994/{hey,ho}" --skip-existing > log/6/stdout994 2> log/6/stderr994 === End of file commands.log === Start of file hey content === End of file hey === Start of file ho content === End of file ho === Start of file http_server.log 05:47:22.882284 ====> Client connect 05:47:22.882322 accept_connection 3 returned 4 05:47:22.882340 accept_connection 3 returned 0 05:47:22.882509 Read 93 bytes 05:47:22.882528 Process 93 bytes request 05:47:22.882543 Got request: GET /verifiedserver HTTP/1.1 05:47:22.882554 Are-we-friendly question received 05:47:22.882585 Wrote request (93 bytes) input to log/6/server.input 05:47:22.882605 Identifying ourselves as friends 05:47:22.882671 Response sent (56 bytes) and written to log/6/server.response 05:47:22.882683 special request received, no persistency 05:47:22.882692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 49662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 994 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind994 ==131058== ==131058== Process terminating with default action of signal 4 (SIGILL) ==131058== Illegal opcode at address 0x4014883 ==131058== at 0x4014883: getparameter (tool_getparam.c:2899) ==131058== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131058== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131058== by 0x4004208: main (tool_main.c:189) === End of file valgrind994 test 1000...[FTP dir list PASV with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1000 ../src/curl -q --output log/10/curl1000.out --include --trace-ascii log/10/trace1000 --trace-time ftp://127.0.0.1:32809/1000/ -I > log/10/stdout1000 2> log/10/stderr1000 1000: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1000 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1000 ../src/curl -q --output log/10/curl1000.out --include --trace-ascii log/10/trace1000 --trace-time ftp://127.0.0.1:32809/1000/ -I > log/10/stdout1000 2> log/10/stderr1000 === End of file commands.log === Start of file ftp_server.log 05:47:23.748997 ====> Client connect 05:47:23.749167 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:23.749476 < "USER anonymous" 05:47:23.749510 > "331 We are happy you popped in![CR][LF]" 05:47:23.749676 < "PASS ftp@example.com" 05:47:23.749701 > "230 Welcome you silly person[CR][LF]" 05:47:23.749857 < "PWD" 05:47:23.749891 > "257 "/" is current directory[CR][LF]" 05:47:23.750067 < "EPSV" 05:47:23.750093 ====> Passive DATA channel requested by client 05:47:23.750107 DATA sockfilt for passive data channel starting... 05:47:23.756934 DATA sockfilt for passive data channel started (pid 131360) 05:47:23.757092 DATA sockfilt for passive data channel listens on port 40101 05:47:23.757154 > "229 Entering Passive Mode (|||40101|)[CR][LF]" 05:47:23.757183 Client has been notified that DATA conn will be accepted on port 40101 05:47:23.757520 Client connects to port 40101 05:47:23.757555 ====> Client established passive DATA connection on port 40101 05:47:23.757692 < "TYPE I" 05:47:23.757734 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:23.757936 < "SIZE verifiedserver" 05:47:23.757983 > "213 17[CR][LF]" 05:47:23.758170 < "RETR verifiedserver" 05:47:23.758209 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:23.758304 =====> Closing passive DATA connection... 05:47:23.758324 Server disconnects passive DATA connection 05:47:23.758567 Server disconnected passive DATA connection 05:47:23.758600 DATA sockfilt for passive data channel quits (pid 131360) 05:47:23.758839 DATA sockfilt for passive data channel quit (pid 131360) 05:47:23.758881 =====> Closed passive DATA connection 05:47:23.758912 > "226 File transfer complete[CR][LF]" 05:47:23.802619 < "QUIT" 05:47:23.802693 > "221 bye bye baby[CR][LF]" 05:47:23.804153 MAIN sockfilt said DISC 05:47:23.804191 ====> Client disconnected 05:47:23.804285 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:24.210341 ====> Client connect 05:47:24.210637 Received DATA (on stdin) 05:47:24.210652 > 146 bytes data, server => client 05:47:24.210664 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:24.210678 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:24.210688 '220 \___|\___/|_| \_\_____|\r\n' 05:47:24.210786 < 16 bytes data, client => server 05:47:24.210800 'USER anonymous\r\n' 05:47:24.210970 Received DATA (on stdin) 05:47:24.210982 > 33 bytes data, server => client 05:47:24.210992 '331 We are happy you popped in!\r\n' 05:47:24.211042 < 22 bytes data, client => server 05:47:24.211054 'PASS ftp@example.com\r\n' 05:47:24.211158 Received DATA (on stdin) 05:47:24.211169 > 30 bytes data, server => client 05:47:24.211179 '230 Welcome you silly person\r\n' 05:47:24.211228 < 5 bytes data, client => server 05:47:24.211239 'PWD\r\n' 05:47:24.211351 Received DATA (on stdin) 05:47:24.211362 > 30 bytes data, server => client 05:47:24.211372 '257 "/" is current directory\r\n' 05:47:24.211433 < 6 bytes data, client => server 05:47:24.211447 'EPSV\r\n' 05:47:24.218660 Received DATA (on stdin) 05:47:24.218681 > 39 bytes data, server => client 05:47:24.218693 '229 Entering Passive Mode (|||40101|)\r\n' 05:47:24.219031 < 8 bytes data, client => server 05:47:24.219043 'TYPE I\r\n' 05:47:24.219202 Received DATA (on stdin) 05:47:24.219216 > 33 bytes data, server => client 05:47:24.219227 '200 I modify TYPE as you wanted\r\n' 05:47:24.219287 < 21 bytes data, client => server 05:47:24.219303 'SIZE verifiedserver\r\n' 05:47:24.219447 Received DATA (on stdin) 05:47:24.219461 > 8 bytes data, server => client 05:47:24.219472 '213 17\r\n' 05:47:24.219528 < 21 bytes data, client => server 05:47:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind999 ../src/curl -q --output log/1/curl999.out --include --trace-ascii log/1/trace999 --trace-time -x 127.0.0.1:38765 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/1/stdout999 2> log/1/stderr999 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind998 ../src/curl -q --output log/14/curl998.out --include --trace-ascii log/14/trace998 --trace-time -x 127.0.0.1:35549 http://alberto:einstein@somewhere.example/998 --location-trusted > log/14/stdout998 2> log/14/stderr998 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1001 ../src/curl -q --output log/4/curl1001.out --include --trace-ascii log/4/trace1001 --trace-time http://127.0.0.1:40253/1001 -u auser:apasswd --digest -T log/4/1001 -x http://127.0.0.1:40253 -C 2 -X GET > log/4/stdout1001 2> log/4/stderr1001 24.219544 'RETR verifiedserver\r\n' 05:47:24.219784 Received DATA (on stdin) 05:47:24.219797 > 29 bytes data, server => client 05:47:24.219808 '150 Binary junk (17 bytes).\r\n' 05:47:24.220371 Received DATA (on stdin) 05:47:24.220384 > 28 bytes data, server => client 05:47:24.220395 '226 File transfer complete\r\n' 05:47:24.263841 < 6 bytes data, client => server 05:47:24.263882 'QUIT\r\n' 05:47:24.264166 Received DATA (on stdin) 05:47:24.264181 > 18 bytes data, server => client 05:47:24.264192 '221 bye bye baby\r\n' 05:47:24.265550 ====> Client disconnect 05:47:24.265751 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:23.217942 Running IPv4 version 05:47:23.218060 Listening on port 40101 05:47:23.218107 Wrote pid 131360 to log/10/server/ftp_sockdata.pid 05:47:23.218319 Received PING (on stdin) 05:47:23.218440 Received PORT (on stdin) 05:47:23.218919 ====> Client connect 05:47:23.219834 Received DATA (on stdin) 05:47:23.219847 > 17 bytes data, server => client 05:47:23.219858 'WE ROOLZ: 81057\r\n' 05:47:23.219883 Received DISC (on stdin) 05:47:23.219896 ====> Client forcibly disconnected 05:47:23.220066 Received QUIT (on stdin) 05:47:23.220079 quits 05:47:23.220143 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==131431== ==131431== Process terminating with default action of signal 4 (SIGILL) ==131431== Illegal opcode at address 0x4014883 ==131431== at 0x4014883: getparameter (tool_getparam.c:2899) ==131431== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131431== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131431== by 0x4004208: main (tool_main.c:189) === End of file valgrind1000 test 0999...[HTTP with auth in first URL but not second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind999 ../src/curl -q --output log/1/curl999.out --include --trace-ascii log/1/trace999 --trace-time -x 127.0.0.1:38765 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/1/stdout999 2> log/1/stderr999 999: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 999 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind999 ../src/curl -q --output log/1/curl999.out --include --trace-ascii log/1/trace999 --trace-time -x 127.0.0.1:38765 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/1/stdout999 2> log/1/stderr999 === End of file commands.log === Start of file http_server.log 05:47:24.093744 ====> Client connect 05:47:24.093780 accept_connection 3 returned 4 05:47:24.093796 accept_connection 3 returned 0 05:47:24.093810 Read 93 bytes 05:47:24.093819 Process 93 bytes request 05:47:24.093833 Got request: GET /verifiedserver HTTP/1.1 05:47:24.093842 Are-we-friendly question received 05:47:24.093873 Wrote request (93 bytes) input to log/1/server.input 05:47:24.093891 Identifying ourselves as friends 05:47:24.093959 Response sent (56 bytes) and written to log/1/server.response 05:47:24.093971 special request received, no persistency 05:47:24.093979 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 47590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 999 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind999 ==131270== ==131270== Process terminating with default action of signal 4 (SIGILL) ==131270== Illegal opcode at address 0x4014883 ==131270== at 0x4014883: getparameter (tool_getparam.c:2899) ==131270== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131270== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131270== by 0x4004208: main (tool_main.c:189) === End of file valgrind999 test 0998...[HTTP with auth in URL redirected to another host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind998 ../src/curl -q --output log/14/curl998.out --include --trace-ascii log/14/trace998 --trace-time -x 127.0.0.1:35549 http://alberto:einstein@somewhere.example/998 --location-trusted > log/14/stdout998 2> log/14/stderr998 998: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 998 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind998 ../src/curl -q --output log/14/curl998.out --include --trace-ascii log/14/trace998 --trace-time -x 127.0.0.1:35549 http://alberto:einstein@somewhere.example/998 --location-trusted > log/14/stdout998 2> log/14/stderr998 === End of file commands.log === Start of file http_server.log 05:47:24.080399 ====> Client connect 05:47:24.080448 accept_connection 3 returned 4 05:47:24.080468 accept_connection 3 returned 0 05:47:24.080485 Read 93 bytes 05:47:24.080494 Process 93 bytes request 05:47:24.080508 Got request: GET /verifiedserver HTTP/1.1 05:47:24.080517 Are-we-friendly question received 05:47:24.080541 Wrote request (93 bytes) input to log/14/server.input 05:47:24.080557 Identifying ourselves as friends 05:47:24.080632 Response sent (56 bytes) and written to log/14/server.response 05:47:24.080641 special request received, no persistency 05:47:24.080650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 48442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 998 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind998 ==131264== ==131264== Process terminating with default action of signal 4 (SIGILL) ==131264== Illegal opcode at address 0x4014883 ==131264== at 0x4014883: getparameter (tool_getparam.c:2899) ==131264== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131264== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131264== by 0x4004208: main (tool_main.c:189) === End of file valgrind998 test 1001...[HTTP POST --digest with PUT and resumed upload and modified method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1001 ../src/curl -q --output log/4/curl1001.out --include --trace-ascii log/4/trace100CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind997 ../src/curl -q --output log/24/curl997.out --include --trace-ascii log/24/trace997 --trace-time pop3://127.0.0.1:43813 -u user:secret -X 'STAT' > log/24/stdout997 2> log/24/stderr997 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind995 ../src/curl -q --trace-ascii log/19/trace995 --trace-time -o log/19/there http://127.0.0.1:35701/995 --skip-existing > log/19/stdout995 2> log/19/stderr995 1 --trace-time http://127.0.0.1:40253/1001 -u auser:apasswd --digest -T log/4/1001 -x http://127.0.0.1:40253 -C 2 -X GET > log/4/stdout1001 2> log/4/stderr1001 1001: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1001 === Start of file 1001 test === End of file 1001 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1001 ../src/curl -q --output log/4/curl1001.out --include --trace-ascii log/4/trace1001 --trace-time http://127.0.0.1:40253/1001 -u auser:apasswd --digest -T log/4/1001 -x http://127.0.0.1:40253 -C 2 -X GET > log/4/stdout1001 2> log/4/stderr1001 === End of file commands.log === Start of file http_server.log 05:47:23.205574 ====> Client connect 05:47:23.205610 accept_connection 3 returned 4 05:47:23.205627 accept_connection 3 returned 0 05:47:23.206248 Read 93 bytes 05:47:23.206265 Process 93 bytes request 05:47:23.206278 Got request: GET /verifiedserver HTTP/1.1 05:47:23.206288 Are-we-friendly question received 05:47:23.206316 Wrote request (93 bytes) input to log/4/server.input 05:47:23.206334 Identifying ourselves as friends 05:47:23.206398 Response sent (56 bytes) and written to log/4/server.response 05:47:23.206410 special request received, no persistency 05:47:23.206419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 37480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1001 ==131404== ==131404== Process terminating with default action of signal 4 (SIGILL) ==131404== Illegal opcode at address 0x4014883 ==131404== at 0x4014883: getparameter (tool_getparam.c:2899) ==131404== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131404== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131404== by 0x4004208: main (tool_main.c:189) === End of file valgrind1001 test 0997...[POP3 retrieve STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind997 ../src/curl -q --output log/24/curl997.out --include --trace-ascii log/24/trace997 --trace-time pop3://127.0.0.1:43813 -u user:secret -X 'STAT' > log/24/stdout997 2> log/24/stderr997 997: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 997 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind997 ../src/curl -q --output log/24/curl997.out --include --trace-ascii log/24/trace997 --trace-time pop3://127.0.0.1:43813 -u user:secret -X 'STAT' > log/24/stdout997 2> log/24/stderr997 === End of file commands.log === Start of file pop3_server.log 05:47:23.607912 ====> Client connect 05:47:23.608090 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:23.608452 < "CAPA" 05:47:23.608508 > "-ERR Unrecognized command[CR][LF]" 05:47:23.608747 < "RETR verifiedserver" 05:47:23.608783 return proof we are we 05:47:23.608813 > "+OK Mail transfer starts[CR][LF]" 05:47:23.608838 > "WE ROOLZ: 122823[CR][LF]" 05:47:23.608858 > ".[CR][LF]" 05:47:23.654097 < "QUIT" 05:47:23.654165 > "+OK curl POP3 server signing off[CR][LF]" 05:47:23.658938 MAIN sockfilt said DISC 05:47:23.658992 ====> Client disconnected 05:47:23.659099 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:24.069230 ====> Client connect 05:47:24.069568 Received DATA (on stdin) 05:47:24.069586 > 164 bytes data, server => client 05:47:24.069598 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:24.069608 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:24.069618 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:24.069715 < 6 bytes data, client => server 05:47:24.069728 'CAPA\r\n' 05:47:24.069976 Received DATA (on stdin) 05:47:24.069989 > 27 bytes data, server => client 05:47:24.069999 '-ERR Unrecognized command\r\n' 05:47:24.070069 < 21 bytes data, client => server 05:47:24.070081 'RETR verifiedserver\r\n' 05:47:24.070335 Received DATA (on stdin) 05:47:24.070348 > 26 bytes data, server => client 05:47:24.070358 '+OK Mail transfer starts\r\n' 05:47:24.070381 Received DATA (on stdin) 05:47:24.070390 > 18 bytes data, server => client 05:47:24.070400 'WE ROOLZ: 122823\r\n' 05:47:24.070416 Received DATA (on stdin) 05:47:24.070425 > 3 bytes data, server => client 05:47:24.070434 '.\r\n' 05:47:24.115321 < 6 bytes data, client => server 05:47:24.115350 'QUIT\r\n' 05:47:24.115634 Received DATA (on stdin) 05:47:24.115652 > 34 bytes data, server => client 05:47:24.115663 '+OK curl POP3 server signing off\r\n' 05:47:24.120319 ====> Client disconnect 05:47:24.120565 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 997 === End of file server.cmd === Start of file valgrind997 ==131275== ==131275== Process terminating with default action of signal 4 (SIGILL) ==131275== Illegal opcode at address 0x4014883 ==131275== at 0x4014883: getparameter (tool_getparam.c:2899) ==131275== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131275== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131275== by 0x4004208: main (tool_main.c:189) === End of file valgrind997 test 0995...[--skip-existing without file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind995 ../src/curl -q --trace-ascii log/19/trace995 --trace-time -o log/19/there http://127.0.0.1:35701/995 --skip-existing > log/19/stdout995 2> log/19/stderr995 995: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 995 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind995 ../src/curl -q --trace-ascii log/19/trace995 --trace-time -o log/19/there http://127.0.0.1:35701/995 --skip-existing > log/19/stdout995 2> log/19/stderr995 === End of file commands.log === Start of file http_server.log 05:47:22.937312 ====> Client connect 05:47:22.937344 accept_connection 3 returned 4 05:47:22.937360 accept_connection 3 returned 0 05:47:22.937374 Read 93 bytes 05:47:22.937384 Process 93 bytes request 05:47:22.937397 Got request: GET /verifiedserver HTTP/1.1 05:47:22.937406 Are-we-friendly question received 05:47:22.937430 Wrote request (93 bytes) input to log/19/server.input 05:47:22.937448 Identifying ourselves as friends 05:47:22.937506 Response sent (56 bytes) and written to log/19/server.response 05:47:22.937515 special requesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1004 ../src/curl -q --output log/23/curl1004.out --include --trace-ascii log/23/trace1004 --trace-time http://127.0.0.1:33217/1004 --proxy "" > log/23/stdout1004 2> log/23/stderr1004 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1005 ../src/curl -q --output log/11/curl1005.out --include --trace-ascii log/11/trace1005 --trace-time ftp://127.0.0.1:37471/path/1005 > log/11/stdout1005 2> log/11/stderr1005 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1011 ../src/curl -q --output log/3/curl1011.out --include --trace-ascii log/3/trace1011 --trace-time http://127.0.0.1:39591/blah/1011 -L -d "moo" > log/3/stdout1011 2> log/3/stderr1011 t received, no persistency 05:47:22.937522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 45464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 995 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind995 ==131141== ==131141== Process terminating with default action of signal 4 (SIGILL) ==131141== Illegal opcode at address 0x4014883 ==131141== at 0x4014883: getparameter (tool_getparam.c:2899) ==131141== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131141== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131141== by 0x4004208: main (tool_main.c:189) === End of file valgrind995 test 1004...[HTTP GET with empty proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1004 ../src/curl -q --output log/23/curl1004.out --include --trace-ascii log/23/trace1004 --trace-time http://127.0.0.1:33217/1004 --proxy "" > log/23/stdout1004 2> log/23/stderr1004 1004: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1004 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1004 ../src/curl -q --output log/23/curl1004.out --include --trace-ascii log/23/trace1004 --trace-time http://127.0.0.1:33217/1004 --proxy "" > log/23/stdout1004 2> log/23/stderr1004 === End of file commands.log === Start of file http_server.log 05:47:24.983480 ====> Client connect 05:47:24.983524 accept_connection 3 returned 4 05:47:24.983540 accept_connection 3 returned 0 05:47:24.983555 Read 93 bytes 05:47:24.983565 Process 93 bytes request 05:47:24.983579 Got request: GET /verifiedserver HTTP/1.1 05:47:24.983588 Are-we-friendly question received 05:47:24.983616 Wrote request (93 bytes) input to log/23/server.input 05:47:24.986994 Identifying ourselves as friends 05:47:24.987086 Response sent (56 bytes) and written to log/23/server.response 05:47:24.987097 special request received, no persistency 05:47:24.987106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 36668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1004 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1004 ==131702== ==131702== Process terminating with default action of signal 4 (SIGILL) ==131702== Illegal opcode at address 0x4014883 ==131702== at 0x4014883: getparameter (tool_getparam.c:2899) ==131702== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131702== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131702== by 0x4004208: main (tool_main.c:189) === End of file valgrind1004 test 1011...[HTTP POST with 301 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1011 ../src/curl -q --output log/3/curl1011.out --include --trace-ascii log/3/trace1011 --trace-time http://127.0.0.1:39591/blah/1011 -L -d "moo" > log/3/stdout1011 2> log/3/stderr1011 1011: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1011 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1011 ../src/curl -q --output log/3/curl1011.out --include --trace-ascii log/3/trace1011 --trace-time http://127.0.0.1:39591/blah/1011 -L -d "moo" > log/3/stdout1011 2> log/3/stderr1011 === End of file commands.log === Start of file http_server.log 05:47:25.530614 ====> Client connect 05:47:25.530664 accept_connection 3 returned 4 05:47:25.530685 accept_connection 3 returned 0 05:47:25.530702 Read 93 bytes 05:47:25.530713 Process 93 bytes request 05:47:25.530728 Got request: GET /verifiedserver HTTP/1.1 05:47:25.530737 Are-we-friendly question received 05:47:25.530765 Wrote request (93 bytes) input to log/3/server.input 05:47:25.530786 Identifying ourselves as friends 05:47:25.530878 Response sent (56 bytes) and written to log/3/server.response 05:47:25.530890 special request received, no persistency 05:47:25.530899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 34892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1011 ==132142== ==132142== Process terminating with default action of signal 4 (SIGILL) ==132142== Illegal opcode at address 0x4014883 ==132142== at 0x4014883: getparameter (tool_getparam.c:2899) ==132142== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132142== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132142== by 0x4004208: main (tool_main.c:189) === End of file valgrind1011 test 1005...[FTP with excessively large number of server command response lines] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1005 ../src/curl -q --output log/11/curl1005.out --include --trace-ascii log/11/trace1005 --trace-time ftp://127.0.0.1:37471/path/1005 > log/11/stdout1005 2> log/11/stderr1005 1005: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1005 ../src/curl -q --output log/11/curl1005.out --include --trace-ascii log/11/trace1005 --trace-time ftp://127.0.0.1:37471/path/1005 > log/11/stdout1005 2> log/11/stderr1005 === End of file commands.log === Start of file ftp_server.log 05:47:24.602899 ====> Client connect 05:47:24.603270 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:24.608287 < "USER anonymous" 05:47:24.608341 > "331 We are happy you popped in![CR][LF]" 05:47:24.608549 < "PASS ftp@example.com" 05:47:24.608585 > "230 Welcome you silly person[CR][LF]" 05:47:24.608780 < "PWD" 05:47:24.608821 > "257 "/" is current directory[CR][LF]" 05:47:24.609040 < "EPSV" 05:47:24.609071 ====> Passive DATA channel requested by client 05:47:24.609089 DATA sockfilt for passive data channel starting... 05:47:24.619331 DATA sockfilt for passive data channel started (pid 131746) 05:47:24.621503 DATA sockfilt for passive data channel listens on port 43803 05:47:24.621571 > "229 Entering Passive Mode (|||43803|)[CR][LF]" 05:47:24.621598 Client has been notified that DATA conn will be accepted on port 43803 05:47:24.621923 Client connects to port 43803 05:47:24.621958 ====> Client established passive DATA connection on port 43803 05:47:24.622113 < "TYPE I" 05:47:24.622151 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:24.622352 < "SIZE verifiedserver" 05:47:24.622404 > "213 17[CR][LF]" 05:47:24.622592 < "RETR verifiedserver" 05:47:24.622635 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:24.622740 =====> Closing passive DATA connection... 05:47:24.622763 Server disconnects passive DATA connection 05:47:24.622891 Server disconnected passive DATA connection 05:47:24.622922 DATA sockfilt for passive data channel quits (pid 131746) 05:47:24.623164 DATA sockfilt for passive data channel quit (pid 131746) 05:47:24.623194 =====> Closed passive DATA connection 05:47:24.623222 > "226 File transfer complete[CR][LF]" 05:47:24.669246 < "QUIT" 05:47:24.669315 > "221 bye bye baby[CR][LF]" 05:47:24.670772 MAIN sockfilt said DISC 05:47:24.670825 ====> Client disconnected 05:47:24.670920 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:25.064229 ====> Client connect 05:47:25.064747 Received DATA (on stdin) 05:47:25.064764 > 146 bytes data, server => client 05:47:25.064777 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:25.064788 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:25.064798 '220 \___|\___/|_| \_\_____|\r\n' 05:47:25.069547 < 16 bytes data, client => server 05:47:25.069571 'USER anonymous\r\n' 05:47:25.069811 Received DATA (on stdin) 05:47:25.069826 > 33 bytes data, server => client 05:47:25.069838 '331 We are happy you popped in!\r\n' 05:47:25.069900 < 22 bytes data, client => server 05:47:25.069916 'PASS ftp@example.com\r\n' 05:47:25.070048 Received DATA (on stdin) 05:47:25.070063 > 30 bytes data, server => client 05:47:25.070074 '230 Welcome you silly person\r\n' 05:47:25.070134 < 5 bytes data, client => server 05:47:25.070150 'PWD\r\n' 05:47:25.070285 Received DATA (on stdin) 05:47:25.070312 > 30 bytes data, server => client 05:47:25.070323 '257 "/" is current directory\r\n' 05:47:25.070396 < 6 bytes data, client => server 05:47:25.070412 'EPSV\r\n' 05:47:25.083074 Received DATA (on stdin) 05:47:25.083096 > 39 bytes data, server => client 05:47:25.083109 '229 Entering Passive Mode (|||43803|)\r\n' 05:47:25.083440 < 8 bytes data, client => server 05:47:25.083455 'TYPE I\r\n' 05:47:25.083615 Received DATA (on stdin) 05:47:25.083629 > 33 bytes data, server => client 05:47:25.083648 '200 I modify TYPE as you wanted\r\n' 05:47:25.083706 < 21 bytes data, client => server 05:47:25.083722 'SIZE verifiedserver\r\n' 05:47:25.083864 Received DATA (on stdin) 05:47:25.083878 > 8 bytes data, server => client 05:47:25.083888 '213 17\r\n' 05:47:25.083945 < 21 bytes data, client => server 05:47:25.083961 'RETR verifiedserver\r\n' 05:47:25.084681 Received DATA (on stdin) 05:47:25.084694 > 29 bytes data, server => client 05:47:25.084705 '150 Binary junk (17 bytes).\r\n' 05:47:25.084728 Received DATA (on stdin) 05:47:25.084739 > 28 bytes data, server => client 05:47:25.084749 '226 File transfer complete\r\n' 05:47:25.130470 < 6 bytes data, client => server 05:47:25.130505 'QUIT\r\n' 05:47:25.130783 Received DATA (on stdin) 05:47:25.130798 > 18 bytes data, server => client 05:47:25.130808 '221 bye bye baby\r\n' 05:47:25.132157 ====> Client disconnect 05:47:25.132390 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:24.077739 Running IPv4 version 05:47:24.077819 Listening on port 43803 05:47:24.077863 Wrote pid 131746 to log/11/server/ftp_sockdata.pid 05:47:24.080713 Received PING (on stdin) 05:47:24.082834 Received PORT (on stdin) 05:47:24.083320 ====> Client connect 05:47:24.084225 Received DATA (on stdin) 05:47:24.084238 > 17 bytes data, server => client 05:47:24.084249 'WE ROOLZ: 81984\r\n' 05:47:24.084277 Received DISC (on stdin) 05:47:24.084292 ====> Client forcibly disconnected 05:47:24.084386 Received QUIT (on stdin) 05:47:24.084398 quits 05:47:24.084470 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1002 ../src/curl -q --output log/5/curl1002.out --include --trace-ascii log/5/trace1002 --trace-time http://127.0.0.1:35621/1002.upload1 -T log/5/1002 http://127.0.0.1:35621/1002.upload2 -T log/5/1002 -u auser:apasswd --digest -x http://127.0.0.1:35621 -C 2 -X GET > log/5/stdout1002 2> log/5/stderr1002 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 Testnum 1005 === End of file server.cmd === Start of file valgrind1005 ==131834== ==131834== Process terminating with default action of signal 4 (SIGILL) ==131834== Illegal opcode at address 0x4014883 ==131834== at 0x4014883: getparameter (tool_getparam.c:2899) ==131834== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131834== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131834== by 0x4004208: main (tool_main.c:189) === End of file valgrind1005 test 1002...[HTTP PUT with Digest auth, resumed upload and modified method, twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1002 ../src/curl -q --output log/5/curl1002.out --include --trace-ascii log/5/trace1002 --trace-time http://127.0.0.1:35621/1002.upload1 -T log/5/1002 http://127.0.0.1:35621/1002.upload2 -T log/5/1002 -u auser:apasswd --digest -x http://127.0.0.1:35621 -C 2 -X GET > log/5/stdout1002 2> log/5/stderr1002 1002: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1002 === Start of file 1002 test === End of file 1002 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1002 ../src/curl -q --output log/5/curl1002.out --include --trace-ascii log/5/trace1002 --trace-time http://127.0.0.1:35621/1002.upload1 -T log/5/1002 http://127.0.0.1:35621/1002.upload2 -T log/5/1002 -u auser:apasswd --digest -x http://127.0.0.1:35621 -C 2 -X GET > log/5/stdout1002 2> log/5/stderr1002 === End of file commands.log === Start of file http_server.log 05:47:24.810506 ====> Client connect 05:47:24.810542 accept_conCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1006 ../src/curl -q --output log/9/curl1006.out --include --trace-ascii log/9/trace1006 --trace-time ftp://127.0.0.1:39835/path/1006 > log/9/stdout1006 2> log/9/stderr1006 nection 3 returned 4 05:47:24.810557 accept_connection 3 returned 0 05:47:24.810707 Read 93 bytes 05:47:24.810718 Process 93 bytes request 05:47:24.810731 Got request: GET /verifiedserver HTTP/1.1 05:47:24.810739 Are-we-friendly question received 05:47:24.810925 Wrote request (93 bytes) input to log/5/server.input 05:47:24.810943 Identifying ourselves as friends 05:47:24.810994 Response sent (56 bytes) and written to log/5/server.response 05:47:24.811002 special request received, no persistency 05:47:24.811010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 37376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1002 ==131631== ==131631== Process terminating with default action of signal 4 (SIGILL) ==131631== Illegal opcode at address 0x4014883 ==131631== at 0x4014883: getparameter (tool_getparam.c:2899) ==131631== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131631== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131631== by 0x4004208: main (tool_main.c:189) === End of file valgrind1002 test 1006...[FTP with large number of command response lines (boundary condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1006 ../src/curl -q --output log/9/curl1006.out --include --trace-ascii log/9/trace1006 --trace-time ftp://127.0.0.1:39835/path/1006 > log/9/stdout1006 2> log/9/stderr1006 1006: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1006 ../src/curl -q --output log/9/curl1006.out --include --trace-ascii log/9/trace1006 --trace-time ftp://127.0.0.1:39835/path/1006 > log/9/stdout1006 2> log/9/stderr1006 === End of file commands.log === Start of file ftp_server.log 05:47:24.705047 ====> Client connect 05:47:24.705241 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:24.705592 < "USER anonymous" 05:47:24.705636 > "331 We are happy you popped in![CR][LF]" 05:47:24.706493 < "PASS ftp@example.com" 05:47:24.706528 > "230 Welcome you silly person[CR][LF]" 05:47:24.707546 < "PWD" 05:47:24.707583 > "257 "/" is current directory[CR][LF]" 05:47:24.707776 < "EPSV" 05:47:24.707803 ====> Passive DATA channel requested by client 05:47:24.707818 DATA sockfilt for passive data channel starting... 05:47:24.722847 DATA sockfilt for passive data channel started (pid 131844) 05:47:24.723015 DATA sockfilt for passive data channel listens on port 34451 05:47:24.723080 > "229 Entering Passive Mode (|||34451|)[CR][LF]" 05:47:24.723112 Client has been notified that DATA conn will be accepted on port 34451 05:47:24.723484 Client connects to port 34451 05:47:24.723519 ====> Client established passive DATA connection on port 34451 05:47:24.723629 < "TYPE I" 05:47:24.728975 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:24.729307 < "SIZE verifiedserver" 05:47:24.729366 > "213 17[CR][LF]" 05:47:24.729570 < "RETR verifiedserver" 05:47:24.729613 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:24.729732 =====> Closing passive DATA connection... 05:47:24.729758 Server disconnects passive DATA connection 05:47:24.730078 Server disconnected passive DATA connection 05:47:24.730115 DATA sockfilt for passive data channel quits (pid 131844) 05:47:24.730400 DATA sockfilt for passive data channel quit (pid 131844) 05:47:24.730432 =====> Closed passive DATA connection 05:47:24.730468 > "226 File transfer complete[CR][LF]" 05:47:24.779262 < "QUIT" 05:47:24.779347 > "221 bye bye baby[CR][LF]" 05:47:24.780630 MAIN sockfilt said DISC 05:47:24.780667 ====> Client disconnected 05:47:24.780770 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:24.166077 ====> Client connect 05:47:24.166719 Received DATA (on stdin) 05:47:24.166735 > 146 bytes data, server => client 05:47:24.166748 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:24.166759 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:24.166769 '220 \___|\___/|_| \_\_____|\r\n' 05:47:24.166868 < 16 bytes data, client => server 05:47:24.166885 'USER anonymous\r\n' 05:47:24.167101 Received DATA (on stdin) 05:47:24.167115 > 33 bytes data, server => client 05:47:24.167126 '331 We are happy you popped in!\r\n' 05:47:24.167831 < 22 bytes data, client => server 05:47:24.167851 'PASS ftp@example.com\r\n' 05:47:24.167988 Received DATA (on stdin) 05:47:24.168000 > 30 bytes data, server => client 05:47:24.168011 '230 Welcome you silly person\r\n' 05:47:24.168644 < 5 bytes data, client => server 05:47:24.168662 'PWD\r\n' 05:47:24.169042 Received DATA (on stdin) 05:47:24.169055 > 30 bytes data, server => client 05:47:24.169065 '257 "/" is current directory\r\n' 05:47:24.169134 < 6 bytes data, client => server 05:47:24.169150 'EPSV\r\n' 05:47:24.184588 Received DATA (on stdin) 05:47:24.184609 > 39 bytes data, server => client 05:47:24.184623 '229 Entering Passive Mode (|||34451|)\r\n' 05:47:24.184850 < 8 bytes data, client => server 05:47:24.184869 'TYPE I\r\n' 05:47:24.190321 Received DATA (on stdin) 05:47:24.190358 > 33 bytes data, server => client 05:47:24.190478 '200 I modify TYPE as you wanted\r\n' 05:47:24.190588 < 21 bytes data, client => server 05:47:24.190606 'SIZE verifiedserver\r\n' 05:47:24.190835 Received DATA (on stdin) 05:47:24.190850 > 8 bytes data, server => client 05:47:24.190861 '213 17\r\n' 05:47:24.190922 < 21 bytes data, client => server 05:47:24.190938 'RETR verifiedserver\r\n' 05:47:24.191222 Received DATA (on stdin) 05:47:24.191236 > 29 bytes data, server => client 05:47:24.191248 '150 Binary junk (17 bytes).\r\n' 05:47:24.191931 Received DATA (on stdin) 05:47:24.191946 > 28 bytes data, server => client 05:47:24.191957 '226 File transfer complete\r\n' 05:47:24.240472 < 6 bytes data, client => server 05:47:24.240511 'QUIT\r\n' 05:47:24.240814 Received DATA (on stdin) 05:47:24.240828 > 18 bytes data, server => client 05:47:24.240839 '221 bye bye baby\r\n' 05:47:24.242026 ====> Client disconnect 05:47:24.242238 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:24.177741 Running IPv4 version 05:47:24.177828 Listening on port 34451 05:47:24.177868 Wrote pid 131844 to log/9/server/ftp_sockdata.pid 05:47:24.184208 Received PING (on stdin) 05:47:24.184356 Received PORT (on stdin) 05:47:24.184891 ====> Client connect 05:47:24.191319 Received DATA (on stdin) 05:47:24.191342 > 17 bytes data, server => client 05:47:24.191353 'WE ROOLZ: 81042\r\n' 05:47:24.191389 Received DISC (on stdin) 05:47:24.191405 ====> Client forcibly disconnected 05:47:24.191587 Received QUIT (on stdin) 05:47:24.191601 quits 05:47:24.191684 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd 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-AAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1008 ../src/curl -q --output log/13/curl1008.out --include --trace-ascii log/13/trace1008 --trace-time http://test.remote.example.com.1008:45359/path/10080002 --proxy http://127.0.0.1:45359 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/13/stdout1008 2> log/13/stderr1008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1014 ../src/curl -q --output log/15/curl1014.out --include --trace-ascii log/15/trace1014 --trace-time --version > log/15/stdout1014 2> log/15/stderr1014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1009 ../src/curl -q --output log/18/curl1009.out --include --trace-ascii log/18/trace1009 --trace-time tftp://127.0.0.1:59739//1009 --local-port 44444-45444 > log/18/stdout1009 2> log/18/stderr1009 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1003 ../src/curl -q --output log/7/curl1003.out --include --trace-ascii log/7/trace1003 --trace-time ftp://127.0.0.1:44937/path/1003 > log/7/stdout1003 2> log/7/stderr1003 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1006 === End of file server.cmd === Start of file valgrind1006 ==131890== ==131890== Process terminating with default action of signal 4 (SIGILL) ==131890== Illegal opcode at address 0x4014883 ==131890== at 0x4014883: getparameter (tool_getparam.c:2899) ==131890== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131890== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131890== by 0x4004208: main (tool_main.c:189) === End of file valgrind1006 test 1008...[HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1008 ../src/curl -q --output log/13/curl1008.out --include --trace-ascii log/13/trace1008 --trace-time http://test.remote.example.com.1008:45359/path/10080002 --proxy http://127.0.0.1:45359 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/13/stdout1008 2> log/13/stderr1008 1008: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1008 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1008 ../src/curl -q --output log/13/curl1008.out --include --trace-ascii log/13/trace1008 --trace-time http://test.remote.example.com.1008:45359/path/10080002 --proxy http://127.0.0.1:45359 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/13/stdout1008 2> log/13/stderr1008 === End of file commands.log === Start of file http_server.log 05:47:25.302987 ====> Client connect 05:47:25.303032 accept_connection 3 returned 4 05:47:25.303050 accept_connection 3 returned 0 05:47:25.303067 Read 93 bytes 05:47:25.303076 Process 93 bytes request 05:47:25.303089 Got request: GET /verifiedserver HTTP/1.1 05:47:25.303098 Are-we-friendly question received 05:47:25.303120 Wrote request (93 bytes) input to log/13/server.input 05:47:25.303136 Identifying ourselves as friends 05:47:25.303213 Response sent (56 bytes) and written to log/13/server.response 05:47:25.303224 special request received, no persistency 05:47:25.303232 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 42958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1008 ==131964== ==131964== Process terminating with default action of signal 4 (SIGILL) ==131964== Illegal opcode at address 0x4014883 ==131964== at 0x4014883: getparameter (tool_getparam.c:2899) ==131964== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131964== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131964== by 0x4004208: main (tool_main.c:189) === End of file valgrind1008 test 1009...[TFTP retrieve with --local-port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1009 ../src/curl -q --output log/18/curl1009.out --include --trace-ascii log/18/trace1009 --trace-time tftp://127.0.0.1:59739//1009 --local-port 44444-45444 > log/18/stdout1009 2> log/18/stderr1009 1009: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1009 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1009 ../src/curl -q --output log/18/curl1009.out --include --trace-ascii log/18/trace1009 --trace-time tftp://127.0.0.1:59739//1009 --local-port 44444-45444 > log/18/stdout1009 2> log/18/stderr1009 === End of file commands.log === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 05:47:25.330470 trying to get file: verifiedserver mode 1 05:47:25.330500 Are-we-friendly question received 05:47:25.330522 write 05:47:25.330559 read 05:47:25.331826 read: 4 05:47:25.331892 end of one transfer === End of file tftp_server.log === Start of file valgrind1009 ==131978== ==131978== Process terminating with default action of signal 4 (SIGILL) ==131978== Illegal opcode at address 0x4014883 ==131978== at 0x4014883: getparameter (tool_getparam.c:2899) ==131978== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131978== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131978== by 0x4004208: main (tool_main.c:189) === End of file valgrind1009 test 1003...[FTP with excessively large server command response line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1003 ../src/curl -q --output log/7/curl1003.out --include --trace-ascii log/7/trace1003 --trace-time ftp://127.0.0.1:44937/path/1003 > log/7/stdout1003 2> log/7/stderr1003 1003: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1003 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1003 ../src/curl -q --output log/7/curl1003.out --include --trace-ascii log/7/trace1003 --trace-time ftp://127.0.0.1:44937/path/1003 > log/7/stdout1003 2> log/7/stderr1003 === End of file commands.log === Start of file ftp_server.log 05:47:24.455713 ====> Client connect 05:47:24.455893 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:24.456233 < "USER anonymous" 05:47:24.456268 > "331 We are happy you popped in![CR][LF]" 05:47:24.456428 < "PASS ftp@example.com" 05:47:24.456454 > "230 Welcome you silly person[CR][LF]" 05:47:24.456601 < "PWD" 05:47:24.456630 > "257 "/" is current directory[CR][LF]" 05:47:24.456785 < "EPSV" 05:47:24.456808 ====> Passive DATA channel requested by client 05:47:24.456821 DATA sockfilt for passive data channel starting... 05:47:24.459959 DATA sockfilt for passive data channel started (pid 131653) 05:47:24.460111 DATA sockfilt for passive data channel listens on port 35397 05:47:24.460176 > "229 Entering Passive Mode (|||35397|)[CR][LF]" 05:47:24.460200 Client has been notified that DATA conn will be accepted on port 35397 05:47:24.460511 Client connects to port 35397 05:47:24.460545 ====> Client established passive DATA connection on port 35397 05:47:24.460641 < "TYPE I" 05:47:24.460677 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:24.460854 < "SIZE verifiedserver" 05:47:24.460896 > "213 17[CR][LF]" 05:47:24.461062 < "RETR verifiedserver" 05:47:24.461099 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:24.461195 =====> Closing passive DATA connection... 05:47:24.461215 Server disconnects passive DATA connection 05:47:24.461468 Server disconnected passive DATA connection 05:47:24.461498 DATA sockfilt for passive data channel quits (pid 131653) 05:47:24.461729 DATA sockfilt for passive data channel quit (pid 131653) 05:47:24.461756 =====> Closed passive DATA connection 05:47:24.461786 > "226 File transfer complete[CR][LF]" 05:47:24.505786 < "QUIT" 05:47:24.505865 > "221 bye bye baby[CR][LF]" 05:47:24.507045 MAIN sockfilt said DISC 05:47:24.507082 ====> Client disconnected 05:47:24.507165 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:24.917015 ====> Client connect 05:47:24.917362 Received DATA (on stdin) 05:47:24.917376 > 146 bytes data, server => client 05:47:24.917388 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:24.917399 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:24.917408 '220 \___|\___/|_| \_\_____|\r\n' 05:47:24.917536 < 16 bytes data, client => server 05:47:24.917548 'USER anonymous\r\n' 05:47:24.917726 Received DATA (on stdin) 05:47:24.917738 > 33 bytes data, server => client 05:47:24.917748 '331 We are happy you popped in!\r\n' 05:47:24.917799 < 22 bytes data, client => server 05:47:24.917809 'PASS ftp@example.com\r\n' 05:47:24.917909 Received DATA (on stdin) 05:47:24.917919 > 30 bytes data, server => client 05:47:24.917929 '230 Welcome you silly person\r\n' 05:47:24.917974 < 5 bytes data, client => server 05:47:24.917985 'PWD\r\n' 05:47:24.918084 Received DATA (on stdin) 05:47:24.918094 > 30 bytes data, server => client 05:47:24.918104 '257 "/" is current directory\r\n' 05:47:24.918161 < 6 bytes data, client => server 05:47:24.918172 'EPSV\r\n' 05:47:24.921669 Received DATA (on stdin) 05:47:24.921686 > 39 bytes data, server => client 05:47:24.921698 '229 Entering Passive Mode (|||35397|)\r\n' 05:47:24.921875 < 8 bytes data, client => server 05:47:24.921892 'TYPE I\r\n' 05:47:24.922139 Received DATA (on stdin) 05:47:24.922153 > 33 bytes data, server => client 05:47:24.922163 '200 I modify TYPE as you wanted\r\n' 05:47:24.922217 < 21 bytes data, client => server 05:47:24.922230 'SIZE verifiedserver\r\n' 05:47:24.922355 Received DATA (on stdin) 05:47:24.922367 > 8 bytes data, server => client 05:47:24.922376 '213 17\r\n' 05:47:24.922429 < 21 bytes data, client => server 05:47:24.922441 'RETR verifiedserver\r\n' 05:47:24.922674 Received DATA (on stdin) 05:47:24.922686 > 29 bytes data, server => client 05:47:24.922696 '150 Binary junk (17 bytes).\r\n' 05:47:24.923246 Received DATA (on stdin) 05:47:24.923259 > 28 bytes data, server => client 05:47:24.923269 '226 File transfer complete\r\n' 05:47:24.967002 < 6 bytes data, client => server 05:47:24.967037 'QUIT\r\n' 05:47:24.967334 Received DATA (on stdin) 05:47:24.967348 > 18 bytes data, server => client 05:47:24.967357 '221 bye bye baby\r\n' 05:47:24.968444 ====> Client disconnect 05:47:24.968628 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:24.921032 Running IPv4 version 05:47:24.921125 Listening on port 35397 05:47:24.921166 Wrote pid 131653 to log/7/server/ftp_sockdata.pid 05:47:24.921347 Received PING (on stdin) 05:47:24.921460 Received PORT (on stdin) 05:47:24.921922 ====> Client connect 05:47:24.922755 Received DATA (on stdin) 05:47:24.922770 > 17 bytes data, server => client 05:47:24.922779 'WE ROOLZ: 81085\r\n' 05:47:24.922808 Received DISC (on stdin) 05:47:24.922820 ====> Client forcibly disconnected 05:47:24.922964 Received QUIT (on stdin) 05:47:24.922976 quits 05:47:24.923040 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/15/stdout1014 features > log/15/result1014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1010 ../src/curl -q --output log/22/curl1010.out --include --trace-ascii log/22/trace1010 --trace-time ftp://127.0.0.1:41347//list/this/path/1010/ ftp://127.0.0.1:41347//list/this/path/1010/ --ftp-method nocwd > log/22/stdout1010 2> log/22/stderr1010 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==131691== ==131691== Process terminating with default action of signal 4 (SIGILL) ==131691== Illegal opcode at address 0x4014883 ==131691== at 0x4014883: getparameter (tool_getparam.c:2899) ==131691== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==131691== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==131691== by 0x4004208: main (tool_main.c:189) === End of file valgrind1003 test 1014...[Compare curl --version with curl-config --features] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1014 ../src/curl -q --output log/15/curl1014.out --include --trace-ascii log/15/trace1014 --trace-time --version > log/15/stdout1014 2> log/15/stderr1014 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/15/stdout1014 features > log/15/result1014 1014: postcheck FAILED == Contents of files in the log/15/ directory after test 1014 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1014 ../src/curl -q --output log/15/curl1014.out --include --trace-ascii log/15/trace1014 --trace-time --version > log/15/stdout1014 2> log/15/stderr1014 === End of file commands.log === Start of file result1014 Mismatch in features lists: curl: curl-config: AsynchDNS GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM PSL SPNEGO SSL TLS-SRP UnixSockets alt-svc brotli libz threadsafe zstd === End of file result1014 === Start of file server.cmd Testnum 1014 === End of file server.cmd === Start of file valgrind1014 ==132266== ==132266== Process terminating with default action of signal 4 (SIGILL) ==132266== Illegal opcode at address 0x4014883 ==132266== at 0x4014883: getparameter (tool_getparam.c:2899) ==132266== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132266== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132266== by 0x4004208: main (tool_main.c:189) === End of file valgrind1014 test 1010...[FTP dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1010 ../src/curl -q --output log/22/curl1010.out --include --trace-ascii log/22/trace1010 --trace-time ftp://127.0.0.1:41347//list/this/path/1010/ ftp://127.0.0.1:41347//list/this/path/1010/ --ftp-method nocwd > log/22/stdout1010 2> log/22/stderr1010 1010: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1010 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1010 ../src/curl -q --output log/22/curl1010.out --include --trace-ascii log/22/trace1010 --trace-time ftp://127.0.0.1:41347//list/this/path/1010/ ftp://127.0.0.1:41347//list/this/path/1010/ --ftp-method nocwd > log/22/stdout1010 2> log/22/stderr1010 === End of file commands.log === Start of file ftp_server.log 05:47:24.870879 ====> Client connect 05:47:24.871024 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1007 ../src/curl -q --output log/17/curl1007.out --include --trace-ascii log/17/trace1007 --trace-time -T log/17/test1007.txt tftp://127.0.0.1:56691//invalid-file -sS > log/17/stdout1007 2> log/17/stderr1007 - / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:24.871304 < "USER anonymous" 05:47:24.871344 > "331 We are happy you popped in![CR][LF]" 05:47:24.871527 < "PASS ftp@example.com" 05:47:24.871556 > "230 Welcome you silly person[CR][LF]" 05:47:24.871724 < "PWD" 05:47:24.871786 > "257 "/" is current directory[CR][LF]" 05:47:24.871950 < "EPSV" 05:47:24.871979 ====> Passive DATA channel requested by client 05:47:24.871996 DATA sockfilt for passive data channel starting... 05:47:24.882304 DATA sockfilt for passive data channel started (pid 131956) 05:47:24.882461 DATA sockfilt for passive data channel listens on port 35899 05:47:24.882514 > "229 Entering Passive Mode (|||35899|)[CR][LF]" 05:47:24.882534 Client has been notified that DATA conn will be accepted on port 35899 05:47:24.885231 Client connects to port 35899 05:47:24.885276 ====> Client established passive DATA connection on port 35899 05:47:24.885390 < "TYPE I" 05:47:24.885443 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:24.885711 < "SIZE verifiedserver" 05:47:24.885770 > "213 17[CR][LF]" 05:47:24.885982 < "RETR verifiedserver" 05:47:24.886032 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:24.886141 =====> Closing passive DATA connection... 05:47:24.886165 Server disconnects passive DATA connection 05:47:24.886433 Server disconnected passive DATA connection 05:47:24.886464 DATA sockfilt for passive data channel quits (pid 131956) 05:47:24.886719 DATA sockfilt for passive data channel quit (pid 131956) 05:47:24.886749 =====> Closed passive DATA connection 05:47:24.886782 > "226 File transfer complete[CR][LF]" 05:47:24.932445 < "QUIT" 05:47:24.932509 > "221 bye bye baby[CR][LF]" 05:47:24.942298 MAIN sockfilt said DISC 05:47:24.942374 ====> Client disconnected 05:47:24.942476 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:24.332233 ====> Client connect 05:47:24.332492 Received DATA (on stdin) 05:47:24.332506 > 146 bytes data, server => client 05:47:24.332517 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:24.332527 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:24.332535 '220 \___|\___/|_| \_\_____|\r\n' 05:47:24.332615 < 16 bytes data, client => server 05:47:24.332629 'USER anonymous\r\n' 05:47:24.332803 Received DATA (on stdin) 05:47:24.332816 > 33 bytes data, server => client 05:47:24.332831 '331 We are happy you popped in!\r\n' 05:47:24.332887 < 22 bytes data, client => server 05:47:24.332898 'PASS ftp@example.com\r\n' 05:47:24.333014 Received DATA (on stdin) 05:47:24.333027 > 30 bytes data, server => client 05:47:24.333037 '230 Welcome you silly person\r\n' 05:47:24.333089 < 5 bytes data, client => server 05:47:24.333101 'PWD\r\n' 05:47:24.333191 Received DATA (on stdin) 05:47:24.333203 > 30 bytes data, server => client 05:47:24.333243 '257 "/" is current directory\r\n' 05:47:24.333307 < 6 bytes data, client => server 05:47:24.333322 'EPSV\r\n' 05:47:24.344145 Received DATA (on stdin) 05:47:24.344168 > 39 bytes data, server => client 05:47:24.344178 '229 Entering Passive Mode (|||35899|)\r\n' 05:47:24.344374 < 8 bytes data, client => server 05:47:24.344393 'TYPE I\r\n' 05:47:24.346915 Received DATA (on stdin) 05:47:24.346932 > 33 bytes data, server => client 05:47:24.346943 '200 I modify TYPE as you wanted\r\n' 05:47:24.347043 < 21 bytes data, client => server 05:47:24.347061 'SIZE verifiedserver\r\n' 05:47:24.347237 Received DATA (on stdin) 05:47:24.347251 > 8 bytes data, server => client 05:47:24.347262 '213 17\r\n' 05:47:24.347328 < 21 bytes data, client => server 05:47:24.347345 'RETR verifiedserver\r\n' 05:47:24.347626 Received DATA (on stdin) 05:47:24.347639 > 29 bytes data, server => client 05:47:24.347650 '150 Binary junk (17 bytes).\r\n' 05:47:24.348242 Received DATA (on stdin) 05:47:24.348255 > 28 bytes data, server => client 05:47:24.348265 '226 File transfer complete\r\n' 05:47:24.393670 < 6 bytes data, client => server 05:47:24.393714 'QUIT\r\n' 05:47:24.393977 Received DATA (on stdin) 05:47:24.393991 > 18 bytes data, server => client 05:47:24.394002 '221 bye bye baby\r\n' 05:47:24.403660 ====> Client disconnect 05:47:24.403947 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:24.338046 Running IPv4 version 05:47:24.338107 Listening on port 35899 05:47:24.338149 Wrote pid 131956 to log/22/server/ftp_sockdata.pid 05:47:24.343663 Received PING (on stdin) 05:47:24.343810 Received PORT (on stdin) 05:47:24.346604 ====> Client connect 05:47:24.347681 Received DATA (on stdin) 05:47:24.347697 > 17 bytes data, server => client 05:47:24.347708 'WE ROOLZ: 81140\r\n' 05:47:24.347736 Received DISC (on stdin) 05:47:24.347751 ====> Client forcibly disconnected 05:47:24.347931 Received QUIT (on stdin) 05:47:24.347945 quits 05:47:24.348016 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==132035== ==132035== Process terminating with default action of signal 4 (SIGILL) ==132035== Illegal opcode at address 0x4014883 ==132035== at 0x4014883: getparameter (tool_getparam.c:2899) ==132035== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132035== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132035== by 0x4004208: main (tool_main.c:189) === End of file valgrind1010 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1016 ../src/curl -q --trace-ascii log/21/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/21/test1016.txt > log/21/stdout1016 2> log/21/stderr1016 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/17/server/tftp_server.pid" --portfile "log/17/server/tftp_server.port" --logfile "log/17/tftp_server.log" --logdir "log/17" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 131752 port 56691 * pid tftp => 131752 131752 test 1007...[TFTP send with invalid permission on server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1007 ../src/curl -q --output log/17/curl1007.out --include --trace-ascii log/17/trace1007 --trace-time -T log/17/test1007.txt tftp://127.0.0.1:56691//invalid-file -sS > log/17/stdout1007 2> log/17/stderr1007 1007: stderr FAILED: --- log/17/check-expected 2026-03-14 05:47:27.731282669 +0000 +++ log/17/check-generated 2026-03-14 05:47:27.731282669 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/17/ directory after test 1007 === Start of file check-expected curl: (69) TFTP: Access Violation[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1007 ../src/curl -q --output log/17/curl1007.out --include --trace-ascii log/17/trace1007 --trace-time -T log/17/test1007.txt tftp://127.0.0.1:56691//invalid-file -sS > log/17/stdout1007 2> log/17/stderr1007 === End of file commands.log === Start of file server.cmd Testnum 1007 === End of file server.cmd === Start of file test1007.txt This data will not be sent === End of file test1007.txt === Start of file tftp_server.log 05:47:24.109511 Wrote pid 131752 to log/17/server/tftp_server.pid 05:47:24.109583 Wrote port 56691 to log/17/server/tftp_server.port 05:47:24.109597 Running IPv4 version on port UDP/56691 === End of file tftp_server.log === Start of file valgrind1007 ==132470== ==132470== Process terminating with default action of signal 4 (SIGILL) ==132470== Illegal opcode at address 0x4014883 ==132470== at 0x4014883: getparameter (tool_getparam.c:2899) ==132470== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132470== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132470== by 0x4004208: main (tool_main.c:189) === End of file valgrind1007 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1015 ../src/curl -q --output log/12/curl1015.out --include --trace-ascii log/12/trace1015 --trace-time http://127.0.0.1:36353/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/12/1015.txt" --data-urlencode @log/12/1015.txt > log/12/stdout1015 2> log/12/stderr1015 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1013 ../src/curl -q --output log/8/curl1013.out --include --trace-ascii log/8/trace1013 --trace-time --version > log/8/stdout1013 2> log/8/stderr1013 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. Mismatch in protocols lists: curl: curl-config: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/8/stdout1013 protocols CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1012 ../src/curl -q --output log/16/curl1012.out --include --trace-ascii log/16/trace1012 --trace-time http://127.0.0.1:44673/blah/1012 -L -d "moo" --post301 > log/16/stdout1012 2> log/16/stderr1012 test 1016...[X-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1016 ../src/curl -q --trace-ascii log/21/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/21/test1016.txt > log/21/stdout1016 2> log/21/stderr1016 1016: stdout FAILED: --- log/21/check-expected 2026-03-14 05:47:27.867949334 +0000 +++ log/21/check-generated 2026-03-14 05:47:27.864616002 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/21/ directory after test 1016 === Start of file check-expected 2345 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1016 ../src/curl -q --trace-ascii log/21/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/21/test1016.txt > log/21/stdout1016 2> log/21/stderr1016 === End of file commands.log === Start of file server.cmd Testnum 1016 === End of file server.cmd === Start of file test1016.txt 1234567890 === End of file test1016.txt === Start of file valgrind1016 ==132463== ==132463== Process terminating with default action of signal 4 (SIGILL) ==132463== Illegal opcode at address 0x4014883 ==132463== at 0x4014883: getparameter (tool_getparam.c:2899) ==132463== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132463== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132463== by 0x4004208: main (tool_main.c:189) === End of file valgrind1016 test 1015...[--data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1015 ../src/curl -q --output log/12/curl1015.out --include --trace-ascii log/12/trace1015 --trace-time http://127.0.0.1:36353/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/12/1015.txt" --data-urlencode @log/12/1015.txt > log/12/stdout1015 2> log/12/stderr1015 1015: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1015 === Start of file 1015.txt content to _?!#$'|<> === End of file 1015.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1015 ../src/curl -q --output log/12/curl1015.out --include --trace-ascii log/12/trace1015 --trace-time http://127.0.0.1:36353/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/12/1015.txt" --data-urlencode @log/12/1015.txt > log/12/stdout1015 2> log/12/stderr1015 === End of file commands.log === Start of file http_server.log 05:47:25.813738 ====> Client connect 05:47:25.813778 accept_connection 3 returned 4 05:47:25.813797 accept_connection 3 returned 0 05:47:25.813988 Read 93 bytes 05:47:25.814001 Process 93 bytes request 05:47:25.814016 Got request: GET /verifiedserver HTTP/1.1 05:47:25.814025 Are-we-friendly question received 05:47:25.814051 Wrote request (93 bytes) input to log/12/server.input 05:47:25.814068 Identifying ourselves as friends 05:47:25.814154 Response sent (56 bytes) and written to log/12/server.response 05:47:25.814164 special request received, no persistency 05:47:25.814173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 51592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1015 ==132372== ==132372== Process terminating with default action of signal 4 (SIGILL) ==132372== Illegal opcode at address 0x4014883 ==132372== at 0x4014883: getparameter (tool_getparam.c:2899) ==132372== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132372== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132372== by 0x4004208: main (tool_main.c:189) === End of file valgrind1015 test 1013...[Compare curl --version with curl-config --protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1013 ../src/curl -q --output log/8/curl1013.out --include --trace-ascii log/8/trace1013 --trace-time --version > log/8/stdout1013 2> log/8/stderr1013 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/8/stdout1013 protocols 1013: postcheck FAILED == Contents of files in the log/8/ directory after test 1013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1013 ../src/curl -q --output log/8/curl1013.out --include --trace-ascii log/8/trace1013 --trace-time --version > log/8/stdout1013 2> log/8/stderr1013 === End of file commands.log === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==132189== ==132189== Process terminating with default action of signal 4 (SIGILL) ==132189== Illegal opcode at address 0x4014883 ==132189== at 0x4014883: getparameter (tool_getparam.c:2899) ==132189== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132189== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132189== by 0x4004208: main (tool_main.c:189) === End of file valgrind1013 test 1012...[HTTP POST with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1012 ../src/curl -q --output log/16/curl1012.out --include --trace-ascii log/16/trace1012 --trace-time http://127.0.0.1:44673/blah/1012 -L -d "moo" --post301 > log/16/stdout1012 2> log/16/stderr1012 1012: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1012 ../src/curl -q --output log/16/curl1012.out --include --trace-ascii log/16/trace1012 --trace-time http://127.0.0.1:44673/blah/1012 -L -d "moo" --post301 > log/16/stdout1012 2> log/16/stderr1012 === End of file commands.log === Start of file http_server.log 05:47:25.660158 ====> Client connect 05:47:25.660201 accept_connection 3 returned 4 05:47:25.660219 accept_connection 3 returned 0 05:47:25.660236 Read 93 bytes 05:47:25.660246 Process 93 bytes request 05:47:25.660259 Got request: GET /verifiedserver HTTP/1.1 05:47:25.660269 Are-we-friendly question received 05:47:25.660295 Wrote request (93 bytes) input to log/16/server.input 05:47:25.660330 Identifying ourselves as friends 05:47:25.660412 Response sent (56 bytes) and written to log/16/server.response 05:47:25.660424 special request received, no persistency 05:47:25.660434 ====> Client disconnect 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1018 ../src/curl -q --trace-ascii log/2/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/2/test1018.txt > log/2/stdout1018 2> log/2/stderr1018 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 58884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1012 ==132245== ==132245== Process terminating with default action of signal 4 (SIGILL) ==132245== Illegal opcode at address 0x4014883 ==132245== at 0x4014883: getparameter (tool_getparam.c:2899) ==132245== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132245== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132245== by 0x4004208: main (tool_main.c:189) === End of file valgrind1012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1017 ../src/curl -q --trace-ascii log/20/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/20/test1017.txt > log/20/stdout1017 2> log/20/stderr1017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1019 ../src/curl -q --trace-ascii log/6/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/6/test1019.txt > log/6/stdout1019 2> log/6/stderr1019 test 1018...[X-X range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1018 ../src/curl -q --trace-ascii log/2/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/2/test1018.txt > log/2/stdout1018 2> log/2/stderr1018 1018: stdout FAILED: --- log/2/check-expected 2026-03-14 05:47:28.024616001 +0000 +++ log/2/check-generated 2026-03-14 05:47:28.024616001 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/2/ directory after test 1018 === Start of file check-expected 5 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1018 ../src/curl -q --trace-ascii log/2/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/2/test1018.txt > log/2/stdout1018 2> log/2/stderr1018 === End of file commands.log === Start of file server.cmd Testnum 1018 === End of file server.cmd === Start of file test1018.txt 1234567890 === End of file test1018.txt === Start of file valgrind1018 ==132587== ==132587== Process terminating with default action of signal 4 (SIGILL) ==132587== Illegal opcode at address 0x4014883 ==132587== at 0x4014883: getparameter (tool_getparam.c:2899) ==132587== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132587== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132587== by 0x4004208: main (tool_main.c:189) === End of file valgrind1018 test 1017...[0-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1017 ../src/curl -q --trace-ascii log/20/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/20/test1017.txt > log/20/stdout1017 2> log/20/stderr1017 1017: stdout FAILED: --- log/20/check-expected 2026-03-14 05:47:28.174616001 +0000 +++ log/20/check-generated 2026-03-14 05:47:28.174616001 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/20/ directory after test 1017 === Start of file check-expected 1234 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1017 ../src/curl -q --trace-ascii log/20/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/20/test1017.txt > log/20/stdout1017 2> log/20/stderr1017 === End of file commands.log === Start of file server.cmd Testnum 1017 === End of file server.cmd === Start of file test1017.txt 1234567890 === End of file test1017.txt === Start of file valgrind1017 ==132569== ==132569== Process terminating with default action of signal 4 (SIGILL) ==132569== Illegal opcode at address 0x4014883 ==132569== at 0x4014883: getparameter (tool_getparam.c:2899) ==132569== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132569== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132569== by 0x4004208: main (tool_main.c:189) === End of file valgrind1017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1023 ../src/curl -q --output log/4/curl1023.out --include --trace-ascii log/4/trace1023 --trace-time --version > log/4/stdout1023 2> log/4/stderr1023 Use of uninitialized value $_ in scalar chomp at /startdir/src/curl/tests/libtest/test1022.pl line 39. Use of uninitialized value $_ in pattern match (m//) at /startdir/src/curl/tests/libtest/test1022.pl line 40. Use of uninitialized value $version in substitution (s///) at /startdir/src/curl/tests/libtest/test1022.pl line 69, line 1. Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. Use of uninitialized value $version in concatenation (.) or string at /startdir/src/curl/tests/libtest/test1022.pl line 76. Mismatch in --version: curl: curl-config: 8.19.0 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/4/stdout1023 vernum CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1020 ../src/curl -q --trace-ascii log/10/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/10/test1020.txt > log/10/stdout1020 2> log/10/stderr1020 test 1019...[X- range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1019 ../src/curl -q --trace-ascii log/6/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/6/test1019.txt > log/6/stdout1019 2> log/6/stderr1019 1019: stdout FAILED: --- log/6/check-expected 2026-03-14 05:47:28.184616001 +0000 +++ log/6/check-generated 2026-03-14 05:47:28.184616001 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/6/ directory after test 1019 === Start of file check-expected 890[LF] 1234567890[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1019 ../src/curl -q --trace-ascii log/6/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/6/test1019.txt > log/6/stdout1019 2> log/6/stderr1019 === End of file commands.log === Start of file server.cmd Testnum 1019 === End of file server.cmd === Start of file test1019.txt 1234567890 1234567890 === End of file test1019.txt === Start of file valgrind1019 ==132603== ==132603== Process terminating with default action of signal 4 (SIGILL) ==132603== Illegal opcode at address 0x4014883 ==132603== at 0x4014883: getparameter (tool_getparam.c:2899) ==132603== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132603== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132603== by 0x4004208: main (tool_main.c:189) === End of file valgrind1019 test 1023...[Compare curl --version with curl-config --vernum] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1023 ../src/curl -q --output log/4/curl1023.out --include --trace-ascii log/4/trace1023 --trace-time --version > log/4/stdout1023 2> log/4/stderr1023 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/4/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/4/ directory after test 1023 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1023 ../src/curl -q --output log/4/curl1023.out --include --trace-ascii log/4/trace1023 --trace-time --version > log/4/stdout1023 2> log/4/stderr1023 === End of file commands.log === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==132780== ==132780== Process terminating with default action of signal 4 (SIGILL) ==132780== Illegal opcode at address 0x4014883 ==132780== at 0x4014883: getparameter (tool_getparam.c:2899) ==132780== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132780== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132780== by 0x4004208: main (tool_main.c:189) === End of file valgrind1023 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1025 ../src/curl -q --output log/19/curl1025.out --include --trace-ascii log/19/trace1025 --trace-time http://127.0.0.1:35701/want/1025 -L -c log/19/jar1025 -b forcedcookie=yes > log/19/stdout1025 2> log/19/stderr1025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1027 ../src/curl -q --output log/23/curl1027.out --include --trace-ascii log/23/trace1027 --trace-time --help > log/23/stdout1027 2> log/23/stderr1027 CMD (256): /usr/bin/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/23/stdout1027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1022 ../src/curl -q --output log/14/curl1022.out --include --trace-ascii log/14/trace1022 --trace-time --version > log/14/stdout1022 2> log/14/stderr1022 Use of uninitialized value $_ in scalar chomp at /startdir/src/curl/tests/libtest/test1022.pl line 39. Use of uninitialized value $_ in pattern match (m//) at /startdir/src/curl/tests/libtest/test1022.pl line 40. Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. Use of uninitialized value $version in concatenation (.) or string at /startdir/src/curl/tests/libtest/test1022.pl line 76. Mismatch in --version: curl: curl-config: 8.19.0 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/14/stdout1022 version CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1021 ../src/curl -q --output log/1/curl1021.out --include --trace-ascii log/1/trace1021 --trace-time http://test.remote.example.com.1021:38765/path/10210002 --proxy http://127.0.0.1:38765 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/1/stdout1021 2> log/1/stderr1021 test 1020...[-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1020 ../src/curl -q --trace-ascii log/10/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/10/test1020.txt > log/10/stdout1020 2> log/10/stderr1020 1020: stdout FAILED: --- log/10/check-expected 2026-03-14 05:47:28.557949334 +0000 +++ log/10/check-generated 2026-03-14 05:47:28.557949334 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/10/ directory after test 1020 === Start of file check-expected 34567890[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1020 ../src/curl -q --trace-ascii log/10/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/10/test1020.txt > log/10/stdout1020 2> log/10/stderr1020 === End of file commands.log === Start of file server.cmd Testnum 1020 === End of file server.cmd === Start of file test1020.txt 1234567890 1234567890 === End of file test1020.txt === Start of file valgrind1020 ==132692== ==132692== Process terminating with default action of signal 4 (SIGILL) ==132692== Illegal opcode at address 0x4014883 ==132692== at 0x4014883: getparameter (tool_getparam.c:2899) ==132692== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132692== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132692== by 0x4004208: main (tool_main.c:189) === End of file valgrind1020 test 1025...[HTTP Location: following with command-line and server cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1025 ../src/curl -q --output log/19/curl1025.out --include --trace-ascii log/19/trace1025 --trace-time http://127.0.0.1:35701/want/1025 -L -c log/19/jar1025 -b forcedcookie=yes > log/19/stdout1025 2> log/19/stderr1025 1025: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1025 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1025 ../src/curl -q --output log/19/curl1025.out --include --trace-ascii log/19/trace1025 --trace-time http://127.0.0.1:35701/want/1025 -L -c log/19/jar1025 -b forcedcookie=yes > log/19/stdout1025 2> log/19/stderr1025 === End of file commands.log === Start of file http_server.log 05:47:25.895730 ====> Client connect 05:47:25.895766 accept_connection 3 returned 4 05:47:25.895785 accept_connection 3 returned 0 05:47:25.895800 Read 93 bytes 05:47:25.895810 Process 93 bytes request 05:47:25.895823 Got request: GET /verifiedserver HTTP/1.1 05:47:25.895832 Are-we-friendly question received 05:47:25.895858 Wrote request (93 bytes) input to log/19/server.input 05:47:25.895877 Identifying ourselves as friends 05:47:25.895941 Response sent (56 bytes) and written to log/19/server.response 05:47:25.895954 special request received, no persistency 05:47:25.895963 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 45476 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1025 ==132975== ==132975== Process terminating with default action of signal 4 (SIGILL) ==132975== Illegal opcode at address 0x4014883 ==132975== at 0x4014883: getparameter (tool_getparam.c:2899) ==132975== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132975== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132975== by 0x4004208: main (tool_main.c:189) === End of file valgrind1025 test 1027...[curl --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1027 ../src/curl -q --output log/23/curl1027.out --include --trace-ascii log/23/trace1027 --trace-time --help > log/23/stdout1027 2> log/23/stderr1027 postcheck /usr/bin/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/23/stdout1027 1027: postcheck FAILED == Contents of files in the log/23/ directory after test 1027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1027 ../src/curl -q --output log/23/curl1027.out --include --trace-ascii log/23/trace1027 --trace-time --help > log/23/stdout1027 2> log/23/stderr1027 === End of file commands.log === Start of file server.cmd Testnum 1027 === End of file server.cmd === Start of file valgrind1027 ==133079== ==133079== Process terminating with default action of signal 4 (SIGILL) ==133079== Illegal opcode at address 0x4014883 ==133079== at 0x4014883: getparameter (tool_getparam.c:2899) ==133079== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133079== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133079== by 0x4004208: main (tool_main.c:189) === End of file valgrind1027 test 1022...[Compare curl --version with curl-config --version] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1022 ../src/curl -q --output log/14/curl1022.out --include --trace-ascii log/14/trace1022 --trace-time --version > log/14/stdout1022 2> log/14/stderr1022 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/14/stdout1022 version 1022: postcheck FAILED == Contents of files in the log/14/ directory after test 1022 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1022 ../src/curl -q --output log/14/curl1022.out --include --trace-ascii log/14/trace1022 --trace-time --version > log/14/stdout1022 2> log/14/stderr1022 === End of file commands.log === Start of file server.cmd Testnum 1022 === End of file server.cmd === Start of file valgrind1022 ==132772== ==132772== Process terminating with default action of signal 4 (SIGILL) ==132772== Illegal opcode at address 0x4014883 ==132772== at 0x4014883: getparameter (tool_getparam.c:2899) ==132772== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132772== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132772== by 0x4004208: main (tool_main.c:189) === End of file valgrind1022 test 1021...[HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1021 ../src/curl -q --output log/1/curl1021.out --include --trace-ascii log/1/trace1021 --traCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1024 ../src/curl -q --output log/24/curl1024.out --include --trace-ascii log/24/trace1024 --trace-time http://127.0.0.1:33593/want/1024 -L -c log/24/jar1024 > log/24/stdout1024 2> log/24/stderr1024 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1032 ../src/curl -q --output log/13/curl1032.out --include --trace-ascii log/13/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:45359/1032 > log/13/stdout1032 2> log/13/stderr1032 ce-time http://test.remote.example.com.1021:38765/path/10210002 --proxy http://127.0.0.1:38765 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/1/stdout1021 2> log/1/stderr1021 1021: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1021 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1021 ../src/curl -q --output log/1/curl1021.out --include --trace-ascii log/1/trace1021 --trace-time http://test.remote.example.com.1021:38765/path/10210002 --proxy http://127.0.0.1:38765 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/1/stdout1021 2> log/1/stderr1021 === End of file commands.log === Start of file http_server.log 05:47:26.575895 ====> Client connect 05:47:26.575926 accept_connection 3 returned 4 05:47:26.575942 accept_connection 3 returned 0 05:47:26.575956 Read 93 bytes 05:47:26.575967 Process 93 bytes request 05:47:26.575981 Got request: GET /verifiedserver HTTP/1.1 05:47:26.575990 Are-we-friendly question received 05:47:26.576013 Wrote request (93 bytes) input to log/1/server.input 05:47:26.576029 Identifying ourselves as friends 05:47:26.576084 Response sent (56 bytes) and written to log/1/server.response 05:47:26.576094 special request received, no persistency 05:47:26.576103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 47606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1021 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1021 ==132759== ==132759== Process terminating with default action of signal 4 (SIGILL) ==132759== Illegal opcode at address 0x4014883 ==132759== at 0x4014883: getparameter (tool_getparam.c:2899) ==132759== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132759== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132759== by 0x4004208: main (tool_main.c:189) === End of file valgrind1021 test 1024...[HTTP Location: following with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1024 ../src/curl -q --output log/24/curl1024.out --include --trace-ascii log/24/trace1024 --trace-time http://127.0.0.1:33593/want/1024 -L -c log/24/jar1024 > log/24/stdout1024 2> log/24/stderr1024 1024: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1024 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1024 ../src/curl -q --output log/24/curl1024.out --include --trace-ascii log/24/trace1024 --trace-time http://127.0.0.1:33593/want/1024 -L -c log/24/jar1024 > log/24/stdout1024 2> log/24/stderr1024 === End of file commands.log === Start of file http_server.log 05:47:26.890390 ====> Client connect 05:47:26.890434 accept_connection 3 returned 4 05:47:26.890453 accept_connection 3 returned 0 05:47:26.890469 Read 93 bytes 05:47:26.890479 Process 93 bytes request 05:47:26.890493 Got request: GET /verifiedserver HTTP/1.1 05:47:26.890502 Are-we-friendly question received 05:47:26.890530 Wrote request (93 bytes) input to log/24/server.input 05:47:26.890548 Identifying ourselves as friends 05:47:26.890633 Response sent (56 bytes) and written to log/24/server.response 05:47:26.890645 special request received, no persistency 05:47:26.890654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 35568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1024 ==132982== ==132982== Process terminating with default action of signal 4 (SIGILL) ==132982== Illegal opcode at address 0x4014883 ==132982== at 0x4014883: getparameter (tool_getparam.c:2899) ==132982== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==132982== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==132982== by 0x4004208: main (tool_main.c:189) === End of file valgrind1024 test 1032...[HTTP HEAD with --range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1032 ../src/curl -q --output log/13/curl1032.out --include --trace-ascii log/13/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:45359/1032 > log/13/stdout1032 2> log/13/stderr1032 1032: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1032 ../src/curl -q --output log/13/curl1032.out --include --trace-ascii log/13/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:45359/1032 > log/13/stdout1032 2> log/13/stderr1032 === End of file commands.log === Start of file http_server.log 05:47:27.925049 ====> Client connect 05:47:27.925082 accept_connection 3 returned 4 05:47:27.925098 accept_connection 3 returned 0 05:47:27.925112 Read 93 bytes 05:47:27.925122 Process 93 bytes request 05:47:27.925134 Got request: GET /verifiedserver HTTP/1.1 05:47:27.925142 Are-we-friendly question received 05:47:27.925186 Wrote request (93 bytes) input to log/13/server.input 05:47:27.925203 Identifying ourselves as friends 05:47:27.925268 Response sent (56 bytes) and written to log/13/server.response 05:47:27.925278 special request received, no persistency 05:47:27.925287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 44486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1028 ../src/curl -q --include --trace-ascii log/11/trace1028 --trace-time http://127.0.0.1:34551/10280001 -L > log/11/stdout1028 2> log/11/stderr1028 f file valgrind1032 ==133505== ==133505== Process terminating with default action of signal 4 (SIGILL) ==133505== Illegal opcode at address 0x4014883 ==133505== at 0x4014883: getparameter (tool_getparam.c:2899) ==133505== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133505== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133505== by 0x4004208: main (tool_main.c:189) === End of file valgrind1032 test 1028...[HTTP Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1028 ../src/curl -q --include --trace-ascii log/11/trace1028 --trace-time http://127.0.0.1:34551/10280001 -L > log/11/stdout1028 2> log/11/stderr1028 1028: stdout FAILED: --- log/11/check-expected 2026-03-14 05:47:29.427949334 +0000 +++ log/11/check-generated 2026-03-14 05:47:29.427949334 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake swsclose[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Location: ftp://127.0.0.1:37471/10280002[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/11/ directory after test 1028 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake swsclose[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Location: ftp://127.0.0.1:37471/10280002[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1028 ../src/curl -q --include --trace-ascii log/11/trace1028 --trace-time http://127.0.0.1:34551/10280001 -L > log/11/stdout1028 2> log/11/stderr1028 === End of file commands.log === Start of file ftp_server.log 05:47:27.231916 ====> Client connect 05:47:27.232091 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:27.232404 < "USER anonymous" 05:47:27.232438 > "331 We are happy you popped in![CR][LF]" 05:47:27.232582 < "PASS ftp@example.com" 05:47:27.232607 > "230 Welcome you silly person[CR][LF]" 05:47:27.232739 < "PWD" 05:47:27.232767 > "257 "/" is current directory[CR][LF]" 05:47:27.232908 < "EPSV" 05:47:27.232930 ====> Passive DATA channel requested by client 05:47:27.232942 DATA sockfilt for passive data channel starting... 05:47:27.245581 DATA sockfilt for passive data channel started (pid 133223) 05:47:27.255663 DATA sockfilt for passive data channel listens on port 33259 05:47:27.255779 > "229 Entering Passive Mode (|||33259|)[CR][LF]" 05:47:27.255806 Client has been notified that DATA conn will be accepted on port 33259 05:47:27.259228 Client connects to port 33259 05:47:27.259277 ====> Client established passive DATA connection on port 33259 05:47:27.259439 < "TYPE I" 05:47:27.259486 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:27.259682 < "SIZE verifiedserver" 05:47:27.259727 > "213 17[CR][LF]" 05:47:27.259904 < "RETR verifiedserver" 05:47:27.259941 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:27.260040 =====> Closing passive DATA connection... 05:47:27.260057 Server disconnects passive DATA connection 05:47:27.260173 Server disconnected passive DATA connection 05:47:27.260197 DATA sockfilt for passive data channel quits (pid 133223) 05:47:27.260480 DATA sockfilt for passive data channel quit (pid 133223) 05:47:27.260511 =====> Closed passive DATA connection 05:47:27.260540 > "226 File transfer complete[CR][LF]" 05:47:27.305847 < "QUIT" 05:47:27.305906 > "221 bye bye baby[CR][LF]" 05:47:27.307217 MAIN sockfilt said DISC 05:47:27.307249 ====> Client disconnected 05:47:27.307331 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:27.693229 ====> Client connect 05:47:27.693568 Received DATA (on stdin) 05:47:27.693585 > 146 bytes data, server => client 05:47:27.693598 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:27.693608 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:27.693618 '220 \___|\___/|_| \_\_____|\r\n' 05:47:27.693731 < 16 bytes data, client => server 05:47:27.693744 'USER anonymous\r\n' 05:47:27.693895 Received DATA (on stdin) 05:47:27.693905 > 33 bytes data, server => client 05:47:27.693914 '331 We are happy you popped in!\r\n' 05:47:27.693959 < 22 bytes data, client => server 05:47:27.693969 'PASS ftp@example.com\r\n' 05:47:27.694061 Received DATA (on stdin) 05:47:27.694071 > 30 bytes data, server => client 05:47:27.694080 '230 Welcome you silly person\r\n' 05:47:27.694120 < 5 bytes data, client => server 05:47:27.694130 'PWD\r\n' 05:47:27.694219 Received DATA (on stdin) 05:47:27.694229 > 30 bytes data, server => client 05:47:27.694238 '257 "/" is current directory\r\n' 05:47:27.694288 < 6 bytes data, client => server 05:47:27.694297 'EPSV\r\n' 05:47:27.720327 Received DATA (on stdin) 05:47:27.720363 > 39 bytes data, server => client 05:47:27.720379 '229 Entering Passive Mode (|||33259|)\r\n' 05:47:27.720757 < 8 bytes data, client => server 05:47:27.720768 'TYPE I\r\n' 05:47:27.720953 Received DATA (on stdin) 05:47:27.720967 > 33 bytes data, server => client 05:47:27.720978 '200 I modify TYPE as you wanted\r\n' 05:47:27.721037 < 21 bytes data, client => server 05:47:27.721054 'SIZE verifiedserver\r\n' 05:47:27.721191 Received DATA (on stdin) 05:47:27.721204 > 8 bytes data, server => client 05:47:27.721214 '213 17\r\n' 05:47:27.721267 < 21 bytes data, client => server 05:47:27.721279 'RETR verifiedserver\r\n' 05:47:27.722001 Received DATA (on stdin) 05:47:27.722015 > 29 bytes data, server => client 05:47:27.722026 '150 Binary junk (17 bytes).\r\n' 05:47:27.722048 Received DATA (on stdin) 05:47:27.722058 > 28 bytes data, server => client 05:47:27.722068 '226 File transfer complete\r\n' 05:47:27.767106 < 6 bytes data, client => server 05:47:27.767142 'QUIT\r\n' 05:47:27.767367 Received DATA (on stdin) 05:47:27.767379 > 18 bytes data, server => client 05:47:27.767389 '221 bye bye baby\r\n' 05:47:27.768621 ====> Client disconnect 05:47:27.768786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:27.698165 Running IPv4 version 05:47:27.698251 Listening on port 33259 05:47:27.698303 Wrote pid 133223 to log/11/server/ftp_sockdata.pid 05:47:27.703655 Received PING (on stdin) 05:47:27.710324 Received PORT (on stdin) 05:47:27.720612 ====> Client connect 05:47:27.721515 Received DATA (on stdin) 05:47:27.721528 > 17 bytes data, server => client 05:47:27.721538 'WE ROOLZ: 81984\r\n' 05:47:27.721565 Received DISC (on stdin) 05:47:27.721578 ====> Client forcibly disconnected 05:47:27.721661 Received QUIT (on stdin) 05:47:27.721673 quits 05:47:27.721770 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:47:27.573659 ====> Client connect 05:47:27.573710 accept_connection 3 returned 4 05:47:27.573728 accept_connection 3 returned 0 05:47:27.573743 Read 93 bytes 05:47:27.573751 Process 93 bytes request 05:47:27.573765 Got request: GET /verifiedserver HTTP/1.1 05:47:27.573773 Are-we-friendly question received 05:47:27.573796 Wrote request (93 bytes) input to log/11/server.input 05:47:27.573811 Identifying ourselves as friends 05:47:27.580133 Response sent (56 bytes) and written to log/11/server.response 05:47:27.580157 special request received, no persistency 05:47:27.580167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 49154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1035 ../src/curl -q --output log/15/curl1035.out --include --trace-ascii log/15/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/15/stdout1035 2> log/15/stderr1035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1031 ../src/curl -q --output log/9/curl1031.out --include --trace-ascii log/9/trace1031 --trace-time http://127.0.0.1:33885/want/this/1031 -L > log/9/stdout1031 2> log/9/stderr1031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1029 ../src/curl -q --include --trace-ascii log/3/trace1029 --trace-time http://127.0.0.1:39591/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/3/stdout1029 2> log/3/stderr1029 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1030 ../src/curl -q --output log/5/curl1030.out --include --trace-ascii log/5/trace1030 --trace-time http://127.0.0.1:35621/1030 -T log/5/put1030 -u testuser:testpass --anyauth > log/5/stdout1030 2> log/5/stderr1030 Z: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1028 ==133298== ==133298== Process terminating with default action of signal 4 (SIGILL) ==133298== Illegal opcode at address 0x4014883 ==133298== at 0x4014883: getparameter (tool_getparam.c:2899) ==133298== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133298== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133298== by 0x4004208: main (tool_main.c:189) === End of file valgrind1028 setenv LC_ALL = C.UTF-8 test 1035...[HTTP over proxy with too long IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1035 ../src/curl -q --output log/15/curl1035.out --include --trace-ascii log/15/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/15/stdout1035 2> log/15/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/15/ directory after test 1035 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1035 ../src/curl -q --output log/15/curl1035.out --include --trace-ascii log/15/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/15/stdout1035 2> log/15/stderr1035 === End of file commands.log === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==133430== ==133430== Process terminating with default action of signal 4 (SIGILL) ==133430== Illegal opcode at address 0x4014883 ==133430== at 0x4014883: getparameter (tool_getparam.c:2899) ==133430== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133430== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133430== by 0x4004208: main (tool_main.c:189) === End of file valgrind1035 test 1031...[HTTP Location: following to a query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1031 ../src/curl -q --output log/9/curl1031.out --include --trace-ascii log/9/trace1031 --trace-time http://127.0.0.1:33885/want/this/1031 -L > log/9/stdout1031 2> log/9/stderr1031 1031: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1031 ../src/curl -q --output log/9/curl1031.out --include --trace-ascii log/9/trace1031 --trace-time http://127.0.0.1:33885/want/this/1031 -L > log/9/stdout1031 2> log/9/stderr1031 === End of file commands.log === Start of file http_server.log 05:47:26.787074 ====> Client connect 05:47:26.787126 accept_connection 3 returned 4 05:47:26.787148 accept_connection 3 returned 0 05:47:26.787166 Read 93 bytes 05:47:26.787176 Process 93 bytes request 05:47:26.787191 Got request: GET /verifiedserver HTTP/1.1 05:47:26.787200 Are-we-friendly question received 05:47:26.787227 Wrote request (93 bytes) input to log/9/server.input 05:47:26.787245 Identifying ourselves as friends 05:47:26.787363 Response sent (56 bytes) and written to log/9/server.response 05:47:26.787374 special request received, no persistency 05:47:26.787383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 35226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1031 ==133300== ==133300== Process terminating with default action of signal 4 (SIGILL) ==133300== Illegal opcode at address 0x4014883 ==133300== at 0x4014883: getparameter (tool_getparam.c:2899) ==133300== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133300== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133300== by 0x4004208: main (tool_main.c:189) === End of file valgrind1031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1033 ../src/curl -q --output log/18/curl1033.out --include --trace-ascii log/18/trace1033 --trace-time http://127.0.0.1:39913/1033 > log/18/stdout1033 2> log/18/stderr1033 test 1029...[HTTP Location: and 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1029 ../src/curl -q --include --trace-ascii log/3/trace1029 --trace-time http://127.0.0.1:39591/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/3/stdout1029 2> log/3/stderr1029 1029: stdout FAILED: --- log/3/check-expected 2026-03-14 05:47:29.657949333 +0000 +++ log/3/check-generated 2026-03-14 05:47:29.657949333 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:39591/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:39591/we/want/our/1029 0 [LF] == Contents of files in the log/3/ directory after test 1029 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:39591/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:39591/we/want/our/1029 0 [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1029 ../src/curl -q --include --trace-ascii log/3/trace1029 --trace-time http://127.0.0.1:39591/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/3/stdout1029 2> log/3/stderr1029 === End of file commands.log === Start of file http_server.log 05:47:27.630385 ====> Client connect 05:47:27.630425 accept_connection 3 returned 4 05:47:27.630443 accept_connection 3 returned 0 05:47:27.630458 Read 93 bytes 05:47:27.630468 Process 93 bytes request 05:47:27.630482 Got request: GET /verifiedserver HTTP/1.1 05:47:27.630490 Are-we-friendly question received 05:47:27.630545 Wrote request (93 bytes) input to log/3/server.input 05:47:27.630565 Identifying ourselves as friends 05:47:27.630630 Response sent (56 bytes) and written to log/3/server.response 05:47:27.630642 special request received, no persistency 05:47:27.630651 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 34896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1029 ==133213== ==133213== Process terminating with default action of signal 4 (SIGILL) ==133213== Illegal opcode at address 0x4014883 ==133213== at 0x4014883: getparameter (tool_getparam.c:2899) ==133213== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133213== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133213== by 0x4004208: main (tool_main.c:189) === End of file valgrind1029 test 1030...[HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1030 ../src/curl -q --output log/5/curl1030.out --include --trace-ascii log/5/trace1030 --trace-time http://127.0.0.1:35621/1030 -T log/5/put1030 -u testuser:testpass --anyauth > log/5/stdout1030 2> log/5/stderr1030 1030: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1030 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1030 ../src/curl -q --output log/5/curl1030.out --include --trace-ascii log/5/trace1030 --trace-time http://127.0.0.1:35621/1030 -T log/5/put1030 -u testuser:testpass --anyauth > log/5/stdout1030 2> log/5/stderr1030 === End of file commands.log === Start of file http_server.log 05:47:27.737046 ====> Client connect 05:47:27.737101 accept_connection 3 returned 4 05:47:27.737117 accept_connection 3 returned 0 05:47:27.737131 Read 93 bytes 05:47:27.737140 Process 93 bytes request 05:47:27.737153 Got request: GET /verifiedserver HTTP/1.1 05:47:27.737162 Are-we-friendly question received 05:47:27.737186 Wrote request (93 bytes) input to log/5/server.input 05:47:27.737202 Identifying ourselves as friends 05:47:27.737263 Response sent (56 bytes) and written to log/5/server.response 05:47:27.737273 special request received, no persistency 05:47:27.737282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 37390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file put1030 This is data we upload with PUT a second line line three four is the number of lines === End of file put1030 === Start of file server.cmd Testnum 1030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1030 ==133270== ==133270== Process terminating with default action of signal 4 (SIGILL) ==133270== Illegal opcode at address 0x4014883 ==133270== at 0x4014883: getparameter (tool_getparam.c:2899) ==133270== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133270== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133270== by 0x4004208: main (tool_main.c:189) === End of file valgrind1030 test 1033...[HTTP GET with 102 response!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1033 ../src/curl -q --output log/18/curl1033.out --include --trace-ascii log/18/trace1033 --trace-time http://127.0.0.1:39913/1033 > log/18/stdout1033 2> log/18/stderr1033 1033: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1033 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1033 ../src/curl -q --output log/18/curl1033.out --include --trace-ascii log/18/trace1033 --trace-time http://127.0.0.1:39913/1033 > log/18/stdout1033 2> log/18/stderr1033 === End of file commands.log === Start of file http_server.log 05:47:26.932694 ====> Client connect 05:47:26.932726 accept_connection 3 returned 4 05:47:26.932741 accept_connection 3 returned 0 05:47:26.932755 Read 93 bytes 05:47:26.932764 Process 93 bytes request 05:47:26.932776 Got request: GET /verifiedserver HTTP/1.1 05:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1034 ../src/curl -q --output log/7/curl1034.out --include --trace-ascii log/7/trace1034 --trace-time -K - -x 127.0.0.1:47 log/7/stdout1034 2> log/7/stderr1034 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1040 ../src/curl -q --output log/8/curl1040.out --include --trace-ascii log/8/trace1040 --trace-time http://127.0.0.1:45623/1040 -C - > log/8/stdout1040 2> log/8/stderr1040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1042 ../src/curl -q --output log/2/curl1042.out --include --trace-ascii log/2/trace1042 --trace-time http://127.0.0.1:41799/1042 -C 200 > log/2/stdout1042 2> log/2/stderr1042 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1038 ../src/curl -q --output log/21/curl1038.out --include --trace-ascii log/21/trace1038 --trace-time ftp://127.0.0.1:34063/1038 -T log/21/upload1038 -C - > log/21/stdout1038 2> log/21/stderr1038 47:26.932785 Are-we-friendly question received 05:47:26.932808 Wrote request (93 bytes) input to log/18/server.input 05:47:26.932823 Identifying ourselves as friends 05:47:26.932877 Response sent (56 bytes) and written to log/18/server.response 05:47:26.932886 special request received, no persistency 05:47:26.932894 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1033 ==133489== ==133489== Process terminating with default action of signal 4 (SIGILL) ==133489== Illegal opcode at address 0x4014883 ==133489== at 0x4014883: getparameter (tool_getparam.c:2899) ==133489== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133489== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133489== by 0x4004208: main (tool_main.c:189) === End of file valgrind1033 setenv LC_ALL = C.UTF-8 test 1034...[HTTP over proxy with malformatted IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1034 ../src/curl -q --output log/7/curl1034.out --include --trace-ascii log/7/trace1034 --trace-time -K - -x 127.0.0.1:47 log/7/stdout1034 2> log/7/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/7/ directory after test 1034 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1034 ../src/curl -q --output log/7/curl1034.out --include --trace-ascii log/7/trace1034 --trace-time -K - -x 127.0.0.1:47 log/7/stdout1034 2> log/7/stderr1034 === End of file commands.log === Start of file server.cmd Testnum 1034 === End of file server.cmd === Start of file stdin-for-1034 url = "http://invalid-utf8-.local/page/1034" === End of file stdin-for-1034 === Start of file valgrind1034 ==133414== ==133414== Process terminating with default action of signal 4 (SIGILL) ==133414== Illegal opcode at address 0x4014883 ==133414== at 0x4014883: getparameter (tool_getparam.c:2899) ==133414== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133414== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133414== by 0x4004208: main (tool_main.c:189) === End of file valgrind1034 test 1040...[HTTP GET with resume from end of entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1040 ../src/curl -q --output log/8/curl1040.out --include --trace-ascii log/8/trace1040 --trace-time http://127.0.0.1:45623/1040 -C - > log/8/stdout1040 2> log/8/stderr1040 1040: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1040 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1040 ../src/curl -q --output log/8/curl1040.out --include --trace-ascii log/8/trace1040 --trace-time http://127.0.0.1:45623/1040 -C - > log/8/stdout1040 2> log/8/stderr1040 === End of file commands.log === Start of file curl1040.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1040.out === Start of file http_server.log 05:47:27.467357 ====> Client connect 05:47:27.467416 accept_connection 3 returned 4 05:47:27.467439 accept_connection 3 returned 0 05:47:27.467455 Read 93 bytes 05:47:27.467465 Process 93 bytes request 05:47:27.467481 Got request: GET /verifiedserver HTTP/1.1 05:47:27.467491 Are-we-friendly question received 05:47:27.467521 Wrote request (93 bytes) input to log/8/server.input 05:47:27.467539 Identifying ourselves as friends 05:47:27.467632 Response sent (56 bytes) and written to log/8/server.response 05:47:27.467642 special request received, no persistency 05:47:27.467650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1040 ==133873== ==133873== Process terminating with default action of signal 4 (SIGILL) ==133873== Illegal opcode at address 0x4014883 ==133873== at 0x4014883: getparameter (tool_getparam.c:2899) ==133873== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133873== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133873== by 0x4004208: main (tool_main.c:189) === End of file valgrind1040 test 1042...[HTTP GET beyond end of entirely-downloaded file, no server resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1042 ../src/curl -q --output log/2/curl1042.out --include --trace-ascii log/2/trace1042 --trace-time http://127.0.0.1:41799/1042 -C 200 > log/2/stdout1042 2> log/2/stderr1042 1042: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1042 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1042 ../src/curl -q --output log/2/curl1042.out --include --trace-ascii log/2/trace1042 --trace-time http://127.0.0.1:41799/1042 -C 200 > log/2/stdout1042 2> log/2/stderr1042 === End of file commands.log === Start of file curl1042.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1042.out === Start of file http_server.log 05:47:28.573725 ====> Client connect 05:47:28.573772 accept_connection 3 returned 4 05:47:28.573790 accept_connection 3 returned 0 05:47:28.573806 Read 93 bytes 05:47:28.573815 Process 93 bytes request 05:47:28.573829 Got request: GET /verifiedserver HTTP/1.1 05:47:28.573838 Are-we-friendly question received 05:47:28.573866 Wrote request (93 bytes) input to log/2/server.input 05:47:28.573883 Identifying ourselves as friends 05:47:28.573963 Response sent (56 bytes) and written to log/2/server.response 05:47:28.573972 special request received, no persistency 05:47:28.573981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verifyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1039 ../src/curl -q --output log/12/curl1039.out --include --trace-ascii log/12/trace1039 --trace-time ftp://127.0.0.1:33915/1039 -T log/12/upload1039 -C - > log/12/stdout1039 2> log/12/stderr1039 .log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 44378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1042 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1042 ==134026== ==134026== Process terminating with default action of signal 4 (SIGILL) ==134026== Illegal opcode at address 0x4014883 ==134026== at 0x4014883: getparameter (tool_getparam.c:2899) ==134026== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134026== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134026== by 0x4004208: main (tool_main.c:189) === End of file valgrind1042 test 1038...[FTP PASV upload resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1038 ../src/curl -q --output log/21/curl1038.out --include --trace-ascii log/21/trace1038 --trace-time ftp://127.0.0.1:34063/1038 -T log/21/upload1038 -C - > log/21/stdout1038 2> log/21/stderr1038 1038: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1038 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1038 ../src/curl -q --output log/21/curl1038.out --include --trace-ascii log/21/trace1038 --trace-time ftp://127.0.0.1:34063/1038 -T log/21/upload1038 -C - > log/21/stdout1038 2> log/21/stderr1038 === End of file commands.log === Start of file ftp_server.log 05:47:27.951517 ====> Client connect 05:47:27.951670 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:27.951946 < "USER anonymous" 05:47:27.952380 > "331 We are happy you popped in![CR][LF]" 05:47:27.952569 < "PASS ftp@example.com" 05:47:27.952604 > "230 Welcome you silly person[CR][LF]" 05:47:27.955901 < "PWD" 05:47:27.955944 > "257 "/" is current directory[CR][LF]" 05:47:27.956148 < "EPSV" 05:47:27.956181 ====> Passive DATA channel requested by client 05:47:27.956199 DATA sockfilt for passive data channel starting... 05:47:27.962449 DATA sockfilt for passive data channel started (pid 133815) 05:47:27.962587 DATA sockfilt for passive data channel listens on port 34683 05:47:27.962636 > "229 Entering Passive Mode (|||34683|)[CR][LF]" 05:47:27.962661 Client has been notified that DATA conn will be accepted on port 34683 05:47:27.963566 Client connects to port 34683 05:47:27.963605 ====> Client established passive DATA connection on port 34683 05:47:27.963710 < "TYPE I" 05:47:27.963753 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:27.963955 < "SIZE verifiedserver" 05:47:27.964004 > "213 17[CR][LF]" 05:47:27.964195 < "RETR verifiedserver" 05:47:27.964237 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:27.964343 =====> Closing passive DATA connection... 05:47:27.964368 Server disconnects passive DATA connection 05:47:27.964644 Server disconnected passive DATA connection 05:47:27.964675 DATA sockfilt for passive data channel quits (pid 133815) 05:47:27.964931 DATA sockfilt for passive data channel quit (pid 133815) 05:47:27.964961 =====> Closed passive DATA connection 05:47:27.964992 > "226 File transfer complete[CR][LF]" 05:47:28.015963 < "QUIT" 05:47:28.016036 > "221 bye bye baby[CR][LF]" 05:47:28.017379 MAIN sockfilt said DISC 05:47:28.017418 ====> Client disconnected 05:47:28.017525 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:28.412658 ====> Client connect 05:47:28.413137 Received DATA (on stdin) 05:47:28.413151 > 146 bytes data, server => client 05:47:28.413162 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:28.413172 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:28.413182 '220 \___|\___/|_| \_\_____|\r\n' 05:47:28.413251 < 16 bytes data, client => server 05:47:28.413263 'USER anonymous\r\n' 05:47:28.413769 Received DATA (on stdin) 05:47:28.413788 > 33 bytes data, server => client 05:47:28.413849 '331 We are happy you popped in!\r\n' 05:47:28.413910 < 22 bytes data, client => server 05:47:28.413925 'PASS ftp@example.com\r\n' 05:47:28.414064 Received DATA (on stdin) 05:47:28.414077 > 30 bytes data, server => client 05:47:28.414088 '230 Welcome you silly person\r\n' 05:47:28.417242 < 5 bytes data, client => server 05:47:28.417263 'PWD\r\n' 05:47:28.417409 Received DATA (on stdin) 05:47:28.417424 > 30 bytes data, server => client 05:47:28.417435 '257 "/" is current directory\r\n' 05:47:28.417504 < 6 bytes data, client => server 05:47:28.417520 'EPSV\r\n' 05:47:28.424145 Received DATA (on stdin) 05:47:28.424166 > 39 bytes data, server => client 05:47:28.424177 '229 Entering Passive Mode (|||34683|)\r\n' 05:47:28.424578 < 8 bytes data, client => server 05:47:28.424596 'TYPE I\r\n' 05:47:28.425220 Received DATA (on stdin) 05:47:28.425234 > 33 bytes data, server => client 05:47:28.425245 '200 I modify TYPE as you wanted\r\n' 05:47:28.425306 < 21 bytes data, client => server 05:47:28.425322 'SIZE verifiedserver\r\n' 05:47:28.425469 Received DATA (on stdin) 05:47:28.425483 > 8 bytes data, server => client 05:47:28.425493 '213 17\r\n' 05:47:28.425549 < 21 bytes data, client => server 05:47:28.425566 'RETR verifiedserver\r\n' 05:47:28.425830 Received DATA (on stdin) 05:47:28.425845 > 29 bytes data, server => client 05:47:28.425856 '150 Binary junk (17 bytes).\r\n' 05:47:28.426454 Received DATA (on stdin) 05:47:28.426468 > 28 bytes data, server => client 05:47:28.426478 '226 File transfer complete\r\n' 05:47:28.470625 < 6 bytes data, client => server 05:47:28.470649 'QUIT\r\n' 05:47:28.477517 Received DATA (on stdin) 05:47:28.477543 > 18 bytes data, server => client 05:47:28.477555 '221 bye bye baby\r\n' 05:47:28.478775 ====> Client disconnect 05:47:28.478992 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:27.421388 Running IPv4 version 05:47:27.421451 Listening on port 34683 05:47:27.421502 Wrote pid 133815 to log/21/server/ftp_sockdata.pid 05:47:27.421523 Received PING (on stdin) 05:47:27.423946 Received PORT (on stdin) 05:47:27.424619 ====> Client connect 05:47:27.425917 Received DATA (on stdin) 05:47:27.425935 > 17 bytes data, server => client 05:47:27.425946 'WE ROOLZ: 81542\r\n' 05:47:27.425976 Received DISC (on stdin) 05:47:27.425991 ====> Client forcibly disconnected 05:47:27.426142 Received QUIT (on stdin) 05:47:27.426155 quits 05:47:27.426234 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1038 === End of file server.cmd === Start of file upload1038 this is the *****cr@p******** that we are gonna upload worx? === End of file upload1038 === Start of file valgrind1038 ==133885== ==133885== Process terminating with default action of signal 4 (SIGILL) ==133885== Illegal opcode at address 0x4014883 ==133885== at 0x4014883: getparameter (tool_getparam.c:2899) ==133885== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133885== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133885== by 0x4004208: main (tool_main.c:189) === End of file valgrind1038 test 1039...[FTP PASV upload resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1037 ../src/curl -q --output log/17/curl1037.out --include --trace-ascii log/17/trace1037 --trace-time ftp://127.0.0.1:35305/1037 -C - > log/17/stdout1037 2> log/17/stderr1037 -quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1039 ../src/curl -q --output log/12/curl1039.out --include --trace-ascii log/12/trace1039 --trace-time ftp://127.0.0.1:33915/1039 -T log/12/upload1039 -C - > log/12/stdout1039 2> log/12/stderr1039 1039: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1039 ../src/curl -q --output log/12/curl1039.out --include --trace-ascii log/12/trace1039 --trace-time ftp://127.0.0.1:33915/1039 -T log/12/upload1039 -C - > log/12/stdout1039 2> log/12/stderr1039 === End of file commands.log === Start of file ftp_server.log 05:47:27.943520 ====> Client connect 05:47:27.943703 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:27.944000 < "USER anonymous" 05:47:27.944042 > "331 We are happy you popped in![CR][LF]" 05:47:27.944208 < "PASS ftp@example.com" 05:47:27.944235 > "230 Welcome you silly person[CR][LF]" 05:47:27.944406 < "PWD" 05:47:27.944438 > "257 "/" is current directory[CR][LF]" 05:47:27.944599 < "EPSV" 05:47:27.944625 ====> Passive DATA channel requested by client 05:47:27.944642 DATA sockfilt for passive data channel starting... 05:47:27.946822 DATA sockfilt for passive data channel started (pid 133809) 05:47:27.946950 DATA sockfilt for passive data channel listens on port 42885 05:47:27.947005 > "229 Entering Passive Mode (|||42885|)[CR][LF]" 05:47:27.947030 Client has been notified that DATA conn will be accepted on port 42885 05:47:27.952266 Client connects to port 42885 05:47:27.952312 ====> Client established passive DATA connection on port 42885 05:47:27.952427 < "TYPE I" 05:47:27.952475 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:27.958971 < "SIZE verifiedserver" 05:47:27.959044 > "213 17[CR][LF]" 05:47:27.959271 < "RETR verifiedserver" 05:47:27.959314 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:27.959571 =====> Closing passive DATA connection... 05:47:27.959597 Server disconnects passive DATA connection 05:47:27.959776 Server disconnected passive DATA connection 05:47:27.959808 DATA sockfilt for passive data channel quits (pid 133809) 05:47:27.960081 DATA sockfilt for passive data channel quit (pid 133809) 05:47:27.960110 =====> Closed passive DATA connection 05:47:27.960140 > "226 File transfer complete[CR][LF]" 05:47:28.005897 < "QUIT" 05:47:28.005964 > "221 bye bye baby[CR][LF]" 05:47:28.007224 MAIN sockfilt said DISC 05:47:28.007260 ====> Client disconnected 05:47:28.007341 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:28.404847 ====> Client connect 05:47:28.405177 Received DATA (on stdin) 05:47:28.405193 > 146 bytes data, server => client 05:47:28.405205 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:28.405216 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:28.405225 '220 \___|\___/|_| \_\_____|\r\n' 05:47:28.405300 < 16 bytes data, client => server 05:47:28.405312 'USER anonymous\r\n' 05:47:28.405502 Received DATA (on stdin) 05:47:28.405514 > 33 bytes data, server => client 05:47:28.405524 '331 We are happy you popped in!\r\n' 05:47:28.405576 < 22 bytes data, client => server 05:47:28.405587 'PASS ftp@example.com\r\n' 05:47:28.405691 Received DATA (on stdin) 05:47:28.405702 > 30 bytes data, server => client 05:47:28.405713 '230 Welcome you silly person\r\n' 05:47:28.405765 < 5 bytes data, client => server 05:47:28.405780 'PWD\r\n' 05:47:28.405893 Received DATA (on stdin) 05:47:28.405905 > 30 bytes data, server => client 05:47:28.405916 '257 "/" is current directory\r\n' 05:47:28.405974 < 6 bytes data, client => server 05:47:28.405985 'EPSV\r\n' 05:47:28.410316 Received DATA (on stdin) 05:47:28.410339 > 39 bytes data, server => client 05:47:28.410351 '229 Entering Passive Mode (|||42885|)\r\n' 05:47:28.410508 < 8 bytes data, client => server 05:47:28.410525 'TYPE I\r\n' 05:47:28.414056 Received DATA (on stdin) 05:47:28.414098 > 33 bytes data, server => client 05:47:28.414109 '200 I modify TYPE as you wanted\r\n' 05:47:28.414170 < 21 bytes data, client => server 05:47:28.414185 'SIZE verifiedserver\r\n' 05:47:28.420516 Received DATA (on stdin) 05:47:28.420533 > 8 bytes data, server => client 05:47:28.420544 '213 17\r\n' 05:47:28.420624 < 21 bytes data, client => server 05:47:28.420641 'RETR verifiedserver\r\n' 05:47:28.420787 Received DATA (on stdin) 05:47:28.420802 > 29 bytes data, server => client 05:47:28.420812 '150 Binary junk (17 bytes).\r\n' 05:47:28.421602 Received DATA (on stdin) 05:47:28.421615 > 28 bytes data, server => client 05:47:28.421626 '226 File transfer complete\r\n' 05:47:28.467132 < 6 bytes data, client => server 05:47:28.467167 'QUIT\r\n' 05:47:28.467434 Received DATA (on stdin) 05:47:28.467450 > 18 bytes data, server => client 05:47:28.467462 '221 bye bye baby\r\n' 05:47:28.468619 ====> Client disconnect 05:47:28.468811 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:27.407953 Running IPv4 version 05:47:27.408025 Listening on port 42885 05:47:27.408069 Wrote pid 133809 to log/12/server/ftp_sockdata.pid 05:47:27.408215 Received PING (on stdin) 05:47:27.408311 Received PORT (on stdin) 05:47:27.413652 ====> Client connect 05:47:27.420844 Received DATA (on stdin) 05:47:27.420866 > 17 bytes data, server => client 05:47:27.421060 'WE ROOLZ: 81072\r\n' 05:47:27.421097 Received DISC (on stdin) 05:47:27.421112 ====> Client forcibly disconnected 05:47:27.421279 Received QUIT (on stdin) 05:47:27.421292 quits 05:47:27.421384 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1039 === End of file server.cmd === Start of file upload1039 this is the *****cr@p******** that we are gonna upload worx? === End of file upload1039 === Start of file valgrind1039 ==133872== ==133872== Process terminating with default action of signal 4 (SIGILL) ==133872== Illegal opcode at address 0x4014883 ==133872== at 0x4014883: getparameter (tool_getparam.c:2899) ==133872== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133872== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133872== by 0x4004208: main (tool_main.c:189) === End of file valgrind1039 test 1037...[FTP download resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1037 ../src/curl -q --output log/17/curl1037.out --include --trace-ascii log/17/trace1037 --trace-time ftp://127.0.0.1:35305/1037 -C - > log/17/stdout1037 2> log/17/stderr1037 1037: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1037 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1037 ../src/curl -q --output log/17/curl1037.out --include --trace-ascii log/17/trace1037 --trace-time ftp://127.0.0.1:35305/1037 -C - > log/17/stdout1037 2> log/17/stderr1037 === End of file commands.log === Start of file ftp_server.log 05:47:27.802053 ====> Client connect 05:47:27.802260 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:27.805669 < "USER anonymous" 05:47:27.805719 > "331 We are happy you poppeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1043 ../src/curl -q --output log/20/curl1043.out --include --trace-ascii log/20/trace1043 --trace-time http://127.0.0.1:38929/1043 -C - > log/20/stdout1043 2> log/20/stderr1043 d in![CR][LF]" 05:47:27.805898 < "PASS ftp@example.com" 05:47:27.805928 > "230 Welcome you silly person[CR][LF]" 05:47:27.806106 < "PWD" 05:47:27.806139 > "257 "/" is current directory[CR][LF]" 05:47:27.806308 < "EPSV" 05:47:27.806335 ====> Passive DATA channel requested by client 05:47:27.806349 DATA sockfilt for passive data channel starting... 05:47:27.813417 DATA sockfilt for passive data channel started (pid 133715) 05:47:27.813575 DATA sockfilt for passive data channel listens on port 45447 05:47:27.813636 > "229 Entering Passive Mode (|||45447|)[CR][LF]" 05:47:27.813665 Client has been notified that DATA conn will be accepted on port 45447 05:47:27.821488 Client connects to port 45447 05:47:27.821550 ====> Client established passive DATA connection on port 45447 05:47:27.821668 < "TYPE I" 05:47:27.821710 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:27.821944 < "SIZE verifiedserver" 05:47:27.821994 > "213 17[CR][LF]" 05:47:27.822182 < "RETR verifiedserver" 05:47:27.822231 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:27.822358 =====> Closing passive DATA connection... 05:47:27.822384 Server disconnects passive DATA connection 05:47:27.825674 Server disconnected passive DATA connection 05:47:27.825706 DATA sockfilt for passive data channel quits (pid 133715) 05:47:27.826014 DATA sockfilt for passive data channel quit (pid 133715) 05:47:27.826039 =====> Closed passive DATA connection 05:47:27.826076 > "226 File transfer complete[CR][LF]" 05:47:27.872499 < "QUIT" 05:47:27.872556 > "221 bye bye baby[CR][LF]" 05:47:27.880115 MAIN sockfilt said DISC 05:47:27.880181 ====> Client disconnected 05:47:27.880267 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:27.262694 ====> Client connect 05:47:27.263734 Received DATA (on stdin) 05:47:27.263750 > 146 bytes data, server => client 05:47:27.263761 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:27.263772 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:27.263781 '220 \___|\___/|_| \_\_____|\r\n' 05:47:27.266915 < 16 bytes data, client => server 05:47:27.266938 'USER anonymous\r\n' 05:47:27.267181 Received DATA (on stdin) 05:47:27.267195 > 33 bytes data, server => client 05:47:27.267205 '331 We are happy you popped in!\r\n' 05:47:27.267261 < 22 bytes data, client => server 05:47:27.267273 'PASS ftp@example.com\r\n' 05:47:27.267396 Received DATA (on stdin) 05:47:27.267408 > 30 bytes data, server => client 05:47:27.267420 '230 Welcome you silly person\r\n' 05:47:27.267474 < 5 bytes data, client => server 05:47:27.267486 'PWD\r\n' 05:47:27.267596 Received DATA (on stdin) 05:47:27.267607 > 30 bytes data, server => client 05:47:27.267617 '257 "/" is current directory\r\n' 05:47:27.267676 < 6 bytes data, client => server 05:47:27.267689 'EPSV\r\n' 05:47:27.275139 Received DATA (on stdin) 05:47:27.275160 > 39 bytes data, server => client 05:47:27.275172 '229 Entering Passive Mode (|||45447|)\r\n' 05:47:27.282867 < 8 bytes data, client => server 05:47:27.282888 'TYPE I\r\n' 05:47:27.283169 Received DATA (on stdin) 05:47:27.283181 > 33 bytes data, server => client 05:47:27.283191 '200 I modify TYPE as you wanted\r\n' 05:47:27.283286 < 21 bytes data, client => server 05:47:27.283308 'SIZE verifiedserver\r\n' 05:47:27.283460 Received DATA (on stdin) 05:47:27.283474 > 8 bytes data, server => client 05:47:27.283485 '213 17\r\n' 05:47:27.283542 < 21 bytes data, client => server 05:47:27.283557 'RETR verifiedserver\r\n' 05:47:27.283848 Received DATA (on stdin) 05:47:27.283861 > 29 bytes data, server => client 05:47:27.283872 '150 Binary junk (17 bytes).\r\n' 05:47:27.287537 Received DATA (on stdin) 05:47:27.287550 > 28 bytes data, server => client 05:47:27.287560 '226 File transfer complete\r\n' 05:47:27.333768 < 6 bytes data, client => server 05:47:27.333799 'QUIT\r\n' 05:47:27.334017 Received DATA (on stdin) 05:47:27.334030 > 18 bytes data, server => client 05:47:27.334039 '221 bye bye baby\r\n' 05:47:27.341489 ====> Client disconnect 05:47:27.341738 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:27.274468 Running IPv4 version 05:47:27.274557 Listening on port 45447 05:47:27.274604 Wrote pid 133715 to log/17/server/ftp_sockdata.pid 05:47:27.274801 Received PING (on stdin) 05:47:27.274920 Received PORT (on stdin) 05:47:27.282431 ====> Client connect 05:47:27.286987 Received DATA (on stdin) 05:47:27.287012 > 17 bytes data, server => client 05:47:27.287023 'WE ROOLZ: 81141\r\n' 05:47:27.287061 Received DISC (on stdin) 05:47:27.287073 ====> Client forcibly disconnected 05:47:27.287171 Received QUIT (on stdin) 05:47:27.287180 quits 05:47:27.287281 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1037 === End of file server.cmd === Start of file valgrind1037 ==133769== ==133769== Process terminating with default action of signal 4 (SIGILL) ==133769== Illegal opcode at address 0x4014883 ==133769== at 0x4014883: getparameter (tool_getparam.c:2899) ==133769== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133769== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133769== by 0x4004208: main (tool_main.c:189) === End of file valgrind1037 test 1043...[HTTP GET with resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1043 ../src/curl -q --output log/20/curl1043.out --include --trace-ascii log/20/trace1043 --trace-time http://127.0.0.1:38929/1043 -C - > log/20/stdout1043 2> log/20/stderr1043 1043: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1043 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1043 ../src/curl -q --output log/20/curl1043.out --include --trace-ascii log/20/trace1043 --trace-time http://127.0.0.1:38929/1043 -C - > log/20/stdout1043 2> log/20/stderr1043 === End of file commands.log === Start of file curl1043.out 012345678 012345678 012345678 012345678 === End of file curl1043.out === Start of file http_server.log 05:47:27.720266 ====> Client connect 05:47:27.720408 accept_connection 3 returned 4 05:47:27.720426 accept_connection 3 returned 0 05:47:27.720442 Read 93 bytes 05:47:27.720451 Process 93 bytes request 05:47:27.720465 Got request: GET /verifiedserver HTTP/1.1 05:47:27.720473 Are-we-friendly question received 05:47:27.720501 Wrote request (93 bytes) input to log/20/server.input 05:47:27.720520 Identifying ourselves as friends 05:47:27.720587 Response sent (56 bytes) and written to log/20/server.response 05:47:27.720600 special request received, no persistency 05:47:27.720609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 40958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1043 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1043 ==134175== ==134175== Process terminating with default action of signal 4 (SIGILL) ==134175== Illegal opcode at address 0x4014883 ==134175== at 0x4014883: getparameter (tool_getparam.c:2899) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1036 ../src/curl -q --output log/22/curl1036.out --include --trace-ascii log/22/trace1036 --trace-time ftp://127.0.0.1:41347/1036 -C - > log/22/stdout1036 2> log/22/stderr1036 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1041 ../src/curl -q --output log/16/curl1041.out --include --trace-ascii log/16/trace1041 --trace-time http://127.0.0.1:44673/1041 -Tlog/16/test1041.txt -C - > log/16/stdout1041 2> log/16/stderr1041 134175== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134175== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134175== by 0x4004208: main (tool_main.c:189) === End of file valgrind1043 test 1036...[FTP download resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1036 ../src/curl -q --output log/22/curl1036.out --include --trace-ascii log/22/trace1036 --trace-time ftp://127.0.0.1:41347/1036 -C - > log/22/stdout1036 2> log/22/stderr1036 1036: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1036 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1036 ../src/curl -q --output log/22/curl1036.out --include --trace-ascii log/22/trace1036 --trace-time ftp://127.0.0.1:41347/1036 -C - > log/22/stdout1036 2> log/22/stderr1036 === End of file commands.log === Start of file curl1036.out This is the start! === End of file curl1036.out === Start of file ftp_server.log 05:47:27.671371 ====> Client connect 05:47:27.671560 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:27.671867 < "USER anonymous" 05:47:27.671906 > "331 We are happy you popped in![CR][LF]" 05:47:27.672096 < "PASS ftp@example.com" 05:47:27.672129 > "230 Welcome you silly person[CR][LF]" 05:47:27.672313 < "PWD" 05:47:27.672348 > "257 "/" is current directory[CR][LF]" 05:47:27.672519 < "EPSV" 05:47:27.672546 ====> Passive DATA channel requested by client 05:47:27.672561 DATA sockfilt for passive data channel starting... 05:47:27.685680 DATA sockfilt for passive data channel started (pid 133664) 05:47:27.685859 DATA sockfilt for passive data channel listens on port 37803 05:47:27.685917 > "229 Entering Passive Mode (|||37803|)[CR][LF]" 05:47:27.685938 Client has been notified that DATA conn will be accepted on port 37803 05:47:27.686280 Client connects to port 37803 05:47:27.686312 ====> Client established passive DATA connection on port 37803 05:47:27.686407 < "TYPE I" 05:47:27.686444 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:27.686616 < "SIZE verifiedserver" 05:47:27.686661 > "213 17[CR][LF]" 05:47:27.686829 < "RETR verifiedserver" 05:47:27.686867 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:27.686969 =====> Closing passive DATA connection... 05:47:27.686989 Server disconnects passive DATA connection 05:47:27.687233 Server disconnected passive DATA connection 05:47:27.687263 DATA sockfilt for passive data channel quits (pid 133664) 05:47:27.687542 DATA sockfilt for passive data channel quit (pid 133664) 05:47:27.687569 =====> Closed passive DATA connection 05:47:27.687600 > "226 File transfer complete[CR][LF]" 05:47:27.746879 < "QUIT" 05:47:27.746942 > "221 bye bye baby[CR][LF]" 05:47:27.748252 MAIN sockfilt said DISC 05:47:27.748287 ====> Client disconnected 05:47:27.748392 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:27.132685 ====> Client connect 05:47:27.133035 Received DATA (on stdin) 05:47:27.133051 > 146 bytes data, server => client 05:47:27.133064 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:27.133074 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:27.133083 '220 \___|\___/|_| \_\_____|\r\n' 05:47:27.133158 < 16 bytes data, client => server 05:47:27.133172 'USER anonymous\r\n' 05:47:27.133370 Received DATA (on stdin) 05:47:27.133382 > 33 bytes data, server => client 05:47:27.133393 '331 We are happy you popped in!\r\n' 05:47:27.133449 < 22 bytes data, client => server 05:47:27.133465 'PASS ftp@example.com\r\n' 05:47:27.133589 Received DATA (on stdin) 05:47:27.133602 > 30 bytes data, server => client 05:47:27.133612 '230 Welcome you silly person\r\n' 05:47:27.133676 < 5 bytes data, client => server 05:47:27.133689 'PWD\r\n' 05:47:27.133803 Received DATA (on stdin) 05:47:27.133815 > 30 bytes data, server => client 05:47:27.133825 '257 "/" is current directory\r\n' 05:47:27.133886 < 6 bytes data, client => server 05:47:27.133898 'EPSV\r\n' 05:47:27.147407 Received DATA (on stdin) 05:47:27.147427 > 39 bytes data, server => client 05:47:27.147438 '229 Entering Passive Mode (|||37803|)\r\n' 05:47:27.147679 < 8 bytes data, client => server 05:47:27.147691 'TYPE I\r\n' 05:47:27.147903 Received DATA (on stdin) 05:47:27.147915 > 33 bytes data, server => client 05:47:27.147926 '200 I modify TYPE as you wanted\r\n' 05:47:27.147980 < 21 bytes data, client => server 05:47:27.147993 'SIZE verifiedserver\r\n' 05:47:27.148118 Received DATA (on stdin) 05:47:27.148130 > 8 bytes data, server => client 05:47:27.148140 '213 17\r\n' 05:47:27.148193 < 21 bytes data, client => server 05:47:27.148206 'RETR verifiedserver\r\n' 05:47:27.148448 Received DATA (on stdin) 05:47:27.148460 > 29 bytes data, server => client 05:47:27.148471 '150 Binary junk (17 bytes).\r\n' 05:47:27.149057 Received DATA (on stdin) 05:47:27.149070 > 28 bytes data, server => client 05:47:27.149081 '226 File transfer complete\r\n' 05:47:27.203686 < 6 bytes data, client => server 05:47:27.203725 'QUIT\r\n' 05:47:27.208412 Received DATA (on stdin) 05:47:27.208431 > 18 bytes data, server => client 05:47:27.208442 '221 bye bye baby\r\n' 05:47:27.209654 ====> Client disconnect 05:47:27.209854 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:27.138408 Running IPv4 version 05:47:27.138480 Listening on port 37803 05:47:27.138521 Wrote pid 133664 to log/22/server/ftp_sockdata.pid 05:47:27.147023 Received PING (on stdin) 05:47:27.147201 Received PORT (on stdin) 05:47:27.147648 ====> Client connect 05:47:27.148499 Received DATA (on stdin) 05:47:27.148511 > 17 bytes data, server => client 05:47:27.148522 'WE ROOLZ: 81140\r\n' 05:47:27.148548 Received DISC (on stdin) 05:47:27.148559 ====> Client forcibly disconnected 05:47:27.148728 Received QUIT (on stdin) 05:47:27.148739 quits 05:47:27.148837 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1036 === End of file server.cmd === Start of file valgrind1036 ==133701== ==133701== Process terminating with default action of signal 4 (SIGILL) ==133701== Illegal opcode at address 0x4014883 ==133701== at 0x4014883: getparameter (tool_getparam.c:2899) ==133701== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133701== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133701== by 0x4004208: main (tool_main.c:189) === End of file valgrind1036 test 1041...[HTTP PUT with resume from end of already-uploaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1041 ../src/curl -q --output log/16/curl1041.out --include --trace-ascii log/16/trace1041 --trace-time http://127.0.0.1:44673/1041 -Tlog/16/test1041.txt -C - > log/16/stdout1041 2> log/16/stderr1041 1041: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1041 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1041 ../src/curl -q --output log/16/curl1041.out --include --trace-ascii log/16/trace1041 --trace-time http://127.0.0.1:44673/1041 -Tlog/16/test1041.txt -C - > log/16/stdout1041 2> log/16/stderr1041 === End of file commands.log === Start of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1045 ../src/curl -q --output log/4/curl1045.out --include --trace-ascii log/4/trace1045 --trace-time http://127.0.0.1:40253/1045 --interface 127.0.0.1 > log/4/stdout1045 2> log/4/stderr1045 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1044 ../src/curl -q --include --trace-ascii log/6/trace1044 --trace-time ftp://127.0.0.1:36813/blalbla/1044 -I > log/6/stdout1044 2> log/6/stderr1044 file http_server.log 05:47:28.539319 ====> Client connect 05:47:28.539350 accept_connection 3 returned 4 05:47:28.539364 accept_connection 3 returned 0 05:47:28.539378 Read 93 bytes 05:47:28.539387 Process 93 bytes request 05:47:28.539400 Got request: GET /verifiedserver HTTP/1.1 05:47:28.539408 Are-we-friendly question received 05:47:28.539430 Wrote request (93 bytes) input to log/16/server.input 05:47:28.539444 Identifying ourselves as friends 05:47:28.539494 Response sent (56 bytes) and written to log/16/server.response 05:47:28.539502 special request received, no persistency 05:47:28.539511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 38246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1041 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file test1041.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test1041.txt === Start of file valgrind1041 ==133949== ==133949== Process terminating with default action of signal 4 (SIGILL) ==133949== Illegal opcode at address 0x4014883 ==133949== at 0x4014883: getparameter (tool_getparam.c:2899) ==133949== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==133949== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==133949== by 0x4004208: main (tool_main.c:189) === End of file valgrind1041 test 1045...[HTTP GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1045 ../src/curl -q --output log/4/curl1045.out --include --trace-ascii log/4/trace1045 --trace-time http://127.0.0.1:40253/1045 --interface 127.0.0.1 > log/4/stdout1045 2> log/4/stderr1045 1045: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1045 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1045 ../src/curl -q --output log/4/curl1045.out --include --trace-ascii log/4/trace1045 --trace-time http://127.0.0.1:40253/1045 --interface 127.0.0.1 > log/4/stdout1045 2> log/4/stderr1045 === End of file commands.log === Start of file http_server.log 05:47:28.067300 ====> Client connect 05:47:28.067337 accept_connection 3 returned 4 05:47:28.067355 accept_connection 3 returned 0 05:47:28.067730 Read 93 bytes 05:47:28.067748 Process 93 bytes request 05:47:28.067762 Got request: GET /verifiedserver HTTP/1.1 05:47:28.067772 Are-we-friendly question received 05:47:28.067802 Wrote request (93 bytes) input to log/4/server.input 05:47:28.067822 Identifying ourselves as friends 05:47:28.067884 Response sent (56 bytes) and written to log/4/server.response 05:47:28.067896 special request received, no persistency 05:47:28.067905 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 40472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1045 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1045 ==134349== ==134349== Process terminating with default action of signal 4 (SIGILL) ==134349== Illegal opcode at address 0x4014883 ==134349== at 0x4014883: getparameter (tool_getparam.c:2899) ==134349== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134349== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134349== by 0x4004208: main (tool_main.c:189) === End of file valgrind1045 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1051 ../src/curl -q --output log/24/curl1051.out --include --trace-ascii log/24/trace1051 --trace-time http://127.0.0.1:33593/want/1051 -L -T log/24/test1051.txt > log/24/stdout1051 2> log/24/stderr1051 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1053 ../src/curl -q --output log/11/curl1053.out --include --trace-ascii log/11/trace1053 --trace-time http://127.0.0.1:34551/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/11/test1053.txt > log/11/stdout1053 2> log/11/stderr1053 test 1044...[FTP download large file info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1044 ../src/curl -q --include --trace-ascii log/6/trace1044 --trace-time ftp://127.0.0.1:36813/blalbla/1044 -I > log/6/stdout1044 2> log/6/stderr1044 1044: stdout FAILED: --- log/6/check-expected 2026-03-14 05:47:30.781282667 +0000 +++ log/6/check-generated 2026-03-14 05:47:30.781282667 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] -Content-Length: 9999999999[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/6/ directory after test 1044 === Start of file check-expected Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] Content-Length: 9999999999[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1044 ../src/curl -q --include --trace-ascii log/6/trace1044 --trace-time ftp://127.0.0.1:36813/blalbla/1044 -I > log/6/stdout1044 2> log/6/stderr1044 === End of file commands.log === Start of file ftp_server.log 05:47:28.269025 ====> Client connect 05:47:28.269168 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:28.269445 < "USER anonymous" 05:47:28.269477 > "331 We are happy you popped in![CR][LF]" 05:47:28.269625 < "PASS ftp@example.com" 05:47:28.269648 > "230 Welcome you silly person[CR][LF]" 05:47:28.269782 < "PWD" 05:47:28.269809 > "257 "/" is current directory[CR][LF]" 05:47:28.269950 < "EPSV" 05:47:28.269972 ====> Passive DATA channel requested by client 05:47:28.269984 DATA sockfilt for passive data channel starting... 05:47:28.276557 DATA sockfilt for passive data channel started (pid 134158) 05:47:28.276676 DATA sockfilt for passive data channel listens on port 43289 05:47:28.276720 > "229 Entering Passive Mode (|||43289|)[CR][LF]" 05:47:28.276738 Client has been notified that DATA conn will be accepted on port 43289 05:47:28.277892 Client connects to port 43289 05:47:28.277926 ====> Client established passive DATA connection on port 43289 05:47:28.278054 < "TYPE I" 05:47:28.278086 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:28.278247 < "SIZE verifiedserver" 05:47:28.278284 > "213 17[CR][LF]" 05:47:28.278437 < "RETR verifiedserver" 05:47:28.278471 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:28.278669 =====> Closing passive DATA connection... 05:47:28.278688 Server disconnects passive DATA connection 05:47:28.278830 Server disconnected passive DATA connection 05:47:28.278856 DATA sockfilt for passive data channel quits (pid 134158) 05:47:28.279457 DATA sockfilt for passive data channel quit (pid 134158) 05:47:28.279486 =====> Closed passive DATA connection 05:47:28.279515 > "226 File transfer complete[CR][LF]" 05:47:28.329093 < "QUIT" 05:47:28.329149 > "221 bye bye baby[CR][LF]" 05:47:28.330333 MAIN sockfilt said DISC 05:47:28.330363 ====> Client disconnected 05:47:28.330471 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:27.730338 ====> Client connect 05:47:27.730633 Received DATA (on stdin) 05:47:27.730646 > 146 bytes data, server => client 05:47:27.730658 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:27.730668 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:27.730677 '220 \___|\___/|_| \_\_____|\r\n' 05:47:27.730770 < 16 bytes data, client => server 05:47:27.730782 'USER anonymous\r\n' 05:47:27.730932 Received DATA (on stdin) 05:47:27.730942 > 33 bytes data, server => client 05:47:27.730952 '331 We are happy you popped in!\r\n' 05:47:27.731000 < 22 bytes data, client => server 05:47:27.731010 'PASS ftp@example.com\r\n' 05:47:27.731100 Received DATA (on stdin) 05:47:27.731110 > 30 bytes data, server => client 05:47:27.731119 '230 Welcome you silly person\r\n' 05:47:27.731162 < 5 bytes data, client => server 05:47:27.731171 'PWD\r\n' 05:47:27.731260 Received DATA (on stdin) 05:47:27.731270 > 30 bytes data, server => client 05:47:27.731280 '257 "/" is current directory\r\n' 05:47:27.731332 < 6 bytes data, client => server 05:47:27.731341 'EPSV\r\n' 05:47:27.739086 Received DATA (on stdin) 05:47:27.739108 > 39 bytes data, server => client 05:47:27.739120 '229 Entering Passive Mode (|||43289|)\r\n' 05:47:27.739400 < 8 bytes data, client => server 05:47:27.739411 'TYPE I\r\n' 05:47:27.739544 Received DATA (on stdin) 05:47:27.739555 > 33 bytes data, server => client 05:47:27.739565 '200 I modify TYPE as you wanted\r\n' 05:47:27.739617 < 21 bytes data, client => server 05:47:27.739628 'SIZE verifiedserver\r\n' 05:47:27.739741 Received DATA (on stdin) 05:47:27.739752 > 8 bytes data, server => client 05:47:27.739762 '213 17\r\n' 05:47:27.739810 < 21 bytes data, client => server 05:47:27.739821 'RETR verifiedserver\r\n' 05:47:27.739933 Received DATA (on stdin) 05:47:27.739945 > 29 bytes data, server => client 05:47:27.739955 '150 Binary junk (17 bytes).\r\n' 05:47:27.740970 Received DATA (on stdin) 05:47:27.740981 > 28 bytes data, server => client 05:47:27.740990 '226 File transfer complete\r\n' 05:47:27.790337 < 6 bytes data, client => server 05:47:27.790380 'QUIT\r\n' 05:47:27.790607 Received DATA (on stdin) 05:47:27.790619 > 18 bytes data, server => client 05:47:27.790629 '221 bye bye baby\r\n' 05:47:27.791737 ====> Client disconnect 05:47:27.791926 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:28.737676 Running IPv4 version 05:47:28.737752 Listening on port 43289 05:47:28.737794 Wrote pid 134158 to log/6/server/ftp_sockdata.pid 05:47:28.737956 Received PING (on stdin) 05:47:28.738041 Received PORT (on stdin) 05:47:28.739291 ====> Client connect 05:47:28.739979 Received DATA (on stdin) 05:47:28.739991 > 17 bytes data, server => client 05:47:28.740146 'WE ROOLZ: 81206\r\n' 05:47:28.740175 Received DISC (on stdin) 05:47:28.740186 ====> Client forcibly disconnected 05:47:28.740328 Received QUIT (on stdin) 05:47:28.740339 quits 05:47:28.740430 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==134194== ==134194== Process terminating with default action of signal 4 (SIGILL) ==134194== Illegal opcode at address 0x4014883 ==134194== at 0x4014883: getparameter (tool_getparam.c:2899) ==134194== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134194== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134194== by 0x4004208: main (tool_main.c:189) === End of file valgrind1044 test 1053...[HTTP RFC1867-type formposting from file with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1053 ../src/curl -q --output log/11/curl1053.out --include --trace-ascii log/11/trace1053 --trace-time http://127.0.0.1:34551/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/11/test1053.txt > log/11/stdout1053 2> log/11/stderr1053 1053: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1053 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1053 ../src/curl -q --output log/11/curl1053.out --include --trace-ascii log/11/trace1053 --trace-time http://127.0.0.1:34551/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/11/test1053.txt > log/11/stdout1053 2> log/11/stderr1053 === End CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1047 ../src/curl -q --output log/19/curl1047.out --include --trace-ascii log/19/trace1047 --trace-time ftp://127.0.0.1:45453/ --interface 127.0.0.1 > log/19/stdout1047 2> log/19/stderr1047 of file commands.log === Start of file http_server.log 05:47:29.997185 ====> Client connect 05:47:29.997248 accept_connection 3 returned 4 05:47:29.997262 accept_connection 3 returned 0 05:47:29.997275 Read 93 bytes 05:47:29.997283 Process 93 bytes request 05:47:29.997296 Got request: GET /verifiedserver HTTP/1.1 05:47:29.997304 Are-we-friendly question received 05:47:29.997324 Wrote request (93 bytes) input to log/11/server.input 05:47:29.997338 Identifying ourselves as friends 05:47:29.997386 Response sent (56 bytes) and written to log/11/server.response 05:47:29.997394 special request received, no persistency 05:47:29.997401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 42662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file test1053.txt foo- This is a moo- bar === End of file test1053.txt === Start of file valgrind1053 ==134616== ==134616== Process terminating with default action of signal 4 (SIGILL) ==134616== Illegal opcode at address 0x4014883 ==134616== at 0x4014883: getparameter (tool_getparam.c:2899) ==134616== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134616== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134616== by 0x4004208: main (tool_main.c:189) === End of file valgrind1053 test 1051...[HTTP PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1051 ../src/curl -q --output log/24/curl1051.out --include --trace-ascii log/24/trace1051 --trace-time http://127.0.0.1:33593/want/1051 -L -T log/24/test1051.txt > log/24/stdout1051 2> log/24/stderr1051 1051: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1051 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1051 ../src/curl -q --output log/24/curl1051.out --include --trace-ascii log/24/trace1051 --trace-time http://127.0.0.1:33593/want/1051 -L -T log/24/test1051.txt > log/24/stdout1051 2> log/24/stderr1051 === End of file commands.log === Start of file http_server.log 05:47:29.783644 ====> Client connect 05:47:29.783685 accept_connection 3 returned 4 05:47:29.783701 accept_connection 3 returned 0 05:47:29.783844 Read 93 bytes 05:47:29.783859 Process 93 bytes request 05:47:29.783875 Got request: GET /verifiedserver HTTP/1.1 05:47:29.783885 Are-we-friendly question received 05:47:29.783913 Wrote request (93 bytes) input to log/24/server.input 05:47:29.783933 Identifying ourselves as friends 05:47:29.783997 Response sent (56 bytes) and written to log/24/server.response 05:47:29.784009 special request received, no persistency 05:47:29.784018 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 39120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file test1051.txt Weird file to upload for testing the PUT feature === End of file test1051.txt === Start of file valgrind1051 ==134507== ==134507== Process terminating with default action of signal 4 (SIGILL) ==134507== Illegal opcode at address 0x4014883 ==134507== at 0x4014883: getparameter (tool_getparam.c:2899) ==134507== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134507== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134507== by 0x4004208: main (tool_main.c:189) === End of file valgrind1051 test 1047...[FTP dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1047 ../src/curl -q --output log/19/curl1047.out --include --trace-ascii log/19/trace1047 --trace-time ftp://127.0.0.1:45453/ --interface 127.0.0.1 > log/19/stdout1047 2> log/19/stderr1047 1047: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1047 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1047 ../src/curl -q --output log/19/curl1047.out --include --trace-ascii log/19/trace1047 --trace-time ftp://127.0.0.1:45453/ --interface 127.0.0.1 > log/19/stdout1047 2> log/19/stderr1047 === End of file commands.log === Start of file ftp_server.log 05:47:28.666532 ====> Client connect 05:47:28.666717 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:28.667037 < "USER anonymous" 05:47:28.667082 > "331 We are happy you popped in![CR][LF]" 05:47:28.667280 < "PASS ftp@example.com" 05:47:28.667313 > "230 Welcome you silly person[CR][LF]" 05:47:28.667493 < "PWD" 05:47:28.667533 > "257 "/" is current directory[CR][LF]" 05:47:28.667730 < "EPSV" 05:47:28.667758 ====> Passive DATA channel requested by client 05:47:28.667775 DATA sockfilt for passive data channel starting... 05:47:28.681880 DATA sockfilt for passive data channel started (pid 134358) 05:47:28.682330 DATA sockfilt for passive data channel listens on port 41081 05:47:28.682396 > "229 Entering Passive Mode (|||41081|)[CR][LF]" 05:47:28.682417 Client has been notified that DATA conn will be accepted on port 41081 05:47:28.682749 Client connects to port 41081 05:47:28.682779 ====> Client established passive DATA connection on port 41081 05:47:28.682873 < "TYPE I" 05:47:28.682903 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:28.683055 < "SIZE verifiedserver" 05:47:28.683094 > "213 17[CR][LF]" 05:47:28.683236 < "RETR verifiedserver" 05:47:28.683269 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:28.683367 =====> Closing passive DATA connection... 05:47:28.683384 Server disconnects passive DATA connection 05:47:28.683533 Server disconnected passive DATA connection 05:47:28.683553 DATA sockfilt for passive data channel quits (pid 134358) 05:47:28.683855 DATA sockfilt for passive data channel quit (pid 134358) 05:47:28.683878 =====> Closed passive DATA connection 05:47:28.683905 > "226 File transfer complete[CR][LF]" 05:47:28.735756 < "QUIT" 05:47:28.735812 > "221 bye bye baby[CR][LF]" 05:47:28.737492 MAIN sockfilt said DISC 05:47:28.737527 ====> Client disconnected 05:47:28.737607 Awaiting input === End of file ftp_server.logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1054 ../src/curl -q --output log/15/curl1054.out --include --trace-ascii log/15/trace1054 --trace-time http://127.0.0.1:43413/blah/1054 -L -d @log/15/test1054.txt --post301 > log/15/stdout1054 2> log/15/stderr1054 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:35211/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 === Start of file ftp_sockctrl.log 05:47:28.127856 ====> Client connect 05:47:28.128192 Received DATA (on stdin) 05:47:28.128209 > 146 bytes data, server => client 05:47:28.128222 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:28.128233 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:28.128243 '220 \___|\___/|_| \_\_____|\r\n' 05:47:28.128327 < 16 bytes data, client => server 05:47:28.128344 'USER anonymous\r\n' 05:47:28.128549 Received DATA (on stdin) 05:47:28.128563 > 33 bytes data, server => client 05:47:28.128573 '331 We are happy you popped in!\r\n' 05:47:28.128632 < 22 bytes data, client => server 05:47:28.128648 'PASS ftp@example.com\r\n' 05:47:28.128774 Received DATA (on stdin) 05:47:28.128786 > 30 bytes data, server => client 05:47:28.128797 '230 Welcome you silly person\r\n' 05:47:28.128851 < 5 bytes data, client => server 05:47:28.128866 'PWD\r\n' 05:47:28.128994 Received DATA (on stdin) 05:47:28.129007 > 30 bytes data, server => client 05:47:28.129018 '257 "/" is current directory\r\n' 05:47:28.129088 < 6 bytes data, client => server 05:47:28.129104 'EPSV\r\n' 05:47:28.143885 Received DATA (on stdin) 05:47:28.143904 > 39 bytes data, server => client 05:47:28.143916 '229 Entering Passive Mode (|||41081|)\r\n' 05:47:28.144128 < 8 bytes data, client => server 05:47:28.144141 'TYPE I\r\n' 05:47:28.144361 Received DATA (on stdin) 05:47:28.144372 > 33 bytes data, server => client 05:47:28.144382 '200 I modify TYPE as you wanted\r\n' 05:47:28.144431 < 21 bytes data, client => server 05:47:28.144441 'SIZE verifiedserver\r\n' 05:47:28.144547 Received DATA (on stdin) 05:47:28.144557 > 8 bytes data, server => client 05:47:28.144566 '213 17\r\n' 05:47:28.144612 < 21 bytes data, client => server 05:47:28.144622 'RETR verifiedserver\r\n' 05:47:28.144840 Received DATA (on stdin) 05:47:28.144851 > 29 bytes data, server => client 05:47:28.144861 '150 Binary junk (17 bytes).\r\n' 05:47:28.145361 Received DATA (on stdin) 05:47:28.145372 > 28 bytes data, server => client 05:47:28.145383 '226 File transfer complete\r\n' 05:47:28.196999 < 6 bytes data, client => server 05:47:28.197041 'QUIT\r\n' 05:47:28.197273 Received DATA (on stdin) 05:47:28.197285 > 18 bytes data, server => client 05:47:28.197296 '221 bye bye baby\r\n' 05:47:28.198393 ====> Client disconnect 05:47:28.199064 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:28.131412 Running IPv4 version 05:47:28.131478 Listening on port 41081 05:47:28.131519 Wrote pid 134358 to log/19/server/ftp_sockdata.pid 05:47:28.140330 Received PING (on stdin) 05:47:28.143657 Received PORT (on stdin) 05:47:28.144160 ====> Client connect 05:47:28.144884 Received DATA (on stdin) 05:47:28.144896 > 17 bytes data, server => client 05:47:28.144906 'WE ROOLZ: 81129\r\n' 05:47:28.144928 Received DISC (on stdin) 05:47:28.144939 ====> Client forcibly disconnected 05:47:28.145013 Received QUIT (on stdin) 05:47:28.145023 quits 05:47:28.145126 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==134391== ==134391== Process terminating with default action of signal 4 (SIGILL) ==134391== Illegal opcode at address 0x4014883 ==134391== at 0x4014883: getparameter (tool_getparam.c:2899) ==134391== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134391== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134391== by 0x4004208: main (tool_main.c:189) === End of file valgrind1047 test 1054...[HTTP POST from file with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1054 ../src/curl -q --output log/15/curl1054.out --include --trace-ascii log/15/trace1054 --trace-time http://127.0.0.1:43413/blah/1054 -L -d @log/15/test1054.txt --post301 > log/15/stdout1054 2> log/15/stderr1054 1054: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1054 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1054 ../src/curl -q --output log/15/curl1054.out --include --trace-ascii log/15/trace1054 --trace-time http://127.0.0.1:43413/blah/1054 -L -d @log/15/test1054.txt --post301 > log/15/stdout1054 2> log/15/stderr1054 === End of file commands.log === Start of file http_server.log 05:47:29.980420 ====> Client connect 05:47:29.980472 accept_connection 3 returned 4 05:47:29.980493 accept_connection 3 returned 0 05:47:29.980509 Read 93 bytes 05:47:29.980519 Process 93 bytes request 05:47:29.980534 Got request: GET /verifiedserver HTTP/1.1 05:47:29.980544 Are-we-friendly question received 05:47:29.980572 Wrote request (93 bytes) input to log/15/server.input 05:47:29.980589 Identifying ourselves as friends 05:47:29.980670 Response sent (56 bytes) and written to log/15/server.response 05:47:29.980681 special request received, no persistency 05:47:29.980690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 60462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==134603== ==134603== Process terminating with default action of signal 4 (SIGILL) ==134603== Illegal opcode at address 0x4014883 ==134603== at 0x4014883: getparameter (tool_getparam.c:2899) ==134603== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134603== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134603== by 0x4004208: main (tool_main.c:189) === End of file valgrind1054 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_ipv6_server.pid" --logfile "log/10/http_ipv6_server.log" --logdir "log/10" --portfile log/10/server/http_ipv6_server.port --config log/10/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 134320 port 35211 * pid http-ipv6 => 134320 134320 test 1046...[HTTP-IPv6 GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:35211/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 1046: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1046 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:35211/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 === End of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1048 ../src/curl -q --output log/23/curl1048.out --include --trace-ascii log/23/trace1048 --trace-time -g "ftp://[::1]:41621/" --interface ::1 > log/23/stdout1048 2> log/23/stderr1048 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1050 ../src/curl -q --output log/1/curl1050.out --include --trace-ascii log/1/trace1050 --trace-time -g "ftp://[::1]:43741/" -P ::1 > log/1/stdout1050 2> log/1/stderr1050 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1057 ../src/curl -q --output log/5/curl1057.out --include --trace-ascii log/5/trace1057 --trace-time -r -12 ftp://127.0.0.1:39947/1057 > log/5/stdout1057 2> log/5/stderr1057 ile commands.log === Start of file http_ipv6_server.log 05:47:28.059214 Running HTTP IPv6 version on port 35211 05:47:28.059363 Wrote pid 134320 to log/10/server/http_ipv6_server.pid 05:47:28.059398 Wrote port 35211 to log/10/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1046 === End of file server.cmd === Start of file valgrind1046 ==134639== ==134639== Process terminating with default action of signal 4 (SIGILL) ==134639== Illegal opcode at address 0x4014883 ==134639== at 0x4014883: getparameter (tool_getparam.c:2899) ==134639== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134639== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134639== by 0x4004208: main (tool_main.c:189) === End of file valgrind1046 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_ipv6_server.pid" --logfile "log/23/ftp_ipv6_server.log" --logdir "log/23" --portfile "log/23/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 41621 (log/23/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 134443 port 41621 * pid ftp-ipv6 => 134443 134443 test 1048...[FTP-IPv6 dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1048 ../src/curl -q --output log/23/curl1048.out --include --trace-ascii log/23/trace1048 --trace-time -g "ftp://[::1]:41621/" --interface ::1 > log/23/stdout1048 2> log/23/stderr1048 1048: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1048 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1048 ../src/curl -q --output log/23/curl1048.out --include --trace-ascii log/23/trace1048 --trace-time -g "ftp://[::1]:41621/" --interface ::1 > log/23/stdout1048 2> log/23/stderr1048 === End of file commands.log === Start of file ftp_ipv6_server.log 05:47:29.060781 FTP server listens on port IPv6/41621 05:47:29.060915 logged pid 134443 in log/23/server/ftp_ipv6_server.pid 05:47:29.060955 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 05:47:29.521709 Running IPv6 version 05:47:29.521840 Listening on port 41621 05:47:29.521890 Wrote pid 134467 to log/23/server/ftp_ipv6_sockctrl.pid 05:47:29.521923 Wrote port 41621 to log/23/server/ftp_ipv6_server.port 05:47:29.522117 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1048 === End of file server.cmd === Start of file valgrind1048 ==134966== ==134966== Process terminating with default action of signal 4 (SIGILL) ==134966== Illegal opcode at address 0x4014883 ==134966== at 0x4014883: getparameter (tool_getparam.c:2899) ==134966== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134966== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134966== by 0x4004208: main (tool_main.c:189) === End of file valgrind1048 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_ipv6_server.pid" --logfile "log/1/ftp_ipv6_server.log" --logdir "log/1" --portfile "log/1/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 43741 (log/1/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 134476 port 43741 * pid ftp-ipv6 => 134476 134476 test 1050...[FTP-IPv6 dir list, EPRT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1050 ../src/curl -q --output log/1/curl1050.out --include --trace-ascii log/1/trace1050 --trace-time -g "ftp://[::1]:43741/" -P ::1 > log/1/stdout1050 2> log/1/stderr1050 1050: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1050 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1050 ../src/curl -q --output log/1/curl1050.out --include --trace-ascii log/1/trace1050 --trace-time -g "ftp://[::1]:43741/" -P ::1 > log/1/stdout1050 2> log/1/stderr1050 === End of file commands.log === Start of file ftp_ipv6_server.log 05:47:29.285342 FTP server listens on port IPv6/43741 05:47:29.285477 logged pid 134476 in log/1/server/ftp_ipv6_server.pid 05:47:29.285510 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 05:47:29.741425 Running IPv6 version 05:47:29.741512 Listening on port 43741 05:47:29.741552 Wrote pid 134496 to log/1/server/ftp_ipv6_sockctrl.pid 05:47:29.741579 Wrote port 43741 to log/1/server/ftp_ipv6_server.port 05:47:29.746661 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1050 === End of file server.cmd === Start of file valgrind1050 ==135206== ==135206== Process terminating with default action of signal 4 (SIGILL) ==135206== Illegal opcode at address 0x4014883 ==135206== at 0x4014883: getparameter (tool_getparam.c:2899) ==135206== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135206== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135206== by 0x4004208: main (tool_main.c:189) === End of file valgrind1050 test 1057...[FTP retrieve a byte-range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1057 ../src/curl -q --output log/5/curl1057.out --include --trace-ascii log/5/trace1057 --trace-time -r -12 ftp://127.0.0.1:39947/1057 > log/5/stdout1057 2> log/5/stderr1057 1057: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1057 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1057 ../src/curl -q --output log/5/curl1057.out --include --trace-ascii log/5/trace1057 --trace-time -r -12 ftp://127.0.0.1:39947/1057 > log/5/stdout1057 2> log/5/stderr1057 === End of file commands.log === Start of file ftp_server.log 05:47:29.727179 ====> Client connect 05:47:29.727355 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:29.727652 < "USER anonymous" 05:47:29.727692 > "331 We are happy you popped in![CR][LF]" 05:47:29.727873 < "PASS ftp@example.com" 05:47:29.727903 > "230 Welcome you silly person[CR][LF]" 05:47:29.728066 < "PWD" 05:47:29.728103 > "257 "/" is current directory[CR][LF]" 05:47:29.728276 < "EPSV" 05:47:29.728302 ====> Passive DATA channel requested by client 05:47:29.728316 DATA sockfilt for passive data channel starting... 05:47:29.731215 DATA sockfilt for passive data channel started (pid 134829) 05:47:29.731330 DATA sockfilt for passive data channel listens on port 36857 05:47:29.731370 > "229 Entering Passive Mode (|||36857|)[CR][LF]" 05:47:29.731389 Client has been notified that DATA conn will be accepted on port 36857 05:47:29.732380 Client connects to port 36857 05:47:29.732412 ====> Client established passive DATA connection on port 36857 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1060 ../src/curl -q --output log/8/curl1060.out --include --trace-ascii log/8/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:45623 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1060 2> log/8/stderr1060 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1052 ../src/curl -q --output log/13/curl1052.out --include --trace-ascii log/13/trace1052 --trace-time http://127.0.0.1:45359/want/1052 -0 -L -T log/13/test1052.txt > log/13/stdout1052 2> log/13/stderr1052 05:47:29.732487 < "TYPE I" 05:47:29.732519 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:29.732690 < "SIZE verifiedserver" 05:47:29.732737 > "213 17[CR][LF]" 05:47:29.732899 < "RETR verifiedserver" 05:47:29.732934 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:29.733028 =====> Closing passive DATA connection... 05:47:29.733050 Server disconnects passive DATA connection 05:47:29.733275 Server disconnected passive DATA connection 05:47:29.733304 DATA sockfilt for passive data channel quits (pid 134829) 05:47:29.733520 DATA sockfilt for passive data channel quit (pid 134829) 05:47:29.733548 =====> Closed passive DATA connection 05:47:29.733575 > "226 File transfer complete[CR][LF]" 05:47:29.783464 < "QUIT" 05:47:29.783523 > "221 bye bye baby[CR][LF]" 05:47:29.784623 MAIN sockfilt said DISC 05:47:29.784655 ====> Client disconnected 05:47:29.784745 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:30.188478 ====> Client connect 05:47:30.188827 Received DATA (on stdin) 05:47:30.188843 > 146 bytes data, server => client 05:47:30.188855 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:30.188866 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:30.188876 '220 \___|\___/|_| \_\_____|\r\n' 05:47:30.188953 < 16 bytes data, client => server 05:47:30.188966 'USER anonymous\r\n' 05:47:30.189153 Received DATA (on stdin) 05:47:30.189167 > 33 bytes data, server => client 05:47:30.189178 '331 We are happy you popped in!\r\n' 05:47:30.189233 < 22 bytes data, client => server 05:47:30.189247 'PASS ftp@example.com\r\n' 05:47:30.189359 Received DATA (on stdin) 05:47:30.189371 > 30 bytes data, server => client 05:47:30.189382 '230 Welcome you silly person\r\n' 05:47:30.189432 < 5 bytes data, client => server 05:47:30.189444 'PWD\r\n' 05:47:30.189559 Received DATA (on stdin) 05:47:30.189571 > 30 bytes data, server => client 05:47:30.189581 '257 "/" is current directory\r\n' 05:47:30.189641 < 6 bytes data, client => server 05:47:30.189653 'EPSV\r\n' 05:47:30.192847 Received DATA (on stdin) 05:47:30.192861 > 39 bytes data, server => client 05:47:30.192872 '229 Entering Passive Mode (|||36857|)\r\n' 05:47:30.193747 < 8 bytes data, client => server 05:47:30.193766 'TYPE I\r\n' 05:47:30.193974 Received DATA (on stdin) 05:47:30.193986 > 33 bytes data, server => client 05:47:30.193997 '200 I modify TYPE as you wanted\r\n' 05:47:30.194053 < 21 bytes data, client => server 05:47:30.194066 'SIZE verifiedserver\r\n' 05:47:30.194195 Received DATA (on stdin) 05:47:30.194207 > 8 bytes data, server => client 05:47:30.194217 '213 17\r\n' 05:47:30.194267 < 21 bytes data, client => server 05:47:30.194279 'RETR verifiedserver\r\n' 05:47:30.194508 Received DATA (on stdin) 05:47:30.194520 > 29 bytes data, server => client 05:47:30.194531 '150 Binary junk (17 bytes).\r\n' 05:47:30.195034 Received DATA (on stdin) 05:47:30.195047 > 28 bytes data, server => client 05:47:30.195058 '226 File transfer complete\r\n' 05:47:30.244718 < 6 bytes data, client => server 05:47:30.244754 'QUIT\r\n' 05:47:30.244983 Received DATA (on stdin) 05:47:30.244995 > 18 bytes data, server => client 05:47:30.245005 '221 bye bye baby\r\n' 05:47:30.246027 ====> Client disconnect 05:47:30.246198 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:29.192192 Running IPv4 version 05:47:29.192249 Listening on port 36857 05:47:29.192284 Wrote pid 134829 to log/5/server/ftp_sockdata.pid 05:47:29.192610 Received PING (on stdin) 05:47:29.192698 Received PORT (on stdin) 05:47:29.193788 ====> Client connect 05:47:29.194558 Received DATA (on stdin) 05:47:29.194570 > 17 bytes data, server => client 05:47:29.194580 'WE ROOLZ: 81382\r\n' 05:47:29.194604 Received DISC (on stdin) 05:47:29.194615 ====> Client forcibly disconnected 05:47:29.194767 Received QUIT (on stdin) 05:47:29.194778 quits 05:47:29.194834 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==134876== ==134876== Process terminating with default action of signal 4 (SIGILL) ==134876== Illegal opcode at address 0x4014883 ==134876== at 0x4014883: getparameter (tool_getparam.c:2899) ==134876== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134876== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134876== by 0x4004208: main (tool_main.c:189) === End of file valgrind1057 test 1060...[HTTP proxy CONNECT auth Digest, large headers and data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1060 ../src/curl -q --output log/8/curl1060.out --include --trace-ascii log/8/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:45623 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1060 2> log/8/stderr1060 1060: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1060 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1060 ../src/curl -q --output log/8/curl1060.out --include --trace-ascii log/8/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:45623 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1060 2> log/8/stderr1060 === End of file commands.log === Start of file http_server.log 05:47:29.693060 ====> Client connect 05:47:29.693091 accept_connection 3 returned 4 05:47:29.693105 accept_connection 3 returned 0 05:47:29.693119 Read 93 bytes 05:47:29.693129 Process 93 bytes request 05:47:29.693141 Got request: GET /verifiedserver HTTP/1.1 05:47:29.693150 Are-we-friendly question received 05:47:29.693173 Wrote request (93 bytes) input to log/8/server.input 05:47:29.693189 Identifying ourselves as friends 05:47:29.693240 Response sent (56 bytes) and written to log/8/server.response 05:47:29.693249 special request received, no persistency 05:47:29.693257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1060 ==135268== ==135268== Process terminating with default action of signal 4 (SIGILL) ==135268== Illegal opcode at address 0x4014883 ==135268== at 0x4014883: getparameter (tool_getparam.c:2899) ==135268== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135268== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135268== by 0x4004208: main (tool_main.c:189) === End of file valgrind1060 test 1052...[HTTP 1.0 PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1052 ../src/curl -q --output log/13/curl1052.out --include --trace-ascii log/13/trace1052 --trace-time http://127.0.0.1:45359/want/1052 -0 -L -T log/13/test1052.txt > log/13/stdout1052 2> log/13/stderr1052 1052: protocol FAILED! There was no content at all in the CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1058 ../src/curl -q --output log/18/curl1058.out --include --trace-ascii log/18/trace1058 --trace-time http://127.0.0.1:39913/want/1058 -r -101 > log/18/stdout1058 2> log/18/stderr1058 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1059 ../src/curl -q --output log/7/curl1059.out --include --trace-ascii log/7/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:39013 > log/7/stdout1059 2> log/7/stderr1059 file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1052 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1052 ../src/curl -q --output log/13/curl1052.out --include --trace-ascii log/13/trace1052 --trace-time http://127.0.0.1:45359/want/1052 -0 -L -T log/13/test1052.txt > log/13/stdout1052 2> log/13/stderr1052 === End of file commands.log === Start of file http_server.log 05:47:29.968705 ====> Client connect 05:47:29.968751 accept_connection 3 returned 4 05:47:29.968767 accept_connection 3 returned 0 05:47:29.968782 Read 93 bytes 05:47:29.968791 Process 93 bytes request 05:47:29.968803 Got request: GET /verifiedserver HTTP/1.1 05:47:29.968813 Are-we-friendly question received 05:47:29.968836 Wrote request (93 bytes) input to log/13/server.input 05:47:29.968854 Identifying ourselves as friends 05:47:29.968912 Response sent (56 bytes) and written to log/13/server.response 05:47:29.968922 special request received, no persistency 05:47:29.968931 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 44488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file test1052.txt Weird file to upload for testing the PUT feature === End of file test1052.txt === Start of file valgrind1052 ==134607== ==134607== Process terminating with default action of signal 4 (SIGILL) ==134607== Illegal opcode at address 0x4014883 ==134607== at 0x4014883: getparameter (tool_getparam.c:2899) ==134607== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134607== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134607== by 0x4004208: main (tool_main.c:189) === End of file valgrind1052 test 1058...[HTTP range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1058 ../src/curl -q --output log/18/curl1058.out --include --trace-ascii log/18/trace1058 --trace-time http://127.0.0.1:39913/want/1058 -r -101 > log/18/stdout1058 2> log/18/stderr1058 1058: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1058 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1058 ../src/curl -q --output log/18/curl1058.out --include --trace-ascii log/18/trace1058 --trace-time http://127.0.0.1:39913/want/1058 -r -101 > log/18/stdout1058 2> log/18/stderr1058 === End of file commands.log === Start of file http_server.log 05:47:29.492875 ====> Client connect 05:47:29.492910 accept_connection 3 returned 4 05:47:29.492925 accept_connection 3 returned 0 05:47:29.492940 Read 93 bytes 05:47:29.492949 Process 93 bytes request 05:47:29.492963 Got request: GET /verifiedserver HTTP/1.1 05:47:29.492972 Are-we-friendly question received 05:47:29.492996 Wrote request (93 bytes) input to log/18/server.input 05:47:29.493012 Identifying ourselves as friends 05:47:29.493065 Response sent (56 bytes) and written to log/18/server.response 05:47:29.493074 special request received, no persistency 05:47:29.493082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1058 ==135013== ==135013== Process terminating with default action of signal 4 (SIGILL) ==135013== Illegal opcode at address 0x4014883 ==135013== at 0x4014883: getparameter (tool_getparam.c:2899) ==135013== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135013== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135013== by 0x4004208: main (tool_main.c:189) === End of file valgrind1058 test 1059...[HTTP CONNECT with proxytunnel to unsupported FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1059 ../src/curl -q --output log/7/curl1059.out --include --trace-ascii log/7/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:39013 > log/7/stdout1059 2> log/7/stderr1059 1059: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1059 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1059 ../src/curl -q --output log/7/curl1059.out --include --trace-ascii log/7/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:39013 > log/7/stdout1059 2> log/7/stderr1059 === End of file commands.log === Start of file http_server.log 05:47:29.504917 ====> Client connect 05:47:29.504989 accept_connection 3 returned 4 05:47:29.505007 accept_connection 3 returned 0 05:47:29.505022 Read 93 bytes 05:47:29.505030 Process 93 bytes request 05:47:29.505043 Got request: GET /verifiedserver HTTP/1.1 05:47:29.505052 Are-we-friendly question received 05:47:29.505078 Wrote request (93 bytes) input to log/7/server.input 05:47:29.505094 Identifying ourselves as friends 05:47:29.505150 Response sent (56 bytes) and written to log/7/server.response 05:47:29.505158 special request received, no persistency 05:47:29.505165 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1059 ==135028== ==135028== Process terminating with default action of signal 4 (SIGILL) ==135028== Illegal opcode at address 0x4014883 ==135028== at 0x4014CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1065 ../src/curl -q --include --trace-ascii log/20/trace1065 --trace-time -H "Expect:" -T log/20/1065 http://127.0.0.1:38929/1065.upload1 http://127.0.0.1:38929/10650002.url2 > log/20/stdout1065 2> log/20/stderr1065 883: getparameter (tool_getparam.c:2899) ==135028== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135028== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135028== by 0x4004208: main (tool_main.c:189) === End of file valgrind1059 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1066 ../src/curl -q --include --trace-ascii log/22/trace1066 --trace-time http://127.0.0.1:41477/want/1066 http://127.0.0.1:41477/want/10660001 --dump-header - > log/22/stdout1066 2> log/22/stderr1066 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1061 ../src/curl -q --output log/21/curl1061.out --include --trace-ascii log/21/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:42891 --proxy-user silly:person --proxy-digest --proxytunnel > log/21/stdout1061 2> log/21/stderr1061 test 1065...[HTTP PUT with one file but two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1065 ../src/curl -q --include --trace-ascii log/20/trace1065 --trace-time -H "Expect:" -T log/20/1065 http://127.0.0.1:38929/1065.upload1 http://127.0.0.1:38929/10650002.url2 > log/20/stdout1065 2> log/20/stderr1065 1065: stdout FAILED: --- log/20/check-expected 2026-03-14 05:47:32.504615999 +0000 +++ log/20/check-generated 2026-03-14 05:47:32.504615999 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/20/ directory after test 1065 === Start of file 1065 test === End of file 1065 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1065 ../src/curl -q --include --trace-ascii log/20/trace1065 --trace-time -H "Expect:" -T log/20/1065 http://127.0.0.1:38929/1065.upload1 http://127.0.0.1:38929/10650002.url2 > log/20/stdout1065 2> log/20/stderr1065 === End of file commands.log === Start of file http_server.log 05:47:29.891616 ====> Client connect 05:47:29.891658 accept_connection 3 returned 4 05:47:29.891676 accept_connection 3 returned 0 05:47:29.891693 Read 93 bytes 05:47:29.891703 Process 93 bytes request 05:47:29.891717 Got request: GET /verifiedserver HTTP/1.1 05:47:29.891726 Are-we-friendly question received 05:47:29.891753 Wrote request (93 bytes) input to log/20/server.input 05:47:29.891771 Identifying ourselves as friends 05:47:29.891851 Response sent (56 bytes) and written to log/20/server.response 05:47:29.891861 special request received, no persistency 05:47:29.891870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 40960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1065 ==135511== ==135511== Process terminating with default action of signal 4 (SIGILL) ==135511== Illegal opcode at address 0x4014883 ==135511== at 0x4014883: getparameter (tool_getparam.c:2899) ==135511== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135511== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135511== by 0x4004208: main (tool_main.c:189) === End of file valgrind1065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1067 ../src/curl -q --output log/16/curl1067.out --include --trace-ascii log/16/trace1067 --trace-time http://127.0.0.1:44673/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/16/stdout1067 2> log/16/stderr1067 test 1066...[HTTP --dump-header - with two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1066 ../src/curl -q --include --trace-ascii log/22/trace1066 --trace-time http://127.0.0.1:41477/want/1066 http://127.0.0.1:41477/want/10660001 --dump-header - > log/22/stdout1066 2> log/22/stderr1066 1066: stdout FAILED: --- log/22/check-expected 2026-03-14 05:47:32.524615999 +0000 +++ log/22/check-generated 2026-03-14 05:47:32.524615999 +0000 @@ -1,22 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 6[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -[CR][LF] -first[LF] -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 7[CR][LF] -Content-Length: 7[CR][LF] -[CR][LF] -[CR][LF] -second[LF] == Contents of files in the log/22/ directory after test 1066 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 6[CR][LF] Content-Length: 6[CR][LF] [CR][LF] [CR][LF] first[LF] HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 7[CR][LF] Content-Length: 7[CR][LF] [CR][LF] [CR][LF] second[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1066 ../src/curl -q --include --trace-ascii log/22/trace1066 --trace-time http://127.0.0.1:41477/want/1066 http://127.0.0.1:41477/want/10660001 --dump-header - > log/22/stdout1066 2> log/22/stderr1066 === End of file commands.log === Start of file http_server.log 05:47:30.882466 ====> Client connect 05:47:30.882499 accept_connection 3 returned 4 05:47:30.882515 accept_connection 3 returned 0 05:47:30.882529 Read 93 bytes 05:47:30.882539 Process 93 bytes request 05:47:30.882553 Got request: GET /verifiedserver HTTP/1.1 05:47:30.882562 Are-we-friendly question received 05:47:30.882586 Wrote request (93 bytes) input to log/22/server.input 05:47:30.882602 Identifying ourselves as friends 05:47:30.882655 Response sent (56 bytes) and written to log/22/server.response 05:47:30.882665 special request received, no persistency 05:47:30.882673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 34710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1066 ==135526== ==135526== Process terminating with default action of signal 4 (SIGILL) ==135526== Illegal opcode at address 0x4014883 ==135526== at 0x4014883: getparameter (tool_getparam.c:2899) ==135526== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135526== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135526== by 0x4004208: main (tool_main.c:189) === End of file valgrind1066 test 1061...[HTTP proxy CONNECT auth Digest, large headers and chunked data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1061 ../src/curl -q --output log/21/curl1061.out --include --trace-ascii log/21/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:42891 --proxy-user silly:person --proxy-digest --proxytunnel > log/21/stdout1061 2> log/21/stderr1061 1061: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1061 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1061 ../src/curl -q --output log/21/curl1061.out --include --trace-ascii log/21/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:42891 --proxy-user silly:person --proxy-digest --proxytunnel > log/21/stdout1061 2> log/21/stderr1061 === End of file commands.log === Start of file http_server.log 05:47:29.711434 ====> Client connect 05:47:29.711473 accept_connection 3 returned 4 05:47:29.711490 accept_connection 3 returned 0 05:47:29.711506 Read 93 bytes 05:47:29.711515 Process 93 bytes request 05:47:29.711528 Got request: GET /verifiedserver HTTP/1.1 05:47:29.711538 Are-we-friendly question received 05:47:29.711574 Wrote request (93 bytes) input to log/21/server.input 05:47:29.711591 Identifying ourselves as friends 05:47:29.711656 Response sent (56 bytes) and written to log/21/server.response 05:47:29.711666 special request received, no persistency 05:47:29.711674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 32834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1061 ==135297== ==135297== Process terminating with default action of signal 4 (SIGILL) ==135297== Illegal opcode at address 0x4014883 ==135297== at 0x4014883: getparameter (tool_getparam.c:2899) ==135297== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135297== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135297== by 0x4004208: main (tool_main.c:189) === End of file valgrind1061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1064 ../src/curl -q --include --trace-ascii log/17/trace1064 --trace-time -H "Expect:" -T log/17/1064 http://127.0.0.1:41505/1064.upload1 -T log/17/1064 http://127.0.0.1:41505/10640002.upload2 > log/17/stdout1064 2> log/17/stderr1064 test 1067...[HTTP Location: following with auto-referer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1067 ../src/curl -q --output log/16/curl1067.out --include --trace-ascii log/16/trace1067 --trace-time http://127.0.0.1:44673/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/16/stdout1067 2> log/16/stderr1067 1067: stderr FAILED: --- log/16/check-expected 2026-03-14 05:47:32.597949332 +0000 +++ log/16/check-generated 2026-03-14 05:47:32.597949332 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:44673/want/1067| == Contents of files in the log/16/ directory after test 1067 === Start of file check-expected |http://127.0.0.1:44673/want/1067| === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1067 ../src/curl -q --output log/16/curl1067.out --include --trace-ascii log/16/trace1067 --trace-time http://127.0.0.1:44673/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/16/stdout1067 2> log/16/stderr1067 === End of file commands.log === Start of file http_server.log 05:47:30.913590 ====> Client connect 05:47:30.913624 accept_connection 3 returned 4 05:47:30.913648 accept_connection 3 returned 0 05:47:30.913664 Read 93 bytes 05:47:30.913674 Process 93 bytes request 05:47:30.913687 Got request: GET /verifiedserver HTTP/1.1 05:47:30.913697 Are-we-friendly question received 05:47:30.913722 Wrote request (93 bytes) input to log/16/server.input 05:47:30.913740 Identifying ourselves as friends 05:47:30.913802 Response sent (56 bytes) and written to log/16/server.response 05:47:30.913812 special request received, no persistency 05:47:30.913821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 38260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1067 ==135541== ==135541== Process terminating with default action of signal 4 (SIGILL) ==135541== Illegal opcode at address 0x4014883 ==135541== at 0x4014883: getparameter (tool_getparam.c:2899) ==135541== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135541== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135541== by 0x4004208: main (tool_main.c:189) === End of file valgrind1067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1049 ../src/curl -q --output log/14/curl1049.out --include --trace-ascii log/14/trace1049 --trace-time tftp://127.0.0.1:54732//1049 --interface 127.0.0.1 > log/14/stdout1049 2> log/14/stderr1049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1063 ../src/curl -q --output log/12/curl1063.out --include --trace-ascii log/12/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/12/test1063.txt > log/12/stdout1063 2> log/12/stderr1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1055 ../src/curl -q --output log/9/curl1055.out --include --trace-ascii log/9/trace1055 --trace-time http://127.0.0.1:33885/1055 -L -T log/9/test1055.txt > log/9/stdout1055 2> log/9/stderr1055 test 1064...[HTTP PUT twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1064 ../src/curl -q --include --trace-ascii log/17/trace1064 --trace-time -H "Expect:" -T log/17/1064 http://127.0.0.1:41505/1064.upload1 -T log/17/1064 http://127.0.0.1:41505/10640002.upload2 > log/17/stdout1064 2> log/17/stderr1064 1064: stdout FAILED: --- log/17/check-expected 2026-03-14 05:47:32.657949332 +0000 +++ log/17/check-generated 2026-03-14 05:47:32.657949332 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/17/ directory after test 1064 === Start of file 1064 test === End of file 1064 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1064 ../src/curl -q --include --trace-ascii log/17/trace1064 --trace-time -H "Expect:" -T log/17/1064 http://127.0.0.1:41505/1064.upload1 -T log/17/1064 http://127.0.0.1:41505/10640002.upload2 > log/17/stdout1064 2> log/17/stderr1064 === End of file commands.log === Start of file http_server.log 05:47:30.834820 ====> Client connect 05:47:30.834849 accept_connection 3 returned 4 05:47:30.834865 accept_connection 3 returned 0 05:47:30.834879 Read 93 bytes 05:47:30.834888 Process 93 bytes request 05:47:30.834901 Got request: GET /verifiedserver HTTP/1.1 05:47:30.834910 Are-we-friendly question received 05:47:30.834931 Wrote request (93 bytes) input to log/17/server.input 05:47:30.834946 Identifying ourselves as friends 05:47:30.835027 Response sent (56 bytes) and written to log/17/server.response 05:47:30.835036 special request received, no persistency 05:47:30.835044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 36750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 1064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind1064 ==135489== ==135489== Process terminating with default action of signal 4 (SIGILL) ==135489== Illegal opcode at address 0x4014883 ==135489== at 0x4014883: getparameter (tool_getparam.c:2899) ==135489== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135489== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135489== by 0x4004208: main (tool_main.c:189) === End of file valgrind1064 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/14/server/tftp_server.pid" --portfile "log/14/server/tftp_server.port" --logfile "log/14/tftp_server.log" --logdir "log/14" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 134465 port 54732 * pid tftp => 134465 134465 test 1049...[TFTP retrieve with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1049 ../src/curl -q --output log/14/curl1049.out --include --trace-ascii log/14/trace1049 --trace-time tftp://127.0.0.1:54732//1049 --interface 127.0.0.1 > log/14/stdout1049 2> log/14/stderr1049 1049: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1049 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1049 ../src/curl -q --output log/14/curl1049.out --include --trace-ascii log/14/trace1049 --trace-time tftp://127.0.0.1:54732//1049 --interface 127.0.0.1 > log/14/stdout1049 2> log/14/stderr1049 === End of file commands.log === Start of file server.cmd Testnum 1049 === End of file server.cmd === Start of file tftp_server.log 05:47:29.540105 Wrote pid 134465 to log/14/server/tftp_server.pid 05:47:29.543664 Wrote port 54732 to log/14/server/tftp_server.port 05:47:29.543687 Running IPv4 version on port UDP/54732 === End of file tftp_server.log === Start of file valgrind1049 ==135042== ==135042== Process terminating with default action of signal 4 (SIGILL) ==135042== Illegal opcode at address 0x4014883 ==135042== at 0x4014883: getparameter (tool_getparam.c:2899) ==135042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135042== by 0x4004208: main (tool_main.c:189) === End of file valgrind1049 test 1063...[Invalid large X- range on a file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1063 ../src/curl -q --output log/12/curl1063.out --include --trace-ascii log/12/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/12/test1063.txt > log/12/stdout1063 2> log/12/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/12/ directory after test 1063 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1063 ../src/curl -q --output log/12/curl1063.out --include --trace-ascii log/12/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/12/test1063.txt > log/12/stdout1063 2> log/12/stderr1063 === End of file commands.log === Start of file server.cmd Testnum 1063 === End of file server.cmd === Start of file test1063.txt 1234567890 1234567890 === End of file test1063.txt === Start of file valgrind1063 ==135296== ==135296== Process terminating with default action of signal 4 (SIGILL) ==135296== Illegal opcode at address 0x4014883 ==135296== at 0x4014883: getparameter (tool_getparam.c:2899) ==135296== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135296== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135296== by 0x4004208: main (tool_main.c:189) === End of file valgrind1063 test 1055...[HTTP PUT Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1055 ../src/curl -q --output log/9/curl1055.out --include --trace-ascii log/9/trace1055 --trace-time http://127.0.0.1:33885/1055 -L -T log/9/test1055.txt > log/9/stdout1055 2> log/9/stderr1055 1055: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1062 ../src/curl -q --output log/2/curl1062.out --include --trace-ascii log/2/trace1062 --trace-time ftp://127.0.0.1:34211/path/1062 > log/2/stdout1062 2> log/2/stderr1062 the log/9/ directory after test 1055 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1055 ../src/curl -q --output log/9/curl1055.out --include --trace-ascii log/9/trace1055 --trace-time http://127.0.0.1:33885/1055 -L -T log/9/test1055.txt > log/9/stdout1055 2> log/9/stderr1055 === End of file commands.log === Start of file ftp_server.log 05:47:29.832386 ====> Client connect 05:47:29.832596 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:29.832981 < "USER anonymous" 05:47:29.833021 > "331 We are happy you popped in![CR][LF]" 05:47:29.833209 < "PASS ftp@example.com" 05:47:29.833241 > "230 Welcome you silly person[CR][LF]" 05:47:29.833422 < "PWD" 05:47:29.833459 > "257 "/" is current directory[CR][LF]" 05:47:29.833657 < "EPSV" 05:47:29.833685 ====> Passive DATA channel requested by client 05:47:29.833703 DATA sockfilt for passive data channel starting... 05:47:29.839066 DATA sockfilt for passive data channel started (pid 134892) 05:47:29.839195 DATA sockfilt for passive data channel listens on port 43029 05:47:29.839245 > "229 Entering Passive Mode (|||43029|)[CR][LF]" 05:47:29.839265 Client has been notified that DATA conn will be accepted on port 43029 05:47:29.842482 Client connects to port 43029 05:47:29.842523 ====> Client established passive DATA connection on port 43029 05:47:29.842618 < "TYPE I" 05:47:29.842661 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:29.842850 < "SIZE verifiedserver" 05:47:29.842892 > "213 17[CR][LF]" 05:47:29.843062 < "RETR verifiedserver" 05:47:29.843099 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:29.843196 =====> Closing passive DATA connection... 05:47:29.843215 Server disconnects passive DATA connection 05:47:29.849144 Server disconnected passive DATA connection 05:47:29.849201 DATA sockfilt for passive data channel quits (pid 134892) 05:47:29.849556 DATA sockfilt for passive data channel quit (pid 134892) 05:47:29.849586 =====> Closed passive DATA connection 05:47:29.849626 > "226 File transfer complete[CR][LF]" 05:47:29.899233 < "QUIT" 05:47:29.899309 > "221 bye bye baby[CR][LF]" 05:47:29.900660 MAIN sockfilt said DISC 05:47:29.900694 ====> Client disconnected 05:47:29.900788 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:29.293678 ====> Client connect 05:47:29.294072 Received DATA (on stdin) 05:47:29.294090 > 146 bytes data, server => client 05:47:29.294103 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:29.294115 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:29.294125 '220 \___|\___/|_| \_\_____|\r\n' 05:47:29.294281 < 16 bytes data, client => server 05:47:29.294299 'USER anonymous\r\n' 05:47:29.294484 Received DATA (on stdin) 05:47:29.294497 > 33 bytes data, server => client 05:47:29.294508 '331 We are happy you popped in!\r\n' 05:47:29.294567 < 22 bytes data, client => server 05:47:29.294583 'PASS ftp@example.com\r\n' 05:47:29.294701 Received DATA (on stdin) 05:47:29.294714 > 30 bytes data, server => client 05:47:29.294724 '230 Welcome you silly person\r\n' 05:47:29.294780 < 5 bytes data, client => server 05:47:29.294795 'PWD\r\n' 05:47:29.294921 Received DATA (on stdin) 05:47:29.294934 > 30 bytes data, server => client 05:47:29.294945 '257 "/" is current directory\r\n' 05:47:29.295014 < 6 bytes data, client => server 05:47:29.295030 'EPSV\r\n' 05:47:29.303648 Received DATA (on stdin) 05:47:29.303672 > 39 bytes data, server => client 05:47:29.303683 '229 Entering Passive Mode (|||43029|)\r\n' 05:47:29.303852 < 8 bytes data, client => server 05:47:29.303869 'TYPE I\r\n' 05:47:29.304125 Received DATA (on stdin) 05:47:29.304138 > 33 bytes data, server => client 05:47:29.304149 '200 I modify TYPE as you wanted\r\n' 05:47:29.304206 < 21 bytes data, client => server 05:47:29.304221 'SIZE verifiedserver\r\n' 05:47:29.304353 Received DATA (on stdin) 05:47:29.304365 > 8 bytes data, server => client 05:47:29.304376 '213 17\r\n' 05:47:29.304430 < 21 bytes data, client => server 05:47:29.304441 'RETR verifiedserver\r\n' 05:47:29.310329 Received DATA (on stdin) 05:47:29.310364 > 29 bytes data, server => client 05:47:29.310376 '150 Binary junk (17 bytes).\r\n' 05:47:29.311090 Received DATA (on stdin) 05:47:29.311102 > 28 bytes data, server => client 05:47:29.311113 '226 File transfer complete\r\n' 05:47:29.360454 < 6 bytes data, client => server 05:47:29.360493 'QUIT\r\n' 05:47:29.360781 Received DATA (on stdin) 05:47:29.360797 > 18 bytes data, server => client 05:47:29.360808 '221 bye bye baby\r\n' 05:47:29.362057 ====> Client disconnect 05:47:29.362253 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:29.298089 Running IPv4 version 05:47:29.298153 Listening on port 43029 05:47:29.298193 Wrote pid 134892 to log/9/server/ftp_sockdata.pid 05:47:29.300455 Received PING (on stdin) 05:47:29.300552 Received PORT (on stdin) 05:47:29.303889 ====> Client connect 05:47:29.310448 Received DATA (on stdin) 05:47:29.310469 > 17 bytes data, server => client 05:47:29.310480 'WE ROOLZ: 81042\r\n' 05:47:29.310518 Received DISC (on stdin) 05:47:29.310531 ====> Client forcibly disconnected 05:47:29.310674 Received QUIT (on stdin) 05:47:29.310686 quits 05:47:29.310783 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:47:29.193883 ====> Client connect 05:47:29.193917 accept_connection 3 returned 4 05:47:29.193935 accept_connection 3 returned 0 05:47:29.193950 Read 93 bytes 05:47:29.193961 Process 93 bytes request 05:47:29.193976 Got request: GET /verifiedserver HTTP/1.1 05:47:29.193986 Are-we-friendly question received 05:47:29.194016 Wrote request (93 bytes) input to log/9/server.input 05:47:29.194035 Identifying ourselves as friends 05:47:29.194103 Response sent (56 bytes) and written to log/9/server.response 05:47:29.194116 special request received, no persistency 05:47:29.194126 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 33998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file test1055.txt Weird file to upload for testing the PUT feature === End of file test1055.txt === Start of file valgrind1055 ==134919== ==134919== Process terminating with default action of signal 4 (SIGILL) ==134919== Illegal opcode at address 0x4014883 ==134919== at 0x4014883: getparameter (tool_getparam.c:2899) ==134919== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==134919== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==134919== by 0x4004208: main (tool_main.c:189) === End of file valgrind1055 test 1062...[FTP with excessively long server command response lines, boundary condition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1062 ../src/curl -q --output log/2/curl1062.out --include --trace-ascii log/2/trace1062 --trace-time ftp://127.0.0.1:34211/path/1062 > log/2/stdout1062 2> log/2/stderr1062 1062: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1062 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1062 ../src/curl -q --output log/2/curl1062.out --include --trace-ascii log/2/trace1062 --trace-time ftp://127.0.0.1:34211/path/1062 > log/2/stdout1062 2> log/2/stderr1062 === End of file commands.log === Start of file ftp_server.log 05:47:30.297082 ====> Client connect 05:47:30.297251 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:30.304087 < "USER anonymous" 05:47:30.304148 > "331 We are happy you popped in![CR][LF]" 05:47:30.304342 < "PASS ftp@example.com" 05:47:30.304373 > "230 Welcome you silly person[CR][LF]" 05:47:30.304548 < "PWD" 05:47:30.304586 > "257 "/" is current directory[CR][LF]" 05:47:30.304779 < "EPSV" 05:47:30.304807 ====> Passive DATA channel requested by client 05:47:30.304821 DATA sockfilt for passive data channel starting... 05:47:30.310592 DATA sockfilt for passive data channel started (pid 135293) 05:47:30.310734 DATA sockfilt for passive data channel listens on port 35921 05:47:30.310776 > "229 Entering Passive Mode (|||35921|)[CR][LF]" 05:47:30.310795 Client has been notified that DATA conn will be accepted on port 35921 05:47:30.311091 Client connects to port 35921 05:47:30.311119 ====> Client established passive DATA connection on port 35921 05:47:30.311207 < "TYPE I" 05:47:30.311235 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:30.311387 < "SIZE verifiedserver" 05:47:30.311424 > "213 17[CR][LF]" 05:47:30.311568 < "RETR verifiedserver" 05:47:30.311598 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:30.311678 =====> Closing passive DATA connection... 05:47:30.311693 Server disconnects passive DATA connection 05:47:30.311903 Server disconnected passive DATA connection 05:47:30.311928 DATA sockfilt for passive data channel quits (pid 135293) 05:47:30.312172 DATA sockfilt for passive data channel quit (pid 135293) 05:47:30.312194 =====> Closed passive DATA connection 05:47:30.312233 > "226 File transfer complete[CR][LF]" 05:47:30.375714 < "QUIT" 05:47:30.375791 > "221 bye bye baby[CR][LF]" 05:47:30.379504 MAIN sockfilt said DISC 05:47:30.379547 ====> Client disconnected 05:47:30.379606 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:30.758411 ====> Client connect 05:47:30.759191 Received DATA (on stdin) 05:47:30.759215 > 146 bytes data, server => client 05:47:30.759229 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:30.759239 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:30.759248 '220 \___|\___/|_| \_\_____|\r\n' 05:47:30.765337 < 16 bytes data, client => server 05:47:30.765363 'USER anonymous\r\n' 05:47:30.765615 Received DATA (on stdin) 05:47:30.765629 > 33 bytes data, server => client 05:47:30.765640 '331 We are happy you popped in!\r\n' 05:47:30.765697 < 22 bytes data, client => server 05:47:30.765711 'PASS ftp@example.com\r\n' 05:47:30.765831 Received DATA (on stdin) 05:47:30.765844 > 30 bytes data, server => client 05:47:30.765854 '230 Welcome you silly person\r\n' 05:47:30.765909 < 5 bytes data, client => server 05:47:30.765923 'PWD\r\n' 05:47:30.766047 Received DATA (on stdin) 05:47:30.766059 > 30 bytes data, server => client 05:47:30.766070 '257 "/" is current directory\r\n' 05:47:30.766137 < 6 bytes data, client => server 05:47:30.766153 'EPSV\r\n' 05:47:30.772259 Received DATA (on stdin) 05:47:30.772275 > 39 bytes data, server => client 05:47:30.772286 '229 Entering Passive Mode (|||35921|)\r\n' 05:47:30.772493 < 8 bytes data, client => server 05:47:30.772504 'TYPE I\r\n' 05:47:30.772691 Received DATA (on stdin) 05:47:30.772701 > 33 bytes data, server => client 05:47:30.772713 '200 I modify TYPE as you wanted\r\n' 05:47:30.772761 < 21 bytes data, client => server 05:47:30.772772 'SIZE verifiedserver\r\n' 05:47:30.772877 Received DATA (on stdin) 05:47:30.772888 > 8 bytes data, server => client 05:47:30.772897 '213 17\r\n' 05:47:30.772944 < 21 bytes data, client => server 05:47:30.772954 'RETR verifiedserver\r\n' 05:47:30.773228 Received DATA (on stdin) 05:47:30.773239 > 29 bytes data, server => client 05:47:30.773249 '150 Binary junk (17 bytes).\r\n' 05:47:30.773938 Received DATA (on stdin) 05:47:30.773956 > 28 bytes data, server => client 05:47:30.773967 '226 File transfer complete\r\n' 05:47:30.831014 < 6 bytes data, client => server 05:47:30.831050 'QUIT\r\n' 05:47:30.837274 Received DATA (on stdin) 05:47:30.837304 > 18 bytes data, server => client 05:47:30.837316 '221 bye bye baby\r\n' 05:47:30.838742 ====> Client disconnect 05:47:30.841064 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:30.771097 Running IPv4 version 05:47:30.771189 Listening on port 35921 05:47:30.771229 Wrote pid 135293 to log/2/server/ftp_sockdata.pid 05:47:30.771985 Received PING (on stdin) 05:47:30.772085 Received PORT (on stdin) 05:47:30.772466 ====> Client connect 05:47:30.773150 Received DATA (on stdin) 05:47:30.773161 > 17 bytes data, server => client 05:47:30.773170 'WE ROOLZ: 81084\r\n' 05:47:30.773194 Received DISC (on stdin) 05:47:30.773205 ====> Client forcibly disconnected 05:47:30.773388 Received QUIT (on stdin) 05:47:30.773398 quits 05:47:30.773460 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1056 ../src/curl -q --output log/3/curl1056.out --include --trace-ascii log/3/trace1056 --trace-time http://127.0.0.1:39591/we/are/all/twits/1056 -L > log/3/stdout1056 2> log/3/stderr1056 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 Testnum 1062 === End of file server.cmd === Start of file valgrind1062 ==135504== ==135504== Process terminating with default action of signal 4 (SIGILL) ==135504== Illegal opcode at address 0x4014883 ==135504== at 0x4014883: getparameter (tool_getparam.c:2899) ==135504== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135504== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135504== by 0x4004208: main (tool_main.c:189) === End of file valgrind1062 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_ipv6_server.pid" --logfile "log/3/http_ipv6_server.log" --logdir "log/3" --portfile log/3/server/http_ipv6_server.port --config log/3/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 134856 port 37745 * pid http-ipv6 => 134856 134856 test 1056...[HTTP follow redirect from IPv4 to IPv6 with scope] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1056 ../src/curl -q --output log/3/curl1056.out --include --trace-ascii log/3/trace1056 --trace-time http://127.0.0.1:39591/we/are/all/twits/1056 -L > log/3/stdout1056 2> log/3/stderr1056 1056: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1056 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1056 ../src/curl -q --output log/3/curl1056.out --include --trace-ascii log/3/trace1056 --trace-time http://127.0.0.1:39591/we/are/all/twits/1056 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1068 ../src/curl -q --output log/4/curl1068.out --include --trace-ascii log/4/trace1068 --trace-time http://127.0.0.1:40253/bzz/1068 -T - log/4/stdout1068 2> log/4/stderr1068 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1069 ../src/curl -q --output log/6/curl1069.out --include --trace-ascii log/6/trace1069 --trace-time http://127.0.0.1:33035/bzz/1069 -T - -0 log/6/stdout1069 2> log/6/stderr1069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1070 ../src/curl -q --output log/24/curl1070.out --include --trace-ascii log/24/trace1070 --trace-time -d @log/24/input1070 http://127.0.0.1:33593/1070 -H "Expect: 100-continue" > log/24/stdout1070 2> log/24/stderr1070 -L > log/3/stdout1056 2> log/3/stderr1056 === End of file commands.log === Start of file http_ipv6_server.log 05:47:29.262189 Running HTTP IPv6 version on port 37745 05:47:29.262303 Wrote pid 134856 to log/3/server/http_ipv6_server.pid 05:47:29.262331 Wrote port 37745 to log/3/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 05:47:30.223707 ====> Client connect 05:47:30.223746 accept_connection 3 returned 4 05:47:30.223765 accept_connection 3 returned 0 05:47:30.223781 Read 93 bytes 05:47:30.223792 Process 93 bytes request 05:47:30.223806 Got request: GET /verifiedserver HTTP/1.1 05:47:30.223817 Are-we-friendly question received 05:47:30.223847 Wrote request (93 bytes) input to log/3/server.input 05:47:30.223867 Identifying ourselves as friends 05:47:30.223937 Response sent (56 bytes) and written to log/3/server.response 05:47:30.223949 special request received, no persistency 05:47:30.223959 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 34592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1056 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1056 ==135803== ==135803== Process terminating with default action of signal 4 (SIGILL) ==135803== Illegal opcode at address 0x4014883 ==135803== at 0x4014883: getparameter (tool_getparam.c:2899) ==135803== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135803== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135803== by 0x4004208: main (tool_main.c:189) === End of file valgrind1056 test 1068...[HTTP PUT from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1068 ../src/curl -q --output log/4/curl1068.out --include --trace-ascii log/4/trace1068 --trace-time http://127.0.0.1:40253/bzz/1068 -T - log/4/stdout1068 2> log/4/stderr1068 1068: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1068 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1068 ../src/curl -q --output log/4/curl1068.out --include --trace-ascii log/4/trace1068 --trace-time http://127.0.0.1:40253/bzz/1068 -T - log/4/stdout1068 2> log/4/stderr1068 === End of file commands.log === Start of file http_server.log 05:47:30.312005 ====> Client connect 05:47:30.312039 accept_connection 3 returned 4 05:47:30.312054 accept_connection 3 returned 0 05:47:30.312068 Read 93 bytes 05:47:30.312077 Process 93 bytes request 05:47:30.312091 Got request: GET /verifiedserver HTTP/1.1 05:47:30.312100 Are-we-friendly question received 05:47:30.312123 Wrote request (93 bytes) input to log/4/server.input 05:47:30.312139 Identifying ourselves as friends 05:47:30.312192 Response sent (56 bytes) and written to log/4/server.response 05:47:30.312201 special request received, no persistency 05:47:30.312210 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 40482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stdin-for-1068 more than one byte === End of file stdin-for-1068 === Start of file valgrind1068 ==135836== ==135836== Process terminating with default action of signal 4 (SIGILL) ==135836== Illegal opcode at address 0x4014883 ==135836== at 0x4014883: getparameter (tool_getparam.c:2899) ==135836== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135836== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135836== by 0x4004208: main (tool_main.c:189) === End of file valgrind1068 test 1069...[HTTP 1.0 PUT from stdin with no content length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1069 ../src/curl -q --output log/6/curl1069.out --include --trace-ascii log/6/trace1069 --trace-time http://127.0.0.1:33035/bzz/1069 -T - -0 log/6/stdout1069 2> log/6/stderr1069 curl returned 132, when expecting 25 1069: exit FAILED == Contents of files in the log/6/ directory after test 1069 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1069 ../src/curl -q --output log/6/curl1069.out --include --trace-ascii log/6/trace1069 --trace-time http://127.0.0.1:33035/bzz/1069 -T - -0 log/6/stdout1069 2> log/6/stderr1069 === End of file commands.log === Start of file http_server.log 05:47:30.353721 ====> Client connect 05:47:30.353766 accept_connection 3 returned 4 05:47:30.353787 accept_connection 3 returned 0 05:47:30.353805 Read 93 bytes 05:47:30.353816 Process 93 bytes request 05:47:30.353830 Got request: GET /verifiedserver HTTP/1.1 05:47:30.353840 Are-we-friendly question received 05:47:30.353867 Wrote request (93 bytes) input to log/6/server.input 05:47:30.353887 Identifying ourselves as friends 05:47:30.353997 Response sent (56 bytes) and written to log/6/server.response 05:47:30.354010 special request received, no persistency 05:47:30.354020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 36020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stdin-for-1069 this data cannot be sent === End of file stdin-for-1069 === Start of file valgrind1069 ==135882== ==135882== Process terminating with default action of signal 4 (SIGILL) ==135882== Illegal opcode at address 0x4014883 ==135882== at 0x4014883: getparameter (tool_getparam.c:2899) ==135882== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==135882== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==135882== by 0x4004208: main (tool_main.c:189) === End of file valgrind1069 test 1070...[HTTP POST CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1072 ../src/curl -q --output log/11/curl1072.out --include --trace-ascii log/11/trace1072 --trace-time http://127.0.0.1:34551/1072 -T - -u testuser:testpass --anyauth log/11/stdout1072 2> log/11/stderr1072 with server closing connection before (all) data is received] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1070 ../src/curl -q --output log/24/curl1070.out --include --trace-ascii log/24/trace1070 --trace-time -d @log/24/input1070 http://127.0.0.1:33593/1070 -H "Expect: 100-continue" > log/24/stdout1070 2> log/24/stderr1070 1070: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1070 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1070 ../src/curl -q --output log/24/curl1070.out --include --trace-ascii log/24/trace1070 --trace-time -d @log/24/input1070 http://127.0.0.1:33593/1070 -H "Expect: 100-continue" > log/24/stdout1070 2> log/24/stderr1070 === End of file commands.log === Start of file http_server.log 05:47:32.063761 ====> Client connect 05:47:32.063809 accept_connection 3 returned 4 05:47:32.063828 accept_connection 3 returned 0 05:47:32.063846 Read 93 bytes 05:47:32.063856 Process 93 bytes request 05:47:32.063870 Got request: GET /verifiedserver HTTP/1.1 05:47:32.063878 Are-we-friendly question received 05:47:32.063906 Wrote request (93 bytes) input to log/24/server.input 05:47:32.063923 Identifying ourselves as friends 05:47:32.064002 Response sent (56 bytes) and written to log/24/server.response 05:47:32.064013 special request received, no persistency 05:47:32.064022 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 39126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file input1070 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 === End of file input1070 === Start of file server.cmd skip: 2300 Testnum 1070 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1070 ==136046== ==136046== Process terminating with default action of signal 4 (SIGILL) ==136046== Illegal opcode at address 0x4014883 ==136046== at 0x4014883: getparameter (tool_getparam.c:2899) ==136046== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136046== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136046== by 0x4004208: main (tool_main.c:189) === End of file valgrind1070 test 1072...[HTTP chunked PUT to HTTP 1.0 server with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1072 ../src/curl -q --output log/11/curl1072.out --include --trace-ascii log/11/trace1072 --trace-time http://127.0.0.1:34551/1072 -T - -u testuser:testpass --anyauth log/11/stdout1072 2> log/11/stderr1072 1072: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1072 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1072 ../src/curl -q --output log/11/curl1072.out --include --trace-ascii log/11/trace1072 --trace-time http://127.0.0.1:34551/1072 -T - -u testuser:testpass --anyauth log/11/stdout1072 2> log/11/stderr1072 === End of file commands.log === Start of file http_server.log 05:47:32.159556 ====> Client connect 05:47:32.159588 accept_connection 3 returned 4 05:47:32.159604 accept_connection 3 returned 0 05:47:32.159617 Read 93 bytes 05:47:32.159625 Process 93 bytes request 05:47:32.159638 Got request: GET /verifiedserver HTTP/1.1 05:47:32.159646 Are-we-friendly question received 05:47:32.159668 Wrote request (93 bytes) input to log/11/server.input 05:47:32.159683 Identifying ourselves as friends 05:47:32.159733 Response sent (56 bytes) and written to log/11/server.response 05:47:32.159742 special request received, no persistency 05:47:32.159750 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 42678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1072 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stdin-for-1072 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 === End of file stdin-for-1072 === Start of file valgrind1072 ==136105== ==13610CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1071 ../src/curl -q --output log/19/curl1071.out --include --trace-ascii log/19/trace1071 --trace-time http://127.0.0.1:35701/1071 -T log/19/put1071 -u testuser:testpass --anyauth > log/19/stdout1071 2> log/19/stderr1071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1074 ../src/curl -q --include --trace-ascii log/10/trace1074 --trace-time http://127.0.0.1:46741/want/1074 http://127.0.0.1:46741/wantmore/10740001 > log/10/stdout1074 2> log/10/stderr1074 5== Process terminating with default action of signal 4 (SIGILL) ==136105== Illegal opcode at address 0x4014883 ==136105== at 0x4014883: getparameter (tool_getparam.c:2899) ==136105== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136105== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136105== by 0x4004208: main (tool_main.c:189) === End of file valgrind1072 test 1071...[Downgraded HTTP PUT to HTTP 1.0 with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1071 ../src/curl -q --output log/19/curl1071.out --include --trace-ascii log/19/trace1071 --trace-time http://127.0.0.1:35701/1071 -T log/19/put1071 -u testuser:testpass --anyauth > log/19/stdout1071 2> log/19/stderr1071 1071: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1071 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1071 ../src/curl -q --output log/19/curl1071.out --include --trace-ascii log/19/trace1071 --trace-time http://127.0.0.1:35701/1071 -T log/19/put1071 -u testuser:testpass --anyauth > log/19/stdout1071 2> log/19/stderr1071 === End of file commands.log === Start of file http_server.log 05:47:31.103730 ====> Client connect 05:47:31.103775 accept_connection 3 returned 4 05:47:31.103795 accept_connection 3 returned 0 05:47:31.103812 Read 93 bytes 05:47:31.103822 Process 93 bytes request 05:47:31.103836 Got request: GET /verifiedserver HTTP/1.1 05:47:31.103846 Are-we-friendly question received 05:47:31.103870 Wrote request (93 bytes) input to log/19/server.input 05:47:31.103888 Identifying ourselves as friends 05:47:31.103968 Response sent (56 bytes) and written to log/19/server.response 05:47:31.103979 special request received, no persistency 05:47:31.103987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 60490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file put1071 This is data we upload with PUT a second line line three four is the number of lines === End of file put1071 === Start of file server.cmd Testnum 1071 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1071 ==136073== ==136073== Process terminating with default action of signal 4 (SIGILL) ==136073== Illegal opcode at address 0x4014883 ==136073== at 0x4014883: getparameter (tool_getparam.c:2899) ==136073== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136073== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136073== by 0x4004208: main (tool_main.c:189) === End of file valgrind1071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1073 ../src/curl -q --output log/15/curl1073.out --include --trace-ascii log/15/trace1073 --trace-time http://127.0.0.1:43413/1073 -T - -L log/15/stdout1073 2> log/15/stderr1073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1077 ../src/curl -q --output log/5/curl1077.out --include --trace-ascii log/5/trace1077 --trace-time -x 127.0.0.1:35621 ftp://127.0.0.1:35621/we/want/that/page/1077 ftp://127.0.0.1:35621/we/want/that/page/10770002 > log/5/stdout1077 2> log/5/stderr1077 test 1074...[HTTP downgrade to HTTP/1.0 on second request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1074 ../src/curl -q --include --trace-ascii log/10/trace1074 --trace-time http://127.0.0.1:46741/want/1074 http://127.0.0.1:46741/wantmore/10740001 > log/10/stdout1074 2> log/10/stderr1074 1074: stdout FAILED: --- log/10/check-expected 2026-03-14 05:47:34.284615998 +0000 +++ log/10/check-generated 2026-03-14 05:47:34.284615998 +0000 @@ -1,11 +0,0 @@ -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -Connection: Keep-Alive[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.0 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/10/ directory after test 1074 === Start of file check-expected HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] Connection: Keep-Alive[CR][LF] [CR][LF] surprise[LF] HTTP/1.0 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1074 ../src/curl -q --include --trace-ascii log/10/trace1074 --trace-time http://127.0.0.1:46741/want/1074 http://127.0.0.1:46741/wantmore/10740001 > log/10/stdout1074 2> log/10/stderr1074 === End of file commands.log === Start of file http_server.log 05:47:31.380419 ====> Client connect 05:47:31.380479 accept_connection 3 returned 4 05:47:31.380501 accept_connection 3 returned 0 05:47:31.380519 Read 93 bytes 05:47:31.380530 Process 93 bytes request 05:47:31.380543 Got request: GET /verifiedserver HTTP/1.1 05:47:31.380553 Are-we-friendly question received 05:47:31.380583 Wrote request (93 bytes) input to log/10/server.input 05:47:31.380601 Identifying ourselves as friends 05:47:31.380689 Response sent (56 bytes) and written to log/10/server.response 05:47:31.380700 special request received, no persistency 05:47:31.380710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 37226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1074 ==136254== ==136254== Process terminating with default action of signal 4 (SIGILL) ==136254== Illegal opcode at address 0x4014883 ==136254== at 0x4014883: getparameter (tool_getparam.c:2899) ==136254== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136254== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136254== by 0x4004208: main (tool_main.c:189) === End of file valgrind1074 test 1073...[HTTP chunked PUT to HTTP 1.0 server with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1073 ../src/curl -q --output log/15/curl1073.out --include --trace-ascii log/15/trace1073 --trace-time http://127.0.0.1:43413/1073 -T - -L log/15/stdout1073 2> log/15/stderr1073 1073: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1073 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1073 ../src/curl -q --output log/15/curl1073.out --include --trace-ascii log/15/trace1073 --trace-time http://127.0.0.1:43413/1073 -T - -L log/15/stdout1073 2> log/15/stderr1073 === End of file commands.log === Start of file http_server.log 05:47:32.369387 ====> Client connect 05:47:32.369419 accept_connection 3 returned 4 05:47:32.369435 accept_connection 3 returned 0 05:47:32.369449 Read 93 bytes 05:47:32.369458 Process 93 bytes request 05:47:32.369471 Got request: GET /verifiedserver HTTP/1.1 05:47:32.369480 Are-we-friendly question received 05:47:32.369506 Wrote request (93 bytes) input to log/15/server.input 05:47:32.369523 Identifying ourselves as friends 05:47:32.369579 Response sent (56 bytes) and written to log/15/server.response 05:47:32.369589 special request received, no persistency 05:47:32.369597 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 60474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stdin-for-1073 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 === End of file stdin-for-1073 === Start of file valgrind1073 ==136259== ==136259== Process terminating with default action of signal 4 (SIGILL) ==136259== Illegal opcode at address 0x4014883 ==136259== at 0x4014883: getparameter (tool_getparam.c:2899) ==136259== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136259== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136259== by 0x4004208: main (tool_main.c:189) === End of file valgrind1073 test 1077...[FTP over HTTP proxy with downgrade to HTTP 1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1077 ../src/curl -q --output log/5/curl1077.out --include --trace-ascii log/5/trace1077 --trace-time -x 127.0.0.1:35621 ftp://127.0.0.1:35621/we/want/that/page/1077 ftp://127.0.0.1:35621/we/want/that/page/10770002 > log/5/stdout1077 2> log/5/stderr1077 1077: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1077 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1077 ../src/curl -q --output log/5/curl1077.out --include --trace-ascii log/5/trace1077 --trace-time -x 127.0.0.1:35621 ftp://127.0.0.1:35621/we/want/that/page/1077 ftp://127.0.0.1:35621/we/want/that/page/10770002 > log/5/stdout1077 2> log/5/stderr1077 === End of file commands.log === Start of file http_server.log 05:47:32.840392 ====> Client connect 05:47:32.840440 accept_connection 3 returned 4 05:47:32.840459 accept_connection 3 returned 0 05:47:32.841084 Read 93 bytes 05:47:32.841102 Process 93 bytes request 05:47:32.841124 Got requesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1080 ../src/curl -q --include --trace-ascii log/18/trace1080 --trace-time http://127.0.0.1:39913/we/want/our/1080 http://127.0.0.1:39913/we/want/our/1080 -w '%{redirect_url}\n' > log/18/stdout1080 2> log/18/stderr1080 t: GET /verifiedserver HTTP/1.1 05:47:32.841134 Are-we-friendly question received 05:47:32.841166 Wrote request (93 bytes) input to log/5/server.input 05:47:32.841185 Identifying ourselves as friends 05:47:32.841246 Response sent (56 bytes) and written to log/5/server.response 05:47:32.841257 special request received, no persistency 05:47:32.841266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 50818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1077 ==136492== ==136492== Process terminating with default action of signal 4 (SIGILL) ==136492== Illegal opcode at address 0x4014883 ==136492== at 0x4014883: getparameter (tool_getparam.c:2899) ==136492== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136492== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136492== by 0x4004208: main (tool_main.c:189) === End of file valgrind1077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1079 ../src/curl -q --output log/13/curl1079.out --include --trace-ascii log/13/trace1079 --trace-time http://127.0.0.1:45359/1079 -u testuser:testpass --digest > log/13/stdout1079 2> log/13/stderr1079 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1076 ../src/curl -q --output log/1/curl1076.out --include --trace-ascii log/1/trace1076 --trace-time http://127.0.0.1:38765/blah/1076 -L -d "moo" --post302 > log/1/stdout1076 2> log/1/stderr1076 test 1080...[HTTP Location: on two URLs 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1080 ../src/curl -q --include --trace-ascii log/18/trace1080 --trace-time http://127.0.0.1:39913/we/want/our/1080 http://127.0.0.1:39913/we/want/our/1080 -w '%{redirect_url}\n' > log/18/stdout1080 2> log/18/stderr1080 1080: stdout FAILED: --- log/18/check-expected 2026-03-14 05:47:34.587949330 +0000 +++ log/18/check-generated 2026-03-14 05:47:34.587949330 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:39913/we/want/our/data/10800002.txt?coolsite=yes[LF] -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:39913/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/18/ directory after test 1080 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:39913/we/want/our/data/10800002.txt?coolsite=yes[LF] HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:39913/we/want/our/data/10800002.txt?coolsite=yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1080 ../src/curl -q --include --trace-ascii log/18/trace1080 --trace-time http://127.0.0.1:39913/we/want/our/1080 http://127.0.0.1:39913/we/want/our/1080 -w '%{redirect_url}\n' > log/18/stdout1080 2> log/18/stderr1080 === End of file commands.log === Start of file http_server.log 05:47:31.942824 ====> Client connect 05:47:31.942876 accept_connection 3 returned 4 05:47:31.942894 accept_connection 3 returned 0 05:47:31.942908 Read 93 bytes 05:47:31.942918 Process 93 bytes request 05:47:31.942929 Got request: GET /verifiedserver HTTP/1.1 05:47:31.942938 Are-we-friendly question received 05:47:31.942965 Wrote request (93 bytes) input to log/18/server.input 05:47:31.942982 Identifying ourselves as friends 05:47:31.943042 Response sent (56 bytes) and written to log/18/server.response 05:47:31.943052 special request received, no persistency 05:47:31.943060 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1080 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1080 ==136600== ==136600== Process terminating with default action of signal 4 (SIGILL) ==136600== Illegal opcode at address 0x4014883 ==136600== at 0x4014883: getparameter (tool_getparam.c:2899) ==136600== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136600== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136600== by 0x4004208: main (tool_main.c:189) === End of file valgrind1080 test 1079...[HTTP retry after closed connection and empty response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1079 ../src/curl -q --output log/13/curl1079.out --include --trace-ascii log/13/trace1079 --trace-time http://127.0.0.1:45359/1079 -u testuser:testpass --digest > log/13/stdout1079 2> log/13/stderr1079 1079: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1079 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1079 ../src/curl -q --output log/13/curl1079.out --include --trace-ascii log/13/trace1079 --trace-time http://127.0.0.1:45359/1079 -u testuser:testpass --digest > log/13/stdout1079 2> log/13/stderr1079 === End of file commands.log === Start of file http_server.log 05:47:32.940390 ====> Client connect 05:47:32.940427 accept_connection 3 returned 4 05:47:32.940446 accept_connection 3 returned 0 05:47:32.940461 Read 93 bytes 05:47:32.940470 Process 93 bytes request 05:47:32.940483 Got request: GET /verifiedserver HTTP/1.1 05:47:32.940493 Are-we-friendly question received 05:47:32.940518 Wrote request (93 bytes) input to log/13/server.input 05:47:32.940535 Identifying ourselves as friends 05:47:32.940613 Response sent (56 bytes) and written to log/13/server.response 05:47:32.940626 special request received, no persistency 05:47:32.940636 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 44500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1079 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1079 ==136608== ==136608== Process terminating with default action of signal 4 (SIGILL) ==136608== Illegal opcode at address 0x4014883 ==136608== at 0x4014883: getparameter (tool_getparam.c:2899) ==136608== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136608== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136608== by 0x4004208: main (tool_main.c:189) === End of file valgrind1079 test 1076...[HTTP POST with 302 redirect and --post302] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1076 ../src/curl -q --output log/1/curl1076.out --include --trace-ascii log/1/trace1076 --trace-time http://127.0.0.1:38765/blah/1076 -L -d "moo" --post302 > log/1/stdout1076 2> log/1/stderr1076 1076: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1076 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1076 ../src/curl -q --output log/1/curl1076.out --inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1085 ../src/curl -q --output log/16/curl1085.out --include --trace-ascii log/16/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/16/stdout1085 2> log/16/stderr1085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1086 ../src/curl -q --output log/17/curl1086.out --include --trace-ascii log/17/trace1086 --trace-time ftp://127.0.0.1:35305/1086 -m 5 > log/17/stdout1086 2> log/17/stderr1086 * kill pid for ftp-ctrl => 81177 RUN: Process with pid 81141 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1089 ../src/curl -q --include --trace-ascii log/9/trace1089 --trace-time http://127.0.0.1:33885/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout1089 2> log/9/stderr1089 clude --trace-ascii log/1/trace1076 --trace-time http://127.0.0.1:38765/blah/1076 -L -d "moo" --post302 > log/1/stdout1076 2> log/1/stderr1076 === End of file commands.log === Start of file http_server.log 05:47:32.806902 ====> Client connect 05:47:32.806949 accept_connection 3 returned 4 05:47:32.806984 accept_connection 3 returned 0 05:47:32.807001 Read 93 bytes 05:47:32.807010 Process 93 bytes request 05:47:32.807023 Got request: GET /verifiedserver HTTP/1.1 05:47:32.807031 Are-we-friendly question received 05:47:32.807056 Wrote request (93 bytes) input to log/1/server.input 05:47:32.807072 Identifying ourselves as friends 05:47:32.807156 Response sent (56 bytes) and written to log/1/server.response 05:47:32.807168 special request received, no persistency 05:47:32.807177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 34852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1076 ==136435== ==136435== Process terminating with default action of signal 4 (SIGILL) ==136435== Illegal opcode at address 0x4014883 ==136435== at 0x4014883: getparameter (tool_getparam.c:2899) ==136435== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136435== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136435== by 0x4004208: main (tool_main.c:189) === End of file valgrind1076 prechecked ./server/servers resolve --ipv6 ::1 test 1085...[HTTP-IPv6 GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1085 ../src/curl -q --output log/16/curl1085.out --include --trace-ascii log/16/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/16/stdout1085 2> log/16/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/16/ directory after test 1085 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1085 ../src/curl -q --output log/16/curl1085.out --include --trace-ascii log/16/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/16/stdout1085 2> log/16/stderr1085 === End of file commands.log === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==136803== ==136803== Process terminating with default action of signal 4 (SIGILL) ==136803== Illegal opcode at address 0x4014883 ==136803== at 0x4014883: getparameter (tool_getparam.c:2899) ==136803== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136803== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136803== by 0x4004208: main (tool_main.c:189) === End of file valgrind1085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1082 ../src/curl -q --output log/20/curl1082.out --include --trace-ascii log/20/trace1082 --trace-time http://127.0.0.1:38929/1082 -4 --interface 127.0.0.1 > log/20/stdout1082 2> log/20/stderr1082 RUN: Process with pid 81141 gracefully died test 1089...[HTTP GET --write-out with redirected fetch] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1089 ../src/curl -q --include --trace-ascii log/9/trace1089 --trace-time http://127.0.0.1:33885/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout1089 2> log/9/stderr1089 1089: stdout FAILED: --- log/9/check-expected 2026-03-14 05:47:34.871282664 +0000 +++ log/9/check-generated 2026-03-14 05:47:34.871282664 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10890001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:33885/10890001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/9/ directory after test 1089 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10890001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:33885/10890001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1089 ../src/curl -q --include --trace-ascii log/9/trace1089 --trace-time http://127.0.0.1:33885/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout1089 2> log/9/stderr1089 === End of file commands.log === Start of file http_server.log 05:47:32.468087 ====> Client connect 05:47:32.468132 accept_connection 3 returned 4 05:47:32.468155 accept_connection 3 returned 0 05:47:32.468171 Read 93 bytes 05:47:32.468181 Process 93 bytes request 05:47:32.468194 Got request: GET /verifiedserver HTTP/1.1 05:47:32.468203 Are-we-friendly question received 05:47:32.468227 Wrote request (93 bytes) input to log/9/server.input 05:47:32.468244 Identifying ourselves as friends 05:47:32.468316 Response sent (56 bytes) and written to log/9/server.response 05:47:32.468326 special request received, no persistency 05:47:32.468335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 34010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1089 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1089 ==137217== ==137217== Process terminating with default action of signal 4 (SIGILL) ==137217== Illegal opcode at address 0x4014883 ==137217== at 0x4014883: getparameter (tool_getparam.c:2899) ==137217== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137217== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137217== by 0x4004208: main (tool_main.c:189) === End of file valgrind1089 prechecked /usr/bin/perl -e "print 'Test requires default test client host address' if('127.0.0.1' ne '127.0.0.1');" test 1082...[HTTP GET with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1082 ../src/curl -q --output log/20/curl1082.out --include --trace-ascii log/20/trace1082 --trace-time http://127.0.0.1:38929/1082 -4 --interface 127.0.0.1 > log/20/stdout1082 2> log/20/stderr1082 1082: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1082 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1082 ../src/curl -q --output log/20/curl1082.out --include --trace-ascii log/20/trace1082 --trace-time http://127.0.0.1:38929/1082 -4 --interface 127.0.0.1 > log/20/stdout1082 2> log/20/stderr1082 === End of file commands.log === Start of file http_server.log 05:47:32.077056 ====> Client connect 05:47:32.077140 accept_connection 3 returned 4 05:47:32.077160 accept_connection 3 returned 0 05:47:32.077176 Read 93 bytes 05:47:32.077186 Process 93 bytes request 05:47:32.077199 Got request: GET /verifiedserver HTTP/1.1 05:47:32.077208 Are-we-friendly question received 05:47:32.077238 Wrote request (93 bytes) input to log/20/server.input 05:47:32.077254 Identifying ourselves as friends 05:47:32.077340 Response sent (56 bytes) and written to log/20/server.response 05:47:32.077352 special request received, no persistency 05:47:32.077362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 40962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1082 ==136849== ==136849== Process terminating with default action of signal 4 (SIGILL) ==136849== Illegal opcode at address 0x4014883 ==136849== at 0x4014883: getparameter (tool_getparam.c:2899) ==136849== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136849== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136849== by 0x4004208: main (tool_main.c:189) === End of file valgrind1082 test 1086...[FTP download with strict timeout and slow data transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1086 ../src/curl -q --output log/17/curl1086.out --include --trace-ascii log/17/trace1086 --trace-time ftp://127.0.0.1:35305/1086 -m 5 > log/17/stdout1086 2> log/17/stderr1086 1086: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1086 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1086 ../src/curl -q --output log/17/curl1086.out --include --trace-ascii log/17/trace1086 --trace-time ftpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1084 ../src/curl -q --output log/21/curl1084.out --include --trace-ascii log/21/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/21/stdout1084 2> log/21/stderr1084 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1078 ../src/curl -q --include --trace-ascii log/8/trace1078 --trace-time --proxy1.0 127.0.0.1:41163 -p http://127.0.0.1:45623/we/want/that/page/1078 http://127.0.0.1:45623/we/want/that/page/1078 > log/8/stdout1078 2> log/8/stderr1078 ://127.0.0.1:35305/1086 -m 5 > log/17/stdout1086 2> log/17/stderr1086 === End of file commands.log === Start of file ftp_server.log 05:47:32.749048 ====> Client connect 05:47:32.749254 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:32.749636 < "USER anonymous" 05:47:32.749679 > "331 We are happy you popped in![CR][LF]" 05:47:32.749888 < "PASS ftp@example.com" 05:47:32.749923 > "230 Welcome you silly person[CR][LF]" 05:47:32.750108 < "PWD" 05:47:32.750144 > "257 "/" is current directory[CR][LF]" 05:47:32.750331 < "EPSV" 05:47:32.750362 ====> Passive DATA channel requested by client 05:47:32.750379 DATA sockfilt for passive data channel starting... 05:47:32.755818 DATA sockfilt for passive data channel started (pid 136965) 05:47:32.755989 DATA sockfilt for passive data channel listens on port 41097 05:47:32.756045 > "229 Entering Passive Mode (|||41097|)[CR][LF]" 05:47:32.756065 Client has been notified that DATA conn will be accepted on port 41097 05:47:32.756425 Client connects to port 41097 05:47:32.756463 ====> Client established passive DATA connection on port 41097 05:47:32.756629 < "TYPE I" 05:47:32.756671 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:32.756852 < "SIZE verifiedserver" 05:47:32.756890 > "213 17[CR][LF]" 05:47:32.757025 < "RETR verifiedserver" 05:47:32.757059 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:32.757185 =====> Closing passive DATA connection... 05:47:32.757203 Server disconnects passive DATA connection 05:47:32.757471 Server disconnected passive DATA connection 05:47:32.757506 DATA sockfilt for passive data channel quits (pid 136965) 05:47:32.757868 DATA sockfilt for passive data channel quit (pid 136965) 05:47:32.757894 =====> Closed passive DATA connection 05:47:32.757922 > "226 File transfer complete[CR][LF]" 05:47:32.802556 < "QUIT" 05:47:32.802617 > "221 bye bye baby[CR][LF]" 05:47:32.808997 MAIN sockfilt said DISC 05:47:32.809081 ====> Client disconnected 05:47:32.809195 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:32.210338 ====> Client connect 05:47:32.210738 Received DATA (on stdin) 05:47:32.210757 > 146 bytes data, server => client 05:47:32.210770 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:32.210780 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:32.210790 '220 \___|\___/|_| \_\_____|\r\n' 05:47:32.210915 < 16 bytes data, client => server 05:47:32.210934 'USER anonymous\r\n' 05:47:32.211146 Received DATA (on stdin) 05:47:32.211160 > 33 bytes data, server => client 05:47:32.211170 '331 We are happy you popped in!\r\n' 05:47:32.211231 < 22 bytes data, client => server 05:47:32.211246 'PASS ftp@example.com\r\n' 05:47:32.211382 Received DATA (on stdin) 05:47:32.211395 > 30 bytes data, server => client 05:47:32.211405 '230 Welcome you silly person\r\n' 05:47:32.211462 < 5 bytes data, client => server 05:47:32.211477 'PWD\r\n' 05:47:32.211603 Received DATA (on stdin) 05:47:32.211616 > 30 bytes data, server => client 05:47:32.211627 '257 "/" is current directory\r\n' 05:47:32.211693 < 6 bytes data, client => server 05:47:32.211709 'EPSV\r\n' 05:47:32.217533 Received DATA (on stdin) 05:47:32.217556 > 39 bytes data, server => client 05:47:32.217567 '229 Entering Passive Mode (|||41097|)\r\n' 05:47:32.217950 < 8 bytes data, client => server 05:47:32.217963 'TYPE I\r\n' 05:47:32.218130 Received DATA (on stdin) 05:47:32.218142 > 33 bytes data, server => client 05:47:32.218152 '200 I modify TYPE as you wanted\r\n' 05:47:32.218216 < 21 bytes data, client => server 05:47:32.218227 'SIZE verifiedserver\r\n' 05:47:32.218342 Received DATA (on stdin) 05:47:32.218352 > 8 bytes data, server => client 05:47:32.218360 '213 17\r\n' 05:47:32.218405 < 21 bytes data, client => server 05:47:32.218414 'RETR verifiedserver\r\n' 05:47:32.218766 Received DATA (on stdin) 05:47:32.218778 > 29 bytes data, server => client 05:47:32.218788 '150 Binary junk (17 bytes).\r\n' 05:47:32.219380 Received DATA (on stdin) 05:47:32.219392 > 28 bytes data, server => client 05:47:32.219403 '226 File transfer complete\r\n' 05:47:32.263804 < 6 bytes data, client => server 05:47:32.263839 'QUIT\r\n' 05:47:32.264075 Received DATA (on stdin) 05:47:32.264087 > 18 bytes data, server => client 05:47:32.264096 '221 bye bye baby\r\n' 05:47:32.270341 ====> Client disconnect 05:47:32.270666 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:32.214873 Running IPv4 version 05:47:32.214947 Listening on port 41097 05:47:32.214989 Wrote pid 136965 to log/17/server/ftp_sockdata.pid 05:47:32.217176 Received PING (on stdin) 05:47:32.217329 Received PORT (on stdin) 05:47:32.217819 ====> Client connect 05:47:32.218662 Received DATA (on stdin) 05:47:32.218676 > 17 bytes data, server => client 05:47:32.218685 'WE ROOLZ: 81141\r\n' 05:47:32.218726 Received DISC (on stdin) 05:47:32.218737 ====> Client forcibly disconnected 05:47:32.218972 Received QUIT (on stdin) 05:47:32.218984 quits 05:47:32.219087 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWNDATA REPLY welcome 220 Hey REPLY USER 331 OK REPLY PASS 230 OK REPLY PWD 257 "/" REPLY TYPE 200 OK Testnum 1086 === End of file server.cmd === Start of file valgrind1086 ==137035== ==137035== Process terminating with default action of signal 4 (SIGILL) ==137035== Illegal opcode at address 0x4014883 ==137035== at 0x4014883: getparameter (tool_getparam.c:2899) ==137035== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137035== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137035== by 0x4004208: main (tool_main.c:189) === End of file valgrind1086 test 1084...[HTTP GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1084 ../src/curl -q --output log/21/curl1084.out --include --trace-ascii log/21/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/21/stdout1084 2> log/21/stderr1084 curl returned 132, when expecting 45 1084: exit FAILED == Contents of files in the log/21/ directory after test 1084 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1084 ../src/curl -q --output log/21/curl1084.out --include --trace-ascii log/21/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/21/stdout1084 2> log/21/stderr1084 === End of file commands.log === Start of file server.cmd Testnum 1084 === End of file server.cmd === Start of file valgrind1084 ==136685== ==136685== Process terminating with default action of signal 4 (SIGILL) ==136685== Illegal opcode at address 0x4014883 ==136685== at 0x4014883: getparameter (tool_getparam.c:2899) ==136685== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136685== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136685== by 0x4004208: main (tool_main.c:189) === End of file valgrind1084 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1088 ../src/curl -q --output log/12/curl1088.out --include --trace-ascii log/12/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:36353 --user iam:myself --location-trusted --anyauth > log/12/stdout1088 2> log/12/stderr1088 test 1078...[HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1078 ../src/curl -q --include --trace-ascii log/8/trace1078 --trace-time --proxy1.0 127.0.0.1:41163 -p http://127.0.0.1:45623/we/want/that/page/1078 http://127.0.0.1:45623/we/want/that/page/1078 > log/8/stdout1078 2> log/8/stderr1078 1078: stdout FAILED: --- log/8/check-expected 2026-03-14 05:47:35.104615998 +0000 +++ log/8/check-generated 2026-03-14 05:47:35.104615998 +0000 @@ -1,21 +0,0 @@ -HTTP/1.1 200 Mighty fine indeed[CR][LF] -Server: test tunnel 2000[CR][LF] -[CR][LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] == Contents of files in the log/8/ directory after test 1078 === Start of file check-expected HTTP/1.1 200 Mighty fine indeed[CR][LF] Server: test tunnel 2000[CR][LF] [CR][LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1078 ../src/curl -q --include --trace-ascii log/8/trace1078 --trace-time --proxy1.0 127.0.0.1:41163 -p http://127.0.0.1:45623/we/want/that/page/1078 http://127.0.0.1:45623/we/want/that/page/1078 > log/8/stdout1078 2> log/8/stderr1078 === End of file commands.log === Start of file http2_server.log 05:47:32.889096 ====> Client connect 05:47:32.889129 accept_connection 3 returned 4 05:47:32.889145 accept_connection 3 returned 0 05:47:32.889158 Read 93 bytes 05:47:32.889168 Process 93 bytes request 05:47:32.889188 Got request: GET /verifiedserver HTTP/1.1 05:47:32.889197 Are-we-friendly question received 05:47:32.889222 Wrote request (93 bytes) input to log/8/proxy.input 05:47:32.889242 Identifying ourselves as friends 05:47:32.889305 Response sent (57 bytes) and written to log/8/proxy.response 05:47:32.889318 special request received, no persistency 05:47:32.889327 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41163... * Established connection to 127.0.0.1 (127.0.0.1 port 41163) from 127.0.0.1 port 37346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41163 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41163 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 114247 === End of file http2_verify.out === Start of file http_server.log 05:47:31.787053 ====> Client connect 05:47:31.787094 accept_connection 3 returned 4 05:47:31.787110 accept_connection 3 returned 0 05:47:31.787125 Read 93 bytes 05:47:31.787135 Process 93 bytes request 05:47:31.787148 Got request: GET /verifiedserver HTTP/1.1 05:47:31.787157 Are-we-friendly question received 05:47:31.787180 Wrote request (93 bytes) input to log/8/server.input 05:47:31.787197 Identifying ourselves as friends 05:47:31.787266 Response sent (56 bytes) and written to log/8/server.response 05:47:31.787276 special request received, no persistency 05:47:31.787284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 114247 === End of file proxy.response === Start of file server.cmd Testnum 1078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1078 ==136542== ==136542== Process terminating with default action of signal 4 (SIGILL) ==136542== Illegal opcode at address 0x4014883 ==136542== at 0x4014883: getparameter (tool_getparam.c:2899) ==136542== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136542== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136542== by 0x4004208: main (tool_main.c:189) === End of file valgrind1078 test 1088...[HTTP, proxy with --anyauth and Location: to new host using location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1088 ../src/curl -q --output log/12/curl1088.out --include --trace-ascii log/12/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:36353 --user iam:myself --location-trusted --anyauth > log/12/stdout1088 2> log/12/stderr1088 1088: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1088 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1088 ../src/curl -q --output log/12/curl1088.out --include --trace-ascii log/12/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:36353 --user iam:myself --location-trusted --anyauth > log/12/stdout1088 2> log/12/stderr1088 === End of file commands.log === Start of file http_server.log 05:47:33.423876 ====> Client connect 05:47:33.423926 accept_connection 3 returned 4 05:47:33.423947 accept_connection 3 returned 0 05:47:33.423964 Read 93 bytes 05:47:33.423975 Process 93 bytes request 05:47:33.423992 Got request: GET /verifiedserver HTTP/1.1 05:47:33.424002 Are-we-friendly question received 05:47:33.424030 Wrote request (93 bytes) input to log/12/server.input 05:47:33.424051 Identifying ourselves as friends 05:47:33.424137 Response sent (56 bytes) and written to log/12/server.response 05:47:33.424150 special request received, no persistency 05:47:33.424160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 48098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1088 === End of file server.cmd === Start of file server.response CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1091 ../src/curl -q --output log/3/curl1091.out --include --trace-ascii log/3/trace1091 --trace-time "ftp://127.0.0.1:43409/%2ftmp/moo/1091;type=i" --use-ascii > log/3/stdout1091 2> log/3/stderr1091 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1090 ../src/curl -q --include --trace-ascii log/2/trace1090 --trace-time http://127.0.0.1:41799/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout1090 2> log/2/stderr1090 HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1088 ==137165== ==137165== Process terminating with default action of signal 4 (SIGILL) ==137165== Illegal opcode at address 0x4014883 ==137165== at 0x4014883: getparameter (tool_getparam.c:2899) ==137165== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137165== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137165== by 0x4004208: main (tool_main.c:189) === End of file valgrind1088 test 1091...[FTP URL with type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1091 ../src/curl -q --output log/3/curl1091.out --include --trace-ascii log/3/trace1091 --trace-time "ftp://127.0.0.1:43409/%2ftmp/moo/1091;type=i" --use-ascii > log/3/stdout1091 2> log/3/stderr1091 1091: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1091 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1091 ../src/curl -q --output log/3/curl1091.out --include --trace-ascii log/3/trace1091 --trace-time "ftp://127.0.0.1:43409/%2ftmp/moo/1091;type=i" --use-ascii > log/3/stdout1091 2> log/3/stderr1091 === End of file commands.log === Start of file ftp_server.log 05:47:33.101228 ====> Client connect 05:47:33.102394 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:33.102676 < "USER anonymous" 05:47:33.102741 > "331 We are happy you popped in![CR][LF]" 05:47:33.102881 < "PASS ftp@example.com" 05:47:33.102907 > "230 Welcome you silly person[CR][LF]" 05:47:33.103055 < "PWD" 05:47:33.103086 > "257 "/" is current directory[CR][LF]" 05:47:33.103243 < "EPSV" 05:47:33.103269 ====> Passive DATA channel requested by client 05:47:33.103283 DATA sockfilt for passive data channel starting... 05:47:33.105822 DATA sockfilt for passive data channel started (pid 137272) 05:47:33.105974 DATA sockfilt for passive data channel listens on port 41033 05:47:33.106034 > "229 Entering Passive Mode (|||41033|)[CR][LF]" 05:47:33.106062 Client has been notified that DATA conn will be accepted on port 41033 05:47:33.108942 Client connects to port 41033 05:47:33.108981 ====> Client established passive DATA connection on port 41033 05:47:33.109097 < "TYPE I" 05:47:33.109146 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:33.112524 < "SIZE verifiedserver" 05:47:33.112592 > "213 17[CR][LF]" 05:47:33.112758 < "RETR verifiedserver" 05:47:33.112794 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:33.112906 =====> Closing passive DATA connection... 05:47:33.112926 Server disconnects passive DATA connection 05:47:33.113197 Server disconnected passive DATA connection 05:47:33.113228 DATA sockfilt for passive data channel quits (pid 137272) 05:47:33.113525 DATA sockfilt for passive data channel quit (pid 137272) 05:47:33.113551 =====> Closed passive DATA connection 05:47:33.113578 > "226 File transfer complete[CR][LF]" 05:47:33.157093 < "QUIT" 05:47:33.157154 > "221 bye bye baby[CR][LF]" 05:47:33.158368 MAIN sockfilt said DISC 05:47:33.158399 ====> Client disconnected 05:47:33.158496 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:33.562534 ====> Client connect 05:47:33.563768 Received DATA (on stdin) 05:47:33.563794 > 146 bytes data, server => client 05:47:33.563869 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:33.563880 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:33.563890 '220 \___|\___/|_| \_\_____|\r\n' 05:47:33.563975 < 16 bytes data, client => server 05:47:33.563987 'USER anonymous\r\n' 05:47:33.564145 Received DATA (on stdin) 05:47:33.564157 > 33 bytes data, server => client 05:47:33.564197 '331 We are happy you popped in!\r\n' 05:47:33.564249 < 22 bytes data, client => server 05:47:33.564259 'PASS ftp@example.com\r\n' 05:47:33.564360 Received DATA (on stdin) 05:47:33.564371 > 30 bytes data, server => client 05:47:33.564380 '230 Welcome you silly person\r\n' 05:47:33.564427 < 5 bytes data, client => server 05:47:33.564437 'PWD\r\n' 05:47:33.564539 Received DATA (on stdin) 05:47:33.564550 > 30 bytes data, server => client 05:47:33.564560 '257 "/" is current directory\r\n' 05:47:33.564619 < 6 bytes data, client => server 05:47:33.564629 'EPSV\r\n' 05:47:33.567463 Received DATA (on stdin) 05:47:33.567485 > 39 bytes data, server => client 05:47:33.567497 '229 Entering Passive Mode (|||41033|)\r\n' 05:47:33.567632 < 8 bytes data, client => server 05:47:33.567644 'TYPE I\r\n' 05:47:33.573657 Received DATA (on stdin) 05:47:33.573693 > 33 bytes data, server => client 05:47:33.573705 '200 I modify TYPE as you wanted\r\n' 05:47:33.573812 < 21 bytes data, client => server 05:47:33.573826 'SIZE verifiedserver\r\n' 05:47:33.574051 Received DATA (on stdin) 05:47:33.574062 > 8 bytes data, server => client 05:47:33.574072 '213 17\r\n' 05:47:33.574125 < 21 bytes data, client => server 05:47:33.574136 'RETR verifiedserver\r\n' 05:47:33.574384 Received DATA (on stdin) 05:47:33.574397 > 29 bytes data, server => client 05:47:33.574408 '150 Binary junk (17 bytes).\r\n' 05:47:33.575033 Received DATA (on stdin) 05:47:33.575046 > 28 bytes data, server => client 05:47:33.575055 '226 File transfer complete\r\n' 05:47:33.618341 < 6 bytes data, client => server 05:47:33.618377 'QUIT\r\n' 05:47:33.618612 Received DATA (on stdin) 05:47:33.618624 > 18 bytes data, server => client 05:47:33.618634 '221 bye bye baby\r\n' 05:47:33.619772 ====> Client disconnect 05:47:33.619950 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:33.566893 Running IPv4 version 05:47:33.567000 Listening on port 41033 05:47:33.567041 Wrote pid 137272 to log/3/server/ftp_sockdata.pid 05:47:33.567209 Received PING (on stdin) 05:47:33.567323 Received PORT (on stdin) 05:47:33.570323 ====> Client connect 05:47:33.574440 Received DATA (on stdin) 05:47:33.574459 > 17 bytes data, server => client 05:47:33.574470 'WE ROOLZ: 81310\r\n' 05:47:33.574499 Received DISC (on stdin) 05:47:33.574511 ====> Client forcibly disconnected 05:47:33.574693 Received QUIT (on stdin) 05:47:33.574705 quits 05:47:33.574809 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==137323== ==137323== Process terminating with default action of signal 4 (SIGILL) ==137323== Illegal opcode at address 0x4014883 ==137323== at 0x4014883: getparameter (tool_getparam.c:2899) ==137323== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137323== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137323== by 0x4004208: main (tool_main.c:189) === End of file valgrind1091 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1075 ../src/curl -q --output log/23/curl1075.out --include --trace-ascii log/23/trace1075 --trace-time http://127.0.0.1:33217/1075 -T log/23/put1075 -u testuser:testpass --anyauth > log/23/stdout1075 2> log/23/stderr1075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1081 ../src/curl -q --include --trace-ascii log/7/trace1081 --trace-time http://127.0.0.1:39013/we/want/our/1081 http://127.0.0.1:39013/we/want/our/10810002 -w '%{redirect_url}\n' > log/7/stdout1081 2> log/7/stderr1081 test 1090...[HTTP GET --write-out with redirected fetch and chunked reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1090 ../src/curl -q --include --trace-ascii log/2/trace1090 --trace-time http://127.0.0.1:41799/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout1090 2> log/2/stderr1090 1090: stdout FAILED: --- log/2/check-expected 2026-03-14 05:47:35.374615998 +0000 +++ log/2/check-generated 2026-03-14 05:47:35.374615998 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10900001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:41799/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/2/ directory after test 1090 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10900001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:41799/10900001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1090 ../src/curl -q --include --trace-ascii log/2/trace1090 --trace-time http://127.0.0.1:41799/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout1090 2> log/2/stderr1090 === End of file commands.log === Start of file http_server.log 05:47:33.467032 ====> Client connect 05:47:33.467073 accept_connection 3 returned 4 05:47:33.467089 accept_connection 3 returned 0 05:47:33.467102 Read 93 bytes 05:47:33.467111 Process 93 bytes request 05:47:33.467125 Got request: GET /verifiedserver HTTP/1.1 05:47:33.467133 Are-we-friendly question received 05:47:33.467158 Wrote request (93 bytes) input to log/2/server.input 05:47:33.467175 Identifying ourselves as friends 05:47:33.467241 Response sent (56 bytes) and written to log/2/server.response 05:47:33.467254 special request received, no persistency 05:47:33.467264 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 44382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1090 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1090 ==137201== ==137201== Process terminating with default action of signal 4 (SIGILL) ==137201== Illegal opcode at address 0x4014883 ==137201== at 0x4014883: getparameter (tool_getparam.c:2899) ==137201== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137201== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137201== by 0x4004208: main (tool_main.c:189) === End of file valgrind1090 test 1075...[HTTP PUT with --anyauth authorization (picking Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1075 ../src/curl -q --output log/23/curl1075.out --include --trace-ascii log/23/trace1075 --trace-time http://127.0.0.1:33217/1075 -T log/23/put1075 -u testuser:testpass --anyauth > log/23/stdout1075 2> log/23/stderr1075 1075: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1075 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1075 ../src/curl -q --output log/23/curl1075.out --include --trace-ascii log/23/trace1075 --trace-time http://127.0.0.1:33217/1075 -T log/23/put1075 -u testuser:testpass --anyauth > log/23/stdout1075 2> log/23/stderr1075 === End of file commands.log === Start of file http_server.log 05:47:32.777104 ====> Client connect 05:47:32.777153 accept_connection 3 returned 4 05:47:32.777173 accept_connection 3 returned 0 05:47:32.777191 Read 93 bytes 05:47:32.777201 Process 93 bytes request 05:47:32.777217 Got request: GET /verifiedserver HTTP/1.1 05:47:32.777228 Are-we-friendly question received 05:47:32.777260 Wrote request (93 bytes) input to log/23/server.input 05:47:32.777278 Identifying ourselves as friends 05:47:32.777369 Response sent (56 bytes) and written to log/23/server.response 05:47:32.777382 special request received, no persistency 05:47:32.777392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 49082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file put1075 This is data we upload with PUT a second line line three four is the number of lines === End of file put1075 === Start of file server.cmd Testnum 1075 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1075 ==136431== ==136431== Process terminating with default action of signal 4 (SIGILL) ==136431== Illegal opcode at address 0x4014883 ==136431== at 0x4014883: getparameter (tool_getparam.c:2899) ==136431== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136431== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136431== by 0x4004208: main (tool_main.c:189) === End of file valgrind1075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1092 ../src/curl -q --output log/4/curl1092.out --include --trace-ascii log/4/trace1092 --trace-time "ftp://127.0.0.1:40253/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40253 > log/4/stdout1092 2> log/4/stderr1092 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1087 ../src/curl -q --output log/14/curl1087.out --include --trace-ascii log/14/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:35549 --user iam:myself --location --anyauth > log/14/stdout1087 2> log/14/stderr1087 test 1081...[HTTP no Location: on second URL 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1081 ../src/curl -q --include --trace-ascii log/7/trace1081 --trace-time http://127.0.0.1:39013/we/want/our/1081 http://127.0.0.1:39013/we/want/our/10810002 -w '%{redirect_url}\n' > log/7/stdout1081 2> log/7/stderr1081 1081: stdout FAILED: --- log/7/check-expected 2026-03-14 05:47:35.504615998 +0000 +++ log/7/check-generated 2026-03-14 05:47:35.504615998 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10810099.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:39013/we/want/our/data/10810099.txt?coolsite=yes[LF] -HTTP/1.1 200 Followed here fine swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 41[CR][LF] -[CR][LF] -This second URL does not have a location[LF] -[LF] == Contents of files in the log/7/ directory after test 1081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10810099.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:39013/we/want/our/data/10810099.txt?coolsite=yes[LF] HTTP/1.1 200 Followed here fine swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 41[CR][LF] [CR][LF] This second URL does not have a location[LF] [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1081 ../src/curl -q --include --trace-ascii log/7/trace1081 --trace-time http://127.0.0.1:39013/we/want/our/1081 http://127.0.0.1:39013/we/want/our/10810002 -w '%{redirect_url}\n' > log/7/stdout1081 2> log/7/stderr1081 === End of file commands.log === Start of file http_server.log 05:47:32.043726 ====> Client connect 05:47:32.043771 accept_connection 3 returned 4 05:47:32.043790 accept_connection 3 returned 0 05:47:32.043807 Read 93 bytes 05:47:32.043817 Process 93 bytes request 05:47:32.043831 Got request: GET /verifiedserver HTTP/1.1 05:47:32.043840 Are-we-friendly question received 05:47:32.043870 Wrote request (93 bytes) input to log/7/server.input 05:47:32.043888 Identifying ourselves as friends 05:47:32.043984 Response sent (56 bytes) and written to log/7/server.response 05:47:32.043998 special request received, no persistency 05:47:32.044007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1081 ==136713== ==136713== Process terminating with default action of signal 4 (SIGILL) ==136713== Illegal opcode at address 0x4014883 ==136713== at 0x4014883: getparameter (tool_getparam.c:2899) ==136713== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==136713== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==136713== by 0x4004208: main (tool_main.c:189) === End of file valgrind1081 test 1092...[FTP with type=i over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1092 ../src/curl -q --output log/4/curl1092.out --include --trace-ascii log/4/trace1092 --trace-time "ftp://127.0.0.1:40253/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40253 > log/4/stdout1092 2> log/4/stderr1092 1092: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1092 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1092 ../src/curl -q --output log/4/curl1092.out --include --trace-ascii log/4/trace1092 --trace-time "ftp://127.0.0.1:40253/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40253 > log/4/stdout1092 2> log/4/stderr1092 === End of file commands.log === Start of file http_server.log 05:47:32.827079 ====> Client connect 05:47:32.827134 accept_connection 3 returned 4 05:47:32.827154 accept_connection 3 returned 0 05:47:32.827172 Read 93 bytes 05:47:32.827182 Process 93 bytes request 05:47:32.827196 Got request: GET /verifiedserver HTTP/1.1 05:47:32.827205 Are-we-friendly question received 05:47:32.827229 Wrote request (93 bytes) input to log/4/server.input 05:47:32.827246 Identifying ourselves as friends 05:47:32.827327 Response sent (56 bytes) and written to log/4/server.response 05:47:32.827338 special request received, no persistency 05:47:32.827346 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 40496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1092 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1092 ==137431== ==137431== Process terminating with default action of signal 4 (SIGILL) ==137431== Illegal opcode at address 0x4014883 ==137431== at 0x4014883: getparameter (tool_getparam.c:2899) ==137431== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137431== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137431== by 0x4004208: main (tool_main.c:189) === End of file valgrind1092 test 1087...[HTTP, proxy with --anyauth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1087 ../src/curl -q --output log/14/curl1087.out --include --trace-ascii log/14/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:35549 --user iam:myself --location --anyauth > log/14/stdout1087 2> log/14/stderr1087 1087: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1087 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1087 ../src/curl -q --output log/14/curl1087.out --include --trace-ascii log/14/trace1087 --trace-time http://first.host.it.is/we/want/that/page/108710CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1083 ../src/curl -q --output log/22/curl1083.out --include --trace-ascii log/22/trace1083 --trace-time -g "http://[::1]:34517/1083" --interface ip6-localhost > log/22/stdout1083 2> log/22/stderr1083 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1095 ../src/curl -q --output log/11/curl1095.out --include --trace-ascii log/11/trace1095 --trace-time http://127.0.0.1:34551/1095 -u testuser:testpass --digest > log/11/stdout1095 2> log/11/stderr1095 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1094 ../src/curl -q --output log/24/curl1094.out --include --trace-ascii log/24/trace1094 --trace-time "tftp://127.0.0.1:36273//1094;mode=netascii" > log/24/stdout1094 2> log/24/stderr1094 00 -x 127.0.0.1:35549 --user iam:myself --location --anyauth > log/14/stdout1087 2> log/14/stderr1087 === End of file commands.log === Start of file http_server.log 05:47:33.334258 ====> Client connect 05:47:33.334288 accept_connection 3 returned 4 05:47:33.334303 accept_connection 3 returned 0 05:47:33.334316 Read 93 bytes 05:47:33.334325 Process 93 bytes request 05:47:33.334337 Got request: GET /verifiedserver HTTP/1.1 05:47:33.334346 Are-we-friendly question received 05:47:33.334367 Wrote request (93 bytes) input to log/14/server.input 05:47:33.334382 Identifying ourselves as friends 05:47:33.334431 Response sent (56 bytes) and written to log/14/server.response 05:47:33.334440 special request received, no persistency 05:47:33.334449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 35422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1087 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1087 ==137072== ==137072== Process terminating with default action of signal 4 (SIGILL) ==137072== Illegal opcode at address 0x4014883 ==137072== at 0x4014883: getparameter (tool_getparam.c:2899) ==137072== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137072== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137072== by 0x4004208: main (tool_main.c:189) === End of file valgrind1087 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_ipv6_server.pid" --logfile "log/22/http_ipv6_server.log" --logdir "log/22" --portfile log/22/server/http_ipv6_server.port --config log/22/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 136642 port 34517 * pid http-ipv6 => 136642 136642 prechecked /usr/bin/perl -e "if('[::1]' ne '[::1]') {print 'Test requires default test client host address';} else {exec './server/servers resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}" test 1083...[HTTP-IPv6 GET with ip6-localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1083 ../src/curl -q --output log/22/curl1083.out --include --trace-ascii log/22/trace1083 --trace-time -g "http://[::1]:34517/1083" --interface ip6-localhost > log/22/stdout1083 2> log/22/stderr1083 1083: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1083 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1083 ../src/curl -q --output log/22/curl1083.out --include --trace-ascii log/22/trace1083 --trace-time -g "http://[::1]:34517/1083" --interface ip6-localhost > log/22/stdout1083 2> log/22/stderr1083 === End of file commands.log === Start of file http_ipv6_server.log 05:47:32.073217 Running HTTP IPv6 version on port 34517 05:47:32.074437 Wrote pid 136642 to log/22/server/http_ipv6_server.pid 05:47:32.074472 Wrote port 34517 to log/22/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1083 === End of file server.cmd === Start of file valgrind1083 ==137493== ==137493== Process terminating with default action of signal 4 (SIGILL) ==137493== Illegal opcode at address 0x4014883 ==137493== at 0x4014883: getparameter (tool_getparam.c:2899) ==137493== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137493== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137493== by 0x4004208: main (tool_main.c:189) === End of file valgrind1083 test 1095...[HTTP with Digest and realm with quoted quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1095 ../src/curl -q --output log/11/curl1095.out --include --trace-ascii log/11/trace1095 --trace-time http://127.0.0.1:34551/1095 -u testuser:testpass --digest > log/11/stdout1095 2> log/11/stderr1095 1095: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1095 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1095 ../src/curl -q --output log/11/curl1095.out --include --trace-ascii log/11/trace1095 --trace-time http://127.0.0.1:34551/1095 -u testuser:testpass --digest > log/11/stdout1095 2> log/11/stderr1095 === End of file commands.log === Start of file http_server.log 05:47:34.270436 ====> Client connect 05:47:34.270484 accept_connection 3 returned 4 05:47:34.270506 accept_connection 3 returned 0 05:47:34.270525 Read 93 bytes 05:47:34.270536 Process 93 bytes request 05:47:34.270550 Got request: GET /verifiedserver HTTP/1.1 05:47:34.270560 Are-we-friendly question received 05:47:34.270589 Wrote request (93 bytes) input to log/11/server.input 05:47:34.270611 Identifying ourselves as friends 05:47:34.270700 Response sent (56 bytes) and written to log/11/server.response 05:47:34.270714 special request received, no persistency 05:47:34.270723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 42682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1095 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1095 ==137585== ==137585== Process terminating with default action of signal 4 (SIGILL) ==137585== Illegal opcode at address 0x4014883 ==137585== at 0x4014883: getparameter (tool_getparam.c:2899) ==137585== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137585== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137585== by 0x4004208: main (tool_main.c:189) === End of file valgrind1095 test 1094...[TFTP retrieve with mode=netascii] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1094 ../src/curl -q --output log/24/curl1094.out --include --trace-ascii log/24/trace1094 --trace-time "tftp://127.0.0.1:36273//1094;mode=netascii" > log/24/stdout1094 2> log/24/stderr1094 1094: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1094 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-cheCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/22/stdout1119 2> log/22/stderr1119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1096 ../src/curl -q --output log/19/curl1096.out --include --trace-ascii log/19/trace1096 --trace-time ftp://127.0.0.1:45453/dir/1096 ftp://127.0.0.1:45453/dir/1096 > log/19/stdout1096 2> log/19/stderr1096 ck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1094 ../src/curl -q --output log/24/curl1094.out --include --trace-ascii log/24/trace1094 --trace-time "tftp://127.0.0.1:36273//1094;mode=netascii" > log/24/stdout1094 2> log/24/stderr1094 === End of file commands.log === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 05:47:34.290459 trying to get file: verifiedserver mode 1 05:47:34.290514 Are-we-friendly question received 05:47:34.290530 write 05:47:34.290563 read 05:47:34.291893 read: 4 05:47:34.291961 end of one transfer === End of file tftp_server.log === Start of file valgrind1094 ==137591== ==137591== Process terminating with default action of signal 4 (SIGILL) ==137591== Illegal opcode at address 0x4014883 ==137591== at 0x4014883: getparameter (tool_getparam.c:2899) ==137591== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137591== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137591== by 0x4004208: main (tool_main.c:189) === End of file valgrind1094 test 1119...[Verify that symbols-in-versions and headers are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/22/stdout1119 2> log/22/stderr1119 valgrind SKIPPED s------e--- OK (1063 out of 1773, remaining: 01:30, took 0.798s, duration: 02:15) test 1096...[Two FTP downloads, with failed RETR but reused control connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1096 ../src/curl -q --output log/19/curl1096.out --include --trace-ascii log/19/trace1096 --trace-time ftp://127.0.0.1:45453/dir/1096 ftp://127.0.0.1:45453/dir/1096 > log/19/stdout1096 2> log/19/stderr1096 1096: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1096 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1096 ../src/curl -q --output log/19/curl1096.out --include --trace-ascii log/19/trace1096 --trace-time ftp://127.0.0.1:45453/dir/1096 ftp://127.0.0.1:45453/dir/1096 > log/19/stdout1096 2> log/19/stderr1096 === End of file commands.log === Start of file ftp_server.log 05:47:34.052248 ====> Client connect 05:47:34.052667 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:34.072436 < "USER anonymous" 05:47:34.072513 > "331 We are happy you popped in![CR][LF]" 05:47:34.075744 < "PASS ftp@example.com" 05:47:34.075790 > "230 Welcome you silly person[CR][LF]" 05:47:34.075961 < "PWD" 05:47:34.075999 > "257 "/" is current directory[CR][LF]" 05:47:34.076174 < "EPSV" 05:47:34.076205 ====> Passive DATA channel requested by client 05:47:34.076220 DATA sockfilt for passive data channel starting... 05:47:34.083859 DATA sockfilt for passive data channel started (pid 137709) 05:47:34.084018 DATA sockfilt for passive data channel listens on port 36869 05:47:34.084076 > "229 Entering Passive Mode (|||36869|)[CR][LF]" 05:47:34.084099 Client has been notified that DATA conn will be accepted on port 36869 05:47:34.085835 Client connects to port 36869 05:47:34.085892 ====> Client established passive DATA connection on port 36869 05:47:34.086004 < "TYPE I" 05:47:34.086044 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:34.095812 < "SIZE verifiedserver" 05:47:34.095885 > "213 17[CR][LF]" 05:47:34.096080 < "RETR verifiedserver" 05:47:34.096116 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:34.096217 =====> Closing passive DATA connection... 05:47:34.096234 Server disconnects passive DATA connection 05:47:34.096506 Server disconnected passive DATA connection 05:47:34.096532 DATA sockfilt for passive data channel quits (pid 137709) 05:47:34.096822 DATA sockfilt for passive data channel quit (pid 137709) 05:47:34.096845 =====> Closed passive DATA connection 05:47:34.096872 > "226 File transfer complete[CR][LF]" 05:47:34.149156 < "QUIT" 05:47:34.149221 > "221 bye bye baby[CR][LF]" 05:47:34.158973 MAIN sockfilt said DISC 05:47:34.159047 ====> Client disconnected 05:47:34.159137 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:33.508982 ====> Client connect 05:47:33.517046 Received DATA (on stdin) 05:47:33.517080 > 146 bytes data, server => client 05:47:33.517093 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:33.517103 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:33.517112 '220 \___|\___/|_| \_\_____|\r\n' 05:47:33.523795 < 16 bytes data, client => server 05:47:33.523861 'USER anonymous\r\n' 05:47:33.533989 Received DATA (on stdin) 05:47:33.534015 > 33 bytes data, server => client 05:47:33.534027 '331 We are happy you popped in!\r\n' 05:47:33.537063 < 22 bytes data, client => server 05:47:33.537087 'PASS ftp@example.com\r\n' 05:47:33.537250 Received DATA (on stdin) 05:47:33.537263 > 30 bytes data, server => client 05:47:33.537273 '230 Welcome you silly person\r\n' 05:47:33.537327 < 5 bytes data, client => server 05:47:33.537340 'PWD\r\n' 05:47:33.537459 Received DATA (on stdin) 05:47:33.537471 > 30 bytes data, server => client 05:47:33.537481 '257 "/" is current directory\r\n' 05:47:33.537543 < 6 bytes data, client => server 05:47:33.537555 'EPSV\r\n' 05:47:33.545584 Received DATA (on stdin) 05:47:33.545610 > 39 bytes data, server => client 05:47:33.545621 '229 Entering Passive Mode (|||36869|)\r\n' 05:47:33.547171 < 8 bytes data, client => server 05:47:33.547201 'TYPE I\r\n' 05:47:33.547501 Received DATA (on stdin) 05:47:33.547514 > 33 bytes data, server => client 05:47:33.547523 '200 I modify TYPE as you wanted\r\n' 05:47:33.557027 < 21 bytes data, client => server 05:47:33.557077 'SIZE verifiedserver\r\n' 05:47:33.557345 Received DATA (on stdin) 05:47:33.557356 > 8 bytes data, server => client 05:47:33.557366 '213 17\r\n' 05:47:33.557447 < 21 bytes data, client => server 05:47:33.557459 'RETR verifiedserver\r\n' 05:47:33.557691 Received DATA (on stdin) 05:47:33.557702 > 29 bytes data, server => client 05:47:33.557712 '150 Binary junk (17 bytes).\r\n' 05:47:33.558327 Received DATA (on stdin) 05:47:33.558339 > 28 bytes data, server => client 05:47:33.558350 '226 File transfer complete\r\n' 05:47:33.610348 < 6 bytes data, client => server 05:47:33.610405 'QUIT\r\n' 05:47:33.610680 Received DATA (on stdin) 05:47:33.610690 > 18 bytes data, server => client 05:47:33.610699 '221 bye bye baby\r\n' 05:47:33.620320 ====> Client disconnect 05:47:33.620595 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:34.544894 Running IPv4 version 05:47:34.544982 Listening on port 36869 05:47:34.545059 Wrote pid 137709 to log/19/server/ftp_sockdata.pid 05:47:34.545249 Received PING (on stdin) 05:47:34.545355 Received PORT (on stdin) 05:47:34.547229 ====> Client connect 05:47:34.557779 Received DATA (on stdin) 05:47:34.557798 > 17 bytes data, server => client 05:47:34.557808 'WE ROOLZ: 81129\r\n' 05:47:34.557837 Received DISC (on stdin) 05:47:34.557848 ====> Client forcibly disconnected 05:47:34.557993 Received QUIT (on stdin) 05:47:34.558004 quits 05:47:34.558080 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 no such file REPLY SIZE 500 command not understood Testnum 1096 === End of file server.cmd === Start of file valgrind1096 ==137721== ==137721== Process terminating with default action of signal 4 (SIGILL) ==137721== Illegal opcode at address 0x4014883 ==137721== at 0x4014883: getparameter (tool_getparam.c:2899) ==137721== by 0x4004208: UnknoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1098 ../src/curl -q --include --trace-ascii log/10/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:46741 > log/10/stdout1098 2> log/10/stderr1098 wnInlinedFun (tool_getparam.c:3082) ==137721== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137721== by 0x4004208: main (tool_main.c:189) === End of file valgrind1096 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1093 ../src/curl -q --output log/6/curl1093.out --include --trace-ascii log/6/trace1093 --trace-time "tftp://127.0.0.1:44616//1093;mode=octet" --use-ascii > log/6/stdout1093 2> log/6/stderr1093 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1101 ../src/curl -q --output log/5/curl1101.out --include --trace-ascii log/5/trace1101 --trace-time http://user:secret@127.0.0.1:35621/gimme/1101 > log/5/stdout1101 2> log/5/stderr1101 test 1098...[FTP RETR twice over proxy confirming persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1098 ../src/curl -q --include --trace-ascii log/10/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:46741 > log/10/stdout1098 2> log/10/stderr1098 1098: stdout FAILED: --- log/10/check-expected 2026-03-14 05:47:36.767949330 +0000 +++ log/10/check-generated 2026-03-14 05:47:36.767949330 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] == Contents of files in the log/10/ directory after test 1098 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1098 ../src/curl -q --include --trace-ascii log/10/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:46741 > log/10/stdout1098 2> log/10/stderr1098 === End of file commands.log === Start of file http_server.log 05:47:33.837492 ====> Client connect 05:47:33.837530 accept_connection 3 returned 4 05:47:33.837547 accept_connection 3 returned 0 05:47:33.837563 Read 93 bytes 05:47:33.837574 Process 93 bytes request 05:47:33.837589 Got request: GET /verifiedserver HTTP/1.1 05:47:33.837599 Are-we-friendly question received 05:47:33.837627 Wrote request (93 bytes) input to log/10/server.input 05:47:33.837645 Identifying ourselves as friends 05:47:33.837710 Response sent (56 bytes) and written to log/10/server.response 05:47:33.837722 special request received, no persistency 05:47:33.837731 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 37240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1098 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1098 ==137818== ==137818== Process terminating with default action of signal 4 (SIGILL) ==137818== Illegal opcode at address 0x4014883 ==137818== at 0x4014883: getparameter (tool_getparam.c:2899) ==137818== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137818== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137818== by 0x4004208: main (tool_main.c:189) === End of file valgrind1098 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/6/server/tftp_server.pid" --portfile "log/6/server/tftp_server.port" --logfile "log/6/tftp_server.log" --logdir "log/6" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 137393 port 44616 * pid tftp => 137393 137393 test 1093...[TFTP retrieve with mode=octet] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1093 ../src/curl -q --output log/6/curl1093.out --include --trace-ascii log/6/trace1093 --trace-time "tftp://127.0.0.1:44616//1093;mode=octet" --use-ascii > log/6/stdout1093 2> log/6/stderr1093 1093: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1093 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1093 ../src/curl -q --output log/6/curl1093.out --include --trace-ascii log/6/trace1093 --trace-time "tftp://127.0.0.1:44616//1093;mode=octet" --use-ascii > log/6/stdout1093 2> log/6/stderr1093 === End of file commands.log === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 05:47:33.779587 Wrote pid 137393 to log/6/server/tftp_server.pid 05:47:33.779655 Wrote port 44616 to log/6/server/tftp_server.port 05:47:33.779669 Running IPv4 version on port UDP/44616 === End of file tftp_server.log === Start of file valgrind1093 ==137763== ==137763== Process terminating with default action of signal 4 (SIGILL) ==137763== Illegal opcode at address 0x4014883 ==137763== at 0x4014883: getparameter (tool_getparam.c:2899) ==137763== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137763== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137763== by 0x4004208: main (tool_main.c:189) === End of file valgrind1093 setenv no_proxy = 127.0.0.1 setenv http_proxy = http://non-existing-host.haxx.se:3128/ test 1101...[NO_PROXY test, with username in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1101 ../src/curl -q --output log/5/curl1101.out --include --trace-ascii log/5/trace1101 --trace-time http://user:secret@127.0.0.1:35621/gimme/1101 > log/5/stdout1101 2> log/5/stderr1101 1101: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1101 ../src/curl -q --output log/5/curl1101.out --include --trace-ascii log/5/trace1101 --trace-time http://user:secret@127.0.0.1:35621/gimme/1101 > log/5/stdout1101 2> log/5/stderr1101 === End of file commands.log === Start of file http_server.log 05:47:35.078933 ====> Client connect 05:47:35.078971 accept_connection 3 returned 4 05:47:35.078988 accept_connection 3 returned 0 05:47:35.079002 Read 93 bytes 05:47:35.079013 Process 93 bytes request 05:47:35.079027 Got request: GET /verifiedserver HTTP/1.1 05:47:35.079037 Are-we-friendly question received 05:47:35.079065 Wrote request (93 bytes) input to log/5/server.input 05:47:35.079084 Identifying ourselves as friends 05:47:35.079151 Response sent (56 bytes) and written to log/5/server.response 05:47:35.079164 special request received, no persistency 05:47:35.079173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 50834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE RCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1103 ../src/curl -q --output log/13/curl1103.out --include --trace-ascii log/13/trace1103 --trace-time ftp://127.0.0.1:46845/1103 > log/13/stdout1103 2> log/13/stderr1103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1104 ../src/curl -q --output log/1/curl1104.out --include --trace-ascii log/1/trace1104 --trace-time http://127.0.0.1:38765/want/1104 -L -x 127.0.0.1:38765 -c log/1/cookies1104.jar > log/1/stdout1104 2> log/1/stderr1104 OOLZ: 76297 === End of file server.response === Start of file valgrind1101 ==137925== ==137925== Process terminating with default action of signal 4 (SIGILL) ==137925== Illegal opcode at address 0x4014883 ==137925== at 0x4014883: getparameter (tool_getparam.c:2899) ==137925== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==137925== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==137925== by 0x4004208: main (tool_main.c:189) === End of file valgrind1101 test 1103...[FTP non-OS/400 server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1103 ../src/curl -q --output log/13/curl1103.out --include --trace-ascii log/13/trace1103 --trace-time ftp://127.0.0.1:46845/1103 > log/13/stdout1103 2> log/13/stderr1103 1103: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1103 ../src/curl -q --output log/13/curl1103.out --include --trace-ascii log/13/trace1103 --trace-time ftp://127.0.0.1:46845/1103 > log/13/stdout1103 2> log/13/stderr1103 === End of file commands.log === Start of file ftp_server.log 05:47:34.758072 ====> Client connect 05:47:34.758234 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:34.758528 < "USER anonymous" 05:47:34.758558 > "331 We are happy you popped in![CR][LF]" 05:47:34.758704 < "PASS ftp@example.com" 05:47:34.758726 > "230 Welcome you silly person[CR][LF]" 05:47:34.758859 < "PWD" 05:47:34.758900 > "257 "/" is current directory[CR][LF]" 05:47:34.759048 < "EPSV" 05:47:34.759071 ====> Passive DATA channel requested by client 05:47:34.759084 DATA sockfilt for passive data channel starting... 05:47:34.761355 DATA sockfilt for passive data channel started (pid 137978) 05:47:34.761475 DATA sockfilt for passive data channel listens on port 33099 05:47:34.761511 > "229 Entering Passive Mode (|||33099|)[CR][LF]" 05:47:34.761529 Client has been notified that DATA conn will be accepted on port 33099 05:47:34.761784 Client connects to port 33099 05:47:34.761812 ====> Client established passive DATA connection on port 33099 05:47:34.761894 < "TYPE I" 05:47:34.761921 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:34.763116 < "SIZE verifiedserver" 05:47:34.763158 > "213 17[CR][LF]" 05:47:34.763517 < "RETR verifiedserver" 05:47:34.763550 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:34.763640 =====> Closing passive DATA connection... 05:47:34.763656 Server disconnects passive DATA connection 05:47:34.763840 Server disconnected passive DATA connection 05:47:34.763864 DATA sockfilt for passive data channel quits (pid 137978) 05:47:34.764115 DATA sockfilt for passive data channel quit (pid 137978) 05:47:34.764138 =====> Closed passive DATA connection 05:47:34.764163 > "226 File transfer complete[CR][LF]" 05:47:34.808732 < "QUIT" 05:47:34.808788 > "221 bye bye baby[CR][LF]" 05:47:34.810281 MAIN sockfilt said DISC 05:47:34.810331 ====> Client disconnected 05:47:34.810421 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:35.219409 ====> Client connect 05:47:35.219697 Received DATA (on stdin) 05:47:35.219710 > 146 bytes data, server => client 05:47:35.219722 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:35.219732 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:35.219741 '220 \___|\___/|_| \_\_____|\r\n' 05:47:35.219848 < 16 bytes data, client => server 05:47:35.219858 'USER anonymous\r\n' 05:47:35.220013 Received DATA (on stdin) 05:47:35.220024 > 33 bytes data, server => client 05:47:35.220034 '331 We are happy you popped in!\r\n' 05:47:35.220079 < 22 bytes data, client => server 05:47:35.220089 'PASS ftp@example.com\r\n' 05:47:35.220179 Received DATA (on stdin) 05:47:35.220189 > 30 bytes data, server => client 05:47:35.220198 '230 Welcome you silly person\r\n' 05:47:35.220239 < 5 bytes data, client => server 05:47:35.220248 'PWD\r\n' 05:47:35.220353 Received DATA (on stdin) 05:47:35.220364 > 30 bytes data, server => client 05:47:35.220373 '257 "/" is current directory\r\n' 05:47:35.220427 < 6 bytes data, client => server 05:47:35.220437 'EPSV\r\n' 05:47:35.222988 Received DATA (on stdin) 05:47:35.223003 > 39 bytes data, server => client 05:47:35.223014 '229 Entering Passive Mode (|||33099|)\r\n' 05:47:35.223163 < 8 bytes data, client => server 05:47:35.223176 'TYPE I\r\n' 05:47:35.223375 Received DATA (on stdin) 05:47:35.223386 > 33 bytes data, server => client 05:47:35.223395 '200 I modify TYPE as you wanted\r\n' 05:47:35.224477 < 21 bytes data, client => server 05:47:35.224492 'SIZE verifiedserver\r\n' 05:47:35.224635 Received DATA (on stdin) 05:47:35.224812 > 8 bytes data, server => client 05:47:35.224827 '213 17\r\n' 05:47:35.224885 < 21 bytes data, client => server 05:47:35.224899 'RETR verifiedserver\r\n' 05:47:35.225142 Received DATA (on stdin) 05:47:35.225154 > 29 bytes data, server => client 05:47:35.225165 '150 Binary junk (17 bytes).\r\n' 05:47:35.225617 Received DATA (on stdin) 05:47:35.225629 > 28 bytes data, server => client 05:47:35.225639 '226 File transfer complete\r\n' 05:47:35.269974 < 6 bytes data, client => server 05:47:35.270002 'QUIT\r\n' 05:47:35.270248 Received DATA (on stdin) 05:47:35.270260 > 18 bytes data, server => client 05:47:35.270269 '221 bye bye baby\r\n' 05:47:35.271671 ====> Client disconnect 05:47:35.271885 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:34.222507 Running IPv4 version 05:47:34.222576 Listening on port 33099 05:47:34.222609 Wrote pid 137978 to log/13/server/ftp_sockdata.pid 05:47:34.222755 Received PING (on stdin) 05:47:34.222834 Received PORT (on stdin) 05:47:34.223193 ====> Client connect 05:47:34.225190 Received DATA (on stdin) 05:47:34.225202 > 17 bytes data, server => client 05:47:34.225212 'WE ROOLZ: 81411\r\n' 05:47:34.225235 Received DISC (on stdin) 05:47:34.225246 ====> Client forcibly disconnected 05:47:34.225321 Received QUIT (on stdin) 05:47:34.225331 quits 05:47:34.225384 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "C:/somedir" is the current directory REPLY SYST 215 unknown-OS runs this server Testnum 1103 === End of file server.cmd === Start of file valgrind1103 ==138009== ==138009== Process terminating with default action of signal 4 (SIGILL) ==138009== Illegal opcode at address 0x4014883 ==138009== at 0x4014883: getparameter (tool_getparam.c:2899) ==138009== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138009== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138009== by 0x4004208: main (tool_main.c:189) === End of file valgrind1103 test 1104...[HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1104 ../src/curl -q --output log/1/curl1104.out --include --trace-ascii log/1/trace1104 --trace-time http://127.0.0.1:38765/want/1104 -L -x 127.0.0.1:38765 -c log/1/cookies1104.jar > log/1/stdout1104 2> log/1/stderr1104 1104: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1106 ../src/curl -q --output log/9/curl1106.out --include --trace-ascii log/9/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/9/stdout1106 2> log/9/stderr1106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1110 ../src/curl -q --output log/8/curl1110.out --include --trace-ascii log/8/trace1110 --trace-time http://127.0.0.1:45623/1110?q=foobar#fragment > log/8/stdout1110 2> log/8/stderr1110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1102 ../src/curl -q --output log/18/curl1102.out --include --trace-ascii log/18/trace1102 --trace-time ftp://127.0.0.1:35869/1102 > log/18/stdout1102 2> log/18/stderr1102 1/valgrind1104 ../src/curl -q --output log/1/curl1104.out --include --trace-ascii log/1/trace1104 --trace-time http://127.0.0.1:38765/want/1104 -L -x 127.0.0.1:38765 -c log/1/cookies1104.jar > log/1/stdout1104 2> log/1/stderr1104 === End of file commands.log === Start of file http_server.log 05:47:35.341335 ====> Client connect 05:47:35.341369 accept_connection 3 returned 4 05:47:35.341386 accept_connection 3 returned 0 05:47:35.341401 Read 93 bytes 05:47:35.341410 Process 93 bytes request 05:47:35.341424 Got request: GET /verifiedserver HTTP/1.1 05:47:35.341433 Are-we-friendly question received 05:47:35.341457 Wrote request (93 bytes) input to log/1/server.input 05:47:35.341474 Identifying ourselves as friends 05:47:35.341534 Response sent (56 bytes) and written to log/1/server.response 05:47:35.341546 special request received, no persistency 05:47:35.341555 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 34856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1104 ==138097== ==138097== Process terminating with default action of signal 4 (SIGILL) ==138097== Illegal opcode at address 0x4014883 ==138097== at 0x4014883: getparameter (tool_getparam.c:2899) ==138097== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138097== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138097== by 0x4004208: main (tool_main.c:189) === End of file valgrind1104 setenv ftp_proxy = http://127.0.0.1:33885/ test 1106...[FTP URL and with ftp_proxy environment variable set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1106 ../src/curl -q --output log/9/curl1106.out --include --trace-ascii log/9/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/9/stdout1106 2> log/9/stderr1106 1106: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1106 ../src/curl -q --output log/9/curl1106.out --include --trace-ascii log/9/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/9/stdout1106 2> log/9/stderr1106 === End of file commands.log === Start of file http_server.log 05:47:34.452205 ====> Client connect 05:47:34.452238 accept_connection 3 returned 4 05:47:34.452254 accept_connection 3 returned 0 05:47:34.457336 Read 93 bytes 05:47:34.457365 Process 93 bytes request 05:47:34.457380 Got request: GET /verifiedserver HTTP/1.1 05:47:34.457389 Are-we-friendly question received 05:47:34.457429 Wrote request (93 bytes) input to log/9/server.input 05:47:34.457450 Identifying ourselves as friends 05:47:34.457509 Response sent (56 bytes) and written to log/9/server.response 05:47:34.457520 special request received, no persistency 05:47:34.457529 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 34020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1106 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1106 ==138221== ==138221== Process terminating with default action of signal 4 (SIGILL) ==138221== Illegal opcode at address 0x4014883 ==138221== at 0x4014883: getparameter (tool_getparam.c:2899) ==138221== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138221== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138221== by 0x4004208: main (tool_main.c:189) === End of file valgrind1106 test 1110...[HTTP GET with URL that contains a fragment after the query part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1110 ../src/curl -q --output log/8/curl1110.out --include --trace-ascii log/8/trace1110 --trace-time http://127.0.0.1:45623/1110?q=foobar#fragment > log/8/stdout1110 2> log/8/stderr1110 1110: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1110 ../src/curl -q --output log/8/curl1110.out --include --trace-ascii log/8/trace1110 --trace-time http://127.0.0.1:45623/1110?q=foobar#fragment > log/8/stdout1110 2> log/8/stderr1110 === End of file commands.log === Start of file http_server.log 05:47:34.659989 ====> Client connect 05:47:34.660019 accept_connection 3 returned 4 05:47:34.660034 accept_connection 3 returned 0 05:47:34.660047 Read 93 bytes 05:47:34.660056 Process 93 bytes request 05:47:34.660068 Got request: GET /verifiedserver HTTP/1.1 05:47:34.660076 Are-we-friendly question received 05:47:34.660098 Wrote request (93 bytes) input to log/8/server.input 05:47:34.660111 Identifying ourselves as friends 05:47:34.660158 Response sent (56 bytes) and written to log/8/server.response 05:47:34.660166 special request received, no persistency 05:47:34.660174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1110 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1110 ==138458== ==138458== Process terminating with default action of signal 4 (SIGILL) ==138458== Illegal opcode at address 0x4014883 ==138458== at 0x4014883: getparameter (tool_getparam.c:2899) ==138458== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138458== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138458== by 0x4004208: main (tool_main.c:189) === End of file valgrind1110 test 1102...[FTP OS/400 server name format check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1115 ../src/curl -q --output log/23/curl1115.out --include --trace-ascii log/23/trace1115 --trace-time http://127.0.0.1:33217/1115 > log/23/stdout1115 2> log/23/stderr1115 og-file=log/18/valgrind1102 ../src/curl -q --output log/18/curl1102.out --include --trace-ascii log/18/trace1102 --trace-time ftp://127.0.0.1:35869/1102 > log/18/stdout1102 2> log/18/stderr1102 1102: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1102 ../src/curl -q --output log/18/curl1102.out --include --trace-ascii log/18/trace1102 --trace-time ftp://127.0.0.1:35869/1102 > log/18/stdout1102 2> log/18/stderr1102 === End of file commands.log === Start of file ftp_server.log 05:47:34.738262 ====> Client connect 05:47:34.738454 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:34.738772 < "USER anonymous" 05:47:34.738813 > "331 We are happy you popped in![CR][LF]" 05:47:34.742293 < "PASS ftp@example.com" 05:47:34.742339 > "230 Welcome you silly person[CR][LF]" 05:47:34.742537 < "PWD" 05:47:34.742576 > "257 "/" is current directory[CR][LF]" 05:47:34.742769 < "EPSV" 05:47:34.742798 ====> Passive DATA channel requested by client 05:47:34.742815 DATA sockfilt for passive data channel starting... 05:47:34.762314 DATA sockfilt for passive data channel started (pid 137974) 05:47:34.762492 DATA sockfilt for passive data channel listens on port 34807 05:47:34.762550 > "229 Entering Passive Mode (|||34807|)[CR][LF]" 05:47:34.762569 Client has been notified that DATA conn will be accepted on port 34807 05:47:34.762868 Client connects to port 34807 05:47:34.762898 ====> Client established passive DATA connection on port 34807 05:47:34.762994 < "TYPE I" 05:47:34.763026 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:34.763183 < "SIZE verifiedserver" 05:47:34.763219 > "213 17[CR][LF]" 05:47:34.763362 < "RETR verifiedserver" 05:47:34.763395 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:34.763500 =====> Closing passive DATA connection... 05:47:34.763518 Server disconnects passive DATA connection 05:47:34.763711 Server disconnected passive DATA connection 05:47:34.763734 DATA sockfilt for passive data channel quits (pid 137974) 05:47:34.764045 DATA sockfilt for passive data channel quit (pid 137974) 05:47:34.764070 =====> Closed passive DATA connection 05:47:34.764098 > "226 File transfer complete[CR][LF]" 05:47:34.809077 < "QUIT" 05:47:34.809139 > "221 bye bye baby[CR][LF]" 05:47:34.810396 MAIN sockfilt said DISC 05:47:34.810433 ====> Client disconnected 05:47:34.810517 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:34.199578 ====> Client connect 05:47:34.199928 Received DATA (on stdin) 05:47:34.199945 > 146 bytes data, server => client 05:47:34.199958 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:34.199970 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:34.199980 '220 \___|\___/|_| \_\_____|\r\n' 05:47:34.200063 < 16 bytes data, client => server 05:47:34.200080 'USER anonymous\r\n' 05:47:34.200276 Received DATA (on stdin) 05:47:34.200289 > 33 bytes data, server => client 05:47:34.200310 '331 We are happy you popped in!\r\n' 05:47:34.200369 < 22 bytes data, client => server 05:47:34.200383 'PASS ftp@example.com\r\n' 05:47:34.203800 Received DATA (on stdin) 05:47:34.203815 > 30 bytes data, server => client 05:47:34.203827 '230 Welcome you silly person\r\n' 05:47:34.203894 < 5 bytes data, client => server 05:47:34.203909 'PWD\r\n' 05:47:34.204035 Received DATA (on stdin) 05:47:34.204048 > 30 bytes data, server => client 05:47:34.204059 '257 "/" is current directory\r\n' 05:47:34.204127 < 6 bytes data, client => server 05:47:34.204142 'EPSV\r\n' 05:47:34.224039 Received DATA (on stdin) 05:47:34.224058 > 39 bytes data, server => client 05:47:34.224070 '229 Entering Passive Mode (|||34807|)\r\n' 05:47:34.224241 < 8 bytes data, client => server 05:47:34.224255 'TYPE I\r\n' 05:47:34.224483 Received DATA (on stdin) 05:47:34.224495 > 33 bytes data, server => client 05:47:34.224506 '200 I modify TYPE as you wanted\r\n' 05:47:34.224556 < 21 bytes data, client => server 05:47:34.224568 'SIZE verifiedserver\r\n' 05:47:34.224673 Received DATA (on stdin) 05:47:34.224684 > 8 bytes data, server => client 05:47:34.224694 '213 17\r\n' 05:47:34.224739 < 21 bytes data, client => server 05:47:34.224749 'RETR verifiedserver\r\n' 05:47:34.224976 Received DATA (on stdin) 05:47:34.224988 > 29 bytes data, server => client 05:47:34.224999 '150 Binary junk (17 bytes).\r\n' 05:47:34.225552 Received DATA (on stdin) 05:47:34.225565 > 28 bytes data, server => client 05:47:34.225576 '226 File transfer complete\r\n' 05:47:34.270329 < 6 bytes data, client => server 05:47:34.270364 'QUIT\r\n' 05:47:34.270599 Received DATA (on stdin) 05:47:34.270611 > 18 bytes data, server => client 05:47:34.270622 '221 bye bye baby\r\n' 05:47:34.271797 ====> Client disconnect 05:47:34.271971 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:34.214362 Running IPv4 version 05:47:34.214448 Listening on port 34807 05:47:34.214481 Wrote pid 137974 to log/18/server/ftp_sockdata.pid 05:47:34.223659 Received PING (on stdin) 05:47:34.223834 Received PORT (on stdin) 05:47:34.224276 ====> Client connect 05:47:34.225055 Received DATA (on stdin) 05:47:34.225069 > 17 bytes data, server => client 05:47:34.225079 'WE ROOLZ: 81205\r\n' 05:47:34.225104 Received DISC (on stdin) 05:47:34.225115 ====> Client forcibly disconnected 05:47:34.225250 Received QUIT (on stdin) 05:47:34.225263 quits 05:47:34.225335 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "QGPL" is the current library REPLY SYST 215 OS/400 runs this server REPLY SITE 250 Name format set to 1 Testnum 1102 === End of file server.cmd === Start of file valgrind1102 ==138015== ==138015== Process terminating with default action of signal 4 (SIGILL) ==138015== Illegal opcode at address 0x4014883 ==138015== at 0x4014883: getparameter (tool_getparam.c:2899) ==138015== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138015== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138015== by 0x4004208: main (tool_main.c:189) === End of file valgrind1102 test 1115...[HTTP GET with unexpected 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1115 ../src/curl -q --output log/23/curl1115.out --include --trace-ascii log/23/trace1115 --trace-time http://127.0.0.1:33217/1115 > log/23/stdout1115 2> log/23/stderr1115 1115: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1115 ../src/curl -q --output log/23/curl1115.out --include --trace-ascii log/23/trace1115 --trace-time http://127.0.0.1:33217/1115 > log/23/stdout1115 2> log/23/stderr1115 === End of file commands.log === Start of file http_server.log 05:47:35.970434 ====> Client connect 05:47:35.970472 accept_connection 3 returned 4 05:47:35.970490 accept_connection 3 returned 0 05:47:35.970507 Read 93 bytes 05:47:35.970516 Process 93 bytes request 05:47:35.970531 Got request: GET /verifiedserver HTTP/1.1 05:47:35.970539 Are-we-friendly question received 05:47:35.970567 Wrote request (93 bytes) input to log/23/server.input 05:47:35.970585 Identifying ourselves as friends 05:47:35.970675 Response sent (56 bytCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1111 ../src/curl -q --output log/12/curl1111.out --include --trace-ascii log/12/trace1111 --trace-time http://127.0.0.1:36353/1111?q=foobar#fragment#fragment2 > log/12/stdout1111 2> log/12/stderr1111 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1109 ../src/curl -q --output log/21/curl1109.out --include --trace-ascii log/21/trace1109 --trace-time http://127.0.0.1:42891/1109#test > log/21/stdout1109 2> log/21/stderr1109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1099 ../src/curl -q --include --trace-ascii log/15/trace1099 --trace-time tftp://127.0.0.1:36668/an/invalid-file tftp://127.0.0.1:36668//1099 > log/15/stdout1099 2> log/15/stderr1099 es) and written to log/23/server.response 05:47:35.970687 special request received, no persistency 05:47:35.970696 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 49094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1115 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1115 ==138660== ==138660== Process terminating with default action of signal 4 (SIGILL) ==138660== Illegal opcode at address 0x4014883 ==138660== at 0x4014883: getparameter (tool_getparam.c:2899) ==138660== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138660== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138660== by 0x4004208: main (tool_main.c:189) === End of file valgrind1115 test 1111...[HTTP GET with URL whose fragment contains a # (which is illegal)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1111 ../src/curl -q --output log/12/curl1111.out --include --trace-ascii log/12/trace1111 --trace-time http://127.0.0.1:36353/1111?q=foobar#fragment#fragment2 > log/12/stdout1111 2> log/12/stderr1111 1111: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1111 ../src/curl -q --output log/12/curl1111.out --include --trace-ascii log/12/trace1111 --trace-time http://127.0.0.1:36353/1111?q=foobar#fragment#fragment2 > log/12/stdout1111 2> log/12/stderr1111 === End of file commands.log === Start of file http_server.log 05:47:35.626492 ====> Client connect 05:47:35.626521 accept_connection 3 returned 4 05:47:35.626535 accept_connection 3 returned 0 05:47:35.626549 Read 93 bytes 05:47:35.626558 Process 93 bytes request 05:47:35.626571 Got request: GET /verifiedserver HTTP/1.1 05:47:35.626580 Are-we-friendly question received 05:47:35.626600 Wrote request (93 bytes) input to log/12/server.input 05:47:35.626615 Identifying ourselves as friends 05:47:35.626664 Response sent (56 bytes) and written to log/12/server.response 05:47:35.626673 special request received, no persistency 05:47:35.626682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 48104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1111 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1111 ==138420== ==138420== Process terminating with default action of signal 4 (SIGILL) ==138420== Illegal opcode at address 0x4014883 ==138420== at 0x4014883: getparameter (tool_getparam.c:2899) ==138420== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138420== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138420== by 0x4004208: main (tool_main.c:189) === End of file valgrind1111 test 1109...[HTTP GET with URL that contains fragment after the path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1109 ../src/curl -q --output log/21/curl1109.out --include --trace-ascii log/21/trace1109 --trace-time http://127.0.0.1:42891/1109#test > log/21/stdout1109 2> log/21/stderr1109 1109: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1109 ../src/curl -q --output log/21/curl1109.out --include --trace-ascii log/21/trace1109 --trace-time http://127.0.0.1:42891/1109#test > log/21/stdout1109 2> log/21/stderr1109 === End of file commands.log === Start of file http_server.log 05:47:34.539903 ====> Client connect 05:47:34.539948 accept_connection 3 returned 4 05:47:34.539968 accept_connection 3 returned 0 05:47:34.539983 Read 93 bytes 05:47:34.539993 Process 93 bytes request 05:47:34.540007 Got request: GET /verifiedserver HTTP/1.1 05:47:34.540015 Are-we-friendly question received 05:47:34.540042 Wrote request (93 bytes) input to log/21/server.input 05:47:34.540058 Identifying ourselves as friends 05:47:34.540128 Response sent (56 bytes) and written to log/21/server.response 05:47:34.540139 special request received, no persistency 05:47:34.540148 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 32848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1109 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1109 ==138294== ==138294== Process terminating with default action of signal 4 (SIGILL) ==138294== Illegal opcode at address 0x4014883 ==138294== at 0x4014883: getparameter (tool_getparam.c:2899) ==138294== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138294== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138294== by 0x4004208: main (tool_main.c:189) === End of file valgrind1109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1105 ../src/curl -q --output log/16/curl1105.out --include --trace-ascii log/16/trace1105 --trace-time "http://127.0.0.1:44673/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/16/cookie1105.txt -d "userid=myname&password=mypassword" > log/16/stdout1105 2> log/16/stderr1105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1107 ../src/curl -q --output log/20/curl1107.out --include --trace-ascii log/20/trace1107 --trace-time ftp://127.0.0.1:46185/1107 --ftp-pret > log/20/stdout1107 2> log/20/stderr1107 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/15/server/tftp_server.pid" --portfile "log/15/server/tftp_server.port" --logfile "log/15/tftp_server.log" --logdir "log/15" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 137825 port 36668 * pid tftp => 137825 137825 test 1099...[TFTP get first a non-existing file then an existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1099 ../src/curl -q --include --trace-ascii log/15/trace1099 --trace-time tftp://127.0.0.1:36668/an/invalid-file tftp://127.0.0.1:36668//1099 > log/15/stdout1099 2> log/15/stderr1099 1099: stdout FAILED: --- log/15/check-expected 2026-03-14 05:47:37.564615996 +0000 +++ log/15/check-generated 2026-03-14 05:47:37.564615996 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/15/ directory after test 1099 === Start of file check-expected data for 1099[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1099 ../src/curl -q --include --trace-ascii log/15/trace1099 --trace-time tftp://127.0.0.1:36668/an/invalid-file tftp://127.0.0.1:36668//1099 > log/15/stdout1099 2> log/15/stderr1099 === End of file commands.log === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 05:47:34.909338 Wrote pid 137825 to log/15/server/tftp_server.pid 05:47:34.909406 Wrote port 36668 to log/15/server/tftp_server.port 05:47:34.909420 Running IPv4 version on port UDP/36668 === End of file tftp_server.log === Start of file valgrind1099 ==138620== ==138620== Process terminating with default action of signal 4 (SIGILL) ==138620== Illegal opcode at address 0x4014883 ==138620== at 0x4014883: getparameter (tool_getparam.c:2899) ==138620== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138620== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138620== by 0x4004208: main (tool_main.c:189) === End of file valgrind1099 test 1105...[HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1105 ../src/curl -q --output log/16/curl1105.out --include --trace-ascii log/16/trace1105 --trace-time "http://127.0.0.1:44673/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/16/cookie1105.txt -d "userid=myname&password=mypassword" > log/16/stdout1105 2> log/16/stderr1105 1105: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1105 ../src/curl -q --output log/16/curl1105.out --include --trace-ascii log/16/trace1105 --trace-time "http://127.0.0.1:44673/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/16/cookie1105.txt -d "userid=myname&password=mypassword" > log/16/stdout1105 2> log/16/stderr1105 === End of file commands.log === Start of file http_server.log 05:47:35.360390 ====> Client connect 05:47:35.360446 accept_connection 3 returned 4 05:47:35.360467 accept_connection 3 returned 0 05:47:35.360485 Read 93 bytes 05:47:35.360496 Process 93 bytes request 05:47:35.360511 Got request: GET /verifiedserver HTTP/1.1 05:47:35.360522 Are-we-friendly question received 05:47:35.360552 Wrote request (93 bytes) input to log/16/server.input 05:47:35.360573 Identifying ourselves as friends 05:47:35.360668 Response sent (56 bytes) and written to log/16/server.response 05:47:35.360682 special request received, no persistency 05:47:35.360691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 38266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1105 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1105 ==138107== ==138107== Process terminating with default action of signal 4 (SIGILL) ==138107== Illegal opcode at address 0x4014883 ==138107== at 0x4014883: getparameter (tool_getparam.c:2899) ==138107== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138107== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138107== by 0x4004208: main (tool_main.c:189) === End of file valgrind1105 test 1107...[FTP RETR PASV with PRET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1107 ../src/curl -q --output log/20/curl1107.out --include --trace-ascii log/20/trace1107 --trace-time ftp://127.0.0.1:46185/1107 --ftp-pret > log/20/stdout1107 2> log/20/stderr1107 1107: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1107 ../src/curl -q --output log/20/curl1107.out --include --trace-ascii log/20/trace1107 --trace-time ftp://127.0.0.1:46185/1107 --ftp-pret > log/20/stdout1107 2> log/20/stderr1107 === End of file commands.log === Start of file ftp_server.log 05:47:35.035684 ====> Client connect 05:47:35.035879 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:35.036262 < "USER anonymous" 05:47:35.036304 > "331 We are happy you popped in![CR][LF]" 05:47:35.036506 < "PASS ftp@example.com" 05:47:35.036540 > "230 Welcome you silly person[CR][LF]" 05:47:35.036724 < "PWD" 05:47:35.036763 > "257 "/" is current directory[CR][LF]" 05:47:35.036964 < "EPSV" 05:47:35.036997 ====> Passive DATA channel requested by client 05:47:35.037014 DATA sockfilt for passive data channel starting... 05:47:35.043334 DATA sockfilt for passive data channel started (pid 138245) 05:47:35.046291 DATA sockfilt for passive data channel listens on port 46689 05:47:35.046350 > "229 Entering Passive Mode (|||46689|)[CR][LF]" 05:47:35.046369 Client has been notified that DATA conn will be accepted on port 46689 05:47:35.049451 Client connects to port 46689 05:47:35.049491 ====> Client established passive DATA connection on port 46689 05:47:35.049623 < "TYPE I" 05:47:35.049674 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:35.049861 < "SIZE verifiedserver" 05:47:35.049907 > "213 17[CR][LF]" 05:47:35.050078 < "RETR verifiedserver" 05:47:35.050121 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:35.050232 =====> Closing passive DATA connection... 05:47:35.050259 Server disconnects passive DATA connection 05:47:35.050533 Server disconnected passive DATA connection 05:47:35.050567 DATA sockfilt for passive data channel quits (pid 138245) 05:47:35.050841 DATA sockfilt for passive data chanCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/15/stdout1135 2> log/15/stderr1135 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:34211/fully_simulated/DOS/* > log/2/stdout1114 2> log/2/stderr1114 nel quit (pid 138245) 05:47:35.050873 =====> Closed passive DATA connection 05:47:35.050909 > "226 File transfer complete[CR][LF]" 05:47:35.093462 < "QUIT" 05:47:35.093534 > "221 bye bye baby[CR][LF]" 05:47:35.095200 MAIN sockfilt said DISC 05:47:35.095241 ====> Client disconnected 05:47:35.095339 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:35.496994 ====> Client connect 05:47:35.497359 Received DATA (on stdin) 05:47:35.497378 > 146 bytes data, server => client 05:47:35.497390 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:35.497401 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:35.497412 '220 \___|\___/|_| \_\_____|\r\n' 05:47:35.497551 < 16 bytes data, client => server 05:47:35.497569 'USER anonymous\r\n' 05:47:35.497769 Received DATA (on stdin) 05:47:35.497783 > 33 bytes data, server => client 05:47:35.497794 '331 We are happy you popped in!\r\n' 05:47:35.497856 < 22 bytes data, client => server 05:47:35.497872 'PASS ftp@example.com\r\n' 05:47:35.497998 Received DATA (on stdin) 05:47:35.498011 > 30 bytes data, server => client 05:47:35.498022 '230 Welcome you silly person\r\n' 05:47:35.498080 < 5 bytes data, client => server 05:47:35.498095 'PWD\r\n' 05:47:35.498224 Received DATA (on stdin) 05:47:35.498237 > 30 bytes data, server => client 05:47:35.498248 '257 "/" is current directory\r\n' 05:47:35.498321 < 6 bytes data, client => server 05:47:35.498335 'EPSV\r\n' 05:47:35.510561 Received DATA (on stdin) 05:47:35.510586 > 39 bytes data, server => client 05:47:35.510599 '229 Entering Passive Mode (|||46689|)\r\n' 05:47:35.510806 < 8 bytes data, client => server 05:47:35.510824 'TYPE I\r\n' 05:47:35.511140 Received DATA (on stdin) 05:47:35.511154 > 33 bytes data, server => client 05:47:35.511165 '200 I modify TYPE as you wanted\r\n' 05:47:35.511221 < 21 bytes data, client => server 05:47:35.511235 'SIZE verifiedserver\r\n' 05:47:35.511361 Received DATA (on stdin) 05:47:35.511373 > 8 bytes data, server => client 05:47:35.511382 '213 17\r\n' 05:47:35.511436 < 21 bytes data, client => server 05:47:35.511450 'RETR verifiedserver\r\n' 05:47:35.511723 Received DATA (on stdin) 05:47:35.511737 > 29 bytes data, server => client 05:47:35.511749 '150 Binary junk (17 bytes).\r\n' 05:47:35.512370 Received DATA (on stdin) 05:47:35.512384 > 28 bytes data, server => client 05:47:35.512394 '226 File transfer complete\r\n' 05:47:35.554706 < 6 bytes data, client => server 05:47:35.554743 'QUIT\r\n' 05:47:35.555004 Received DATA (on stdin) 05:47:35.555020 > 18 bytes data, server => client 05:47:35.555031 '221 bye bye baby\r\n' 05:47:35.556370 ====> Client disconnect 05:47:35.556807 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:35.504402 Running IPv4 version 05:47:35.504486 Listening on port 46689 05:47:35.504521 Wrote pid 138245 to log/20/server/ftp_sockdata.pid 05:47:35.504542 Received PING (on stdin) 05:47:35.507627 Received PORT (on stdin) 05:47:35.510850 ====> Client connect 05:47:35.511778 Received DATA (on stdin) 05:47:35.511793 > 17 bytes data, server => client 05:47:35.511804 'WE ROOLZ: 89997\r\n' 05:47:35.511832 Received DISC (on stdin) 05:47:35.511848 ====> Client forcibly disconnected 05:47:35.512037 Received QUIT (on stdin) 05:47:35.512049 quits 05:47:35.512134 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 200 fine Testnum 1107 === End of file server.cmd === Start of file valgrind1107 ==138310== ==138310== Process terminating with default action of signal 4 (SIGILL) ==138310== Illegal opcode at address 0x4014883 ==138310== at 0x4014883: getparameter (tool_getparam.c:2899) ==138310== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138310== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138310== by 0x4004208: main (tool_main.c:189) === End of file valgrind1107 test 1135...[Verify CURL_EXTERN order] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/15/stdout1135 2> log/15/stderr1135 valgrind SKIPPED s------e--- OK (1079 out of 1773, remaining: 01:27, took 0.069s, duration: 02:16) test 1114...[FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:34211/fully_simulated/DOS/* > log/2/stdout1114 2> log/2/stderr1114 1114: stdout FAILED: --- log/2/check-expected 2026-03-14 05:47:37.734615996 +0000 +++ log/2/check-generated 2026-03-14 05:47:37.734615996 +0000 @@ -1,96 +0,0 @@ -=============================================================[LF] -Remains: 12[LF] -Filename: .[LF] -Size: 0B[LF] -Time: 04-27-10 05:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: ..[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod1[LF] -Size: 38B[LF] -Time: 01-11-10 10:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod2[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod3[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: chmod4[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: chmod5[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: empty_file.dat[LF] -Size: 0B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: file.txt[LF] -Size: 35B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Size: 0B[LF] -Time: 01-23-05 02:05AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Size: 47B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/2/ directory after test 1114 === Start of file check-expected =============================================================[LF] Remains: 12[LF] Filename: .[LF] Size: 0B[LF] Time: 04-27-10 05:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 11[LF] Filename: ..[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod1[LF] Size: 38B[LF] Time: 01-11-10 10:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod2[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod3[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 7[LF] Filename: chmod4[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 6[LF] Filename: chmod5[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 5[LF] Filename: empty_file.dat[LF] Size: 0B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 4[LF] Filename: file.txt[LF] Size: 35B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Size: 0B[LF] Time: 01-23-05 02:05AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Size: 47B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1114 ./libtest/libtests CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1117 ../src/curl -q --include --trace-ascii log/4/trace1117 --trace-time -r 10-22 http://127.0.0.1:40253/want/1117 http://127.0.0.1:40253/wantmore/11170001 > log/4/stdout1117 2> log/4/stderr1117 lib576 ftp://127.0.0.1:34211/fully_simulated/DOS/* > log/2/stdout1114 2> log/2/stderr1114 === End of file commands.log === Start of file ftp_server.log 05:47:35.470676 ====> Client connect 05:47:35.470867 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:35.471177 < "USER anonymous" 05:47:35.471220 > "331 We are happy you popped in![CR][LF]" 05:47:35.471393 < "PASS ftp@example.com" 05:47:35.471419 > "230 Welcome you silly person[CR][LF]" 05:47:35.471563 < "PWD" 05:47:35.471593 > "257 "/" is current directory[CR][LF]" 05:47:35.471748 < "EPSV" 05:47:35.471771 ====> Passive DATA channel requested by client 05:47:35.471785 DATA sockfilt for passive data channel starting... 05:47:35.476943 DATA sockfilt for passive data channel started (pid 138627) 05:47:35.477260 DATA sockfilt for passive data channel listens on port 39479 05:47:35.478997 > "229 Entering Passive Mode (|||39479|)[CR][LF]" 05:47:35.479024 Client has been notified that DATA conn will be accepted on port 39479 05:47:35.479323 Client connects to port 39479 05:47:35.479355 ====> Client established passive DATA connection on port 39479 05:47:35.479460 < "TYPE I" 05:47:35.479501 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:35.479686 < "SIZE verifiedserver" 05:47:35.479731 > "213 17[CR][LF]" 05:47:35.479909 < "RETR verifiedserver" 05:47:35.479950 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:35.480058 =====> Closing passive DATA connection... 05:47:35.480081 Server disconnects passive DATA connection 05:47:35.480337 Server disconnected passive DATA connection 05:47:35.480368 DATA sockfilt for passive data channel quits (pid 138627) 05:47:35.480624 DATA sockfilt for passive data channel quit (pid 138627) 05:47:35.480653 =====> Closed passive DATA connection 05:47:35.480685 > "226 File transfer complete[CR][LF]" 05:47:35.533293 < "QUIT" 05:47:35.533349 > "221 bye bye baby[CR][LF]" 05:47:35.534498 MAIN sockfilt said DISC 05:47:35.534537 ====> Client disconnected 05:47:35.534625 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:35.932003 ====> Client connect 05:47:35.932343 Received DATA (on stdin) 05:47:35.932361 > 146 bytes data, server => client 05:47:35.932374 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:35.932385 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:35.932394 '220 \___|\___/|_| \_\_____|\r\n' 05:47:35.932475 < 16 bytes data, client => server 05:47:35.932489 'USER anonymous\r\n' 05:47:35.932683 Received DATA (on stdin) 05:47:35.932696 > 33 bytes data, server => client 05:47:35.932706 '331 We are happy you popped in!\r\n' 05:47:35.932759 < 22 bytes data, client => server 05:47:35.932770 'PASS ftp@example.com\r\n' 05:47:35.932872 Received DATA (on stdin) 05:47:35.932883 > 30 bytes data, server => client 05:47:35.932893 '230 Welcome you silly person\r\n' 05:47:35.932939 < 5 bytes data, client => server 05:47:35.932949 'PWD\r\n' 05:47:35.933046 Received DATA (on stdin) 05:47:35.933056 > 30 bytes data, server => client 05:47:35.933066 '257 "/" is current directory\r\n' 05:47:35.933125 < 6 bytes data, client => server 05:47:35.933135 'EPSV\r\n' 05:47:35.940376 Received DATA (on stdin) 05:47:35.940399 > 39 bytes data, server => client 05:47:35.940487 '229 Entering Passive Mode (|||39479|)\r\n' 05:47:35.940685 < 8 bytes data, client => server 05:47:35.940703 'TYPE I\r\n' 05:47:35.940963 Received DATA (on stdin) 05:47:35.940978 > 33 bytes data, server => client 05:47:35.940989 '200 I modify TYPE as you wanted\r\n' 05:47:35.941045 < 21 bytes data, client => server 05:47:35.941060 'SIZE verifiedserver\r\n' 05:47:35.941192 Received DATA (on stdin) 05:47:35.941204 > 8 bytes data, server => client 05:47:35.941214 '213 17\r\n' 05:47:35.941268 < 21 bytes data, client => server 05:47:35.941282 'RETR verifiedserver\r\n' 05:47:35.941541 Received DATA (on stdin) 05:47:35.941555 > 29 bytes data, server => client 05:47:35.941566 '150 Binary junk (17 bytes).\r\n' 05:47:35.942144 Received DATA (on stdin) 05:47:35.942158 > 28 bytes data, server => client 05:47:35.942168 '226 File transfer complete\r\n' 05:47:35.994548 < 6 bytes data, client => server 05:47:35.994579 'QUIT\r\n' 05:47:35.994806 Received DATA (on stdin) 05:47:35.994817 > 18 bytes data, server => client 05:47:35.994828 '221 bye bye baby\r\n' 05:47:35.995897 ====> Client disconnect 05:47:35.998069 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:35.938103 Running IPv4 version 05:47:35.938184 Listening on port 39479 05:47:35.938218 Wrote pid 138627 to log/2/server/ftp_sockdata.pid 05:47:35.938238 Received PING (on stdin) 05:47:35.938607 Received PORT (on stdin) 05:47:35.940726 ====> Client connect 05:47:35.941595 Received DATA (on stdin) 05:47:35.941610 > 17 bytes data, server => client 05:47:35.941621 'WE ROOLZ: 81084\r\n' 05:47:35.941649 Received DISC (on stdin) 05:47:35.941661 ====> Client forcibly disconnected 05:47:35.941832 Received QUIT (on stdin) 05:47:35.941844 quits 05:47:35.941918 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1114 === End of file server.cmd === Start of file stderr1114 URL: ftp://127.0.0.1:34211/fully_simulated/DOS/* === End of file stderr1114 === Start of file valgrind1114 ==138695== ==138695== Process terminating with default action of signal 4 (SIGILL) ==138695== Illegal opcode at address 0x51D8933 ==138695== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==138695== by 0x51D8933: UnknownInlinedFun (request.c:40) ==138695== by 0x51D8933: Curl_open (url.c:503) ==138695== by 0x514E50F: curl_easy_init (easy.c:350) ==138695== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==138695== by 0x40034B5: main (first.c:279) === End of file valgrind1114 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/2/stdout1139 2> log/2/stderr1139 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1116 ../src/curl -q --output log/7/curl1116.out --include --trace-ascii log/7/trace1116 --trace-time http://127.0.0.1:39013/1116 -D log/7/heads1116 > log/7/stdout1116 2> log/7/stderr1116 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/4/stdout1140 2> log/4/stderr1140 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:43409/fully_simulated/DOS/*.txt" > log/3/stdout1113 2> log/3/stderr1113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1118 ../src/curl -q --output log/14/curl1118.out --include --trace-ascii log/14/trace1118 --trace-time http://127.0.0.1:35549?email=name@example.com/1118 > log/14/stdout1118 2> log/14/stderr1118 test 1117...[HTTP with invalid range then another URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1117 ../src/curl -q --include --trace-ascii log/4/trace1117 --trace-time -r 10-22 http://127.0.0.1:40253/want/1117 http://127.0.0.1:40253/wantmore/11170001 > log/4/stdout1117 2> log/4/stderr1117 1117: stdout FAILED: --- log/4/check-expected 2026-03-14 05:47:37.797949329 +0000 +++ log/4/check-generated 2026-03-14 05:47:37.797949329 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] -Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 115[CR][LF] -[CR][LF] -This is a long error message that is large enough that the test server is[LF] -guaranteed to split it into two packets.[LF] -HTTP/1.1 206 Partial Content[CR][LF] -Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Range: bytes 10-18/155[CR][LF] -Content-Length: 13[CR][LF] -Content-Type: text/plain[CR][LF] -[CR][LF] -partial body[LF] == Contents of files in the log/4/ directory after test 1117 === Start of file check-expected HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 115[CR][LF] [CR][LF] This is a long error message that is large enough that the test server is[LF] guaranteed to split it into two packets.[LF] HTTP/1.1 206 Partial Content[CR][LF] Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Range: bytes 10-18/155[CR][LF] Content-Length: 13[CR][LF] Content-Type: text/plain[CR][LF] [CR][LF] partial body[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1117 ../src/curl -q --include --trace-ascii log/4/trace1117 --trace-time -r 10-22 http://127.0.0.1:40253/want/1117 http://127.0.0.1:40253/wantmore/11170001 > log/4/stdout1117 2> log/4/stderr1117 === End of file commands.log === Start of file http_server.log 05:47:35.127046 ====> Client connect 05:47:35.127078 accept_connection 3 returned 4 05:47:35.127095 accept_connection 3 returned 0 05:47:35.127110 Read 93 bytes 05:47:35.127119 Process 93 bytes request 05:47:35.127132 Got request: GET /verifiedserver HTTP/1.1 05:47:35.127141 Are-we-friendly question received 05:47:35.127164 Wrote request (93 bytes) input to log/4/server.input 05:47:35.127181 Identifying ourselves as friends 05:47:35.127247 Response sent (56 bytes) and written to log/4/server.response 05:47:35.127257 special request received, no persistency 05:47:35.127266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 40512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd writedelay: 100 Testnum 1117 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1117 ==138888== ==138888== Process terminating with default action of signal 4 (SIGILL) ==138888== Illegal opcode at address 0x4014883 ==138888== at 0x4014883: getparameter (tool_getparam.c:2899) ==138888== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138888== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138888== by 0x4004208: main (tool_main.c:189) === End of file valgrind1117 test 1139...[Verify that all libcurl options have man pages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/2/stdout1139 2> log/2/stderr1139 valgrind SKIPPED -r-----e--- OK (1083 out of 1773, remaining: 01:27, took 0.134s, duration: 02:16) test 1116...[HTTP GET with chunked trailer without Trailer:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1116 ../src/curl -q --output log/7/curl1116.out --include --trace-ascii log/7/trace1116 --trace-time http://127.0.0.1:39013/1116 -D log/7/heads1116 > log/7/stdout1116 2> log/7/stderr1116 1116: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1116 ../src/curl -q --output log/7/curl1116.out --include --trace-ascii log/7/trace1116 --trace-time http://127.0.0.1:39013/1116 -D log/7/heads1116 > log/7/stdout1116 2> log/7/stderr1116 === End of file commands.log === Start of file http_server.log 05:47:35.062699 ====> Client connect 05:47:35.062730 accept_connection 3 returned 4 05:47:35.062745 accept_connection 3 returned 0 05:47:35.062759 Read 93 bytes 05:47:35.062769 Process 93 bytes request 05:47:35.062782 Got request: GET /verifiedserver HTTP/1.1 05:47:35.062792 Are-we-friendly question received 05:47:35.062816 Wrote request (93 bytes) input to log/7/server.input 05:47:35.062832 Identifying ourselves as friends 05:47:35.062888 Response sent (56 bytes) and written to log/7/server.response 05:47:35.062897 special request received, no persistency 05:47:35.062906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 51630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1116 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1116 ==138783== ==138783== Process terminating with default action of signal 4 (SIGILL) ==138783== Illegal opcode at address 0x4014883 ==138783== at 0x4014883: getparameter (tool_getparam.c:2899) ==138783== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138783== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138783== by 0x4004208: main (tool_main.c:189) === End of file valgrind1116 test 1140...[Verify the nroff of man pages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/4/stdout1140 2> log/4/stderr1140 valgrind SKIPPED s------e--- OK (1084 out of 1773, remaining: 01:26, took 0.135s, duration: 02:16) test 1113...[FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:43409/fully_simulated/DOS/*.txt" > log/3/stdout1113 2> log/3/stderr1113 1113: stdout FAILED: --- log/3/check-expected 2026-03-14 05:47:38.087949329 +0000 +++ log/3/check-generated 2026-03-14 05:47:38.087949329 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/3/ directory after test 1113 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:43409/fully_simulated/DOS/*.txt" > log/3/stdout1113 2> log/3/stderr1113 === End of file commands.log === Start of file ftp_server.log 05:47:35.333476 ====> Client connect 05:47:35.333648 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:35.334803 < "USER anonymous" 05:47:35.334842 > "331 We are happy you popped in![CR][LF]" 05:47:35.335016 < "PASS ftp@example.com" 05:47:35.335045 > "230 Welcome you silly person[CR][LF]" 05:47:35.335205 < "PWD" 05:47:35.335239 > "257 "/" is current directory[CR][LF]" 05:47:35.335405 < "EPSV" 05:47:35.335432 ====> Passive DATA channel requested by client 05:47:35.335446 DATA sockfilt for passive data channel starting... 05:47:35.338870 DATA sockfilt for passive data channel started (pid 138561) 05:47:35.338998 DATA sockfilt for passive data channel listens on port 44283 05:47:35.339047 > "229 Entering Passive Mode (|||44283|)[CR][LF]" 05:47:35.339065 Client has been notified that DATA conn will be accepted on port 44283 05:47:35.339367 Client connects to port 44283 05:47:35.339398 ====> Client established passive DATA connection on port 44283 05:47:35.339490 < "TYPE I" 05:47:35.339522 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:35.341214 < "SIZE verifiedserver" 05:47:35.341257 > "213 17[CR][LF]" 05:47:35.341411 < "RETR verifiedserver" 05:47:35.341448 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:35.341547 =====> Closing passive DATA connection... 05:47:35.341563 Server disconnects passive DATA connection 05:47:35.341978 Server disconnected passive DATA connection 05:47:35.342007 DATA sockfilt for passive data channel quits (pid 138561) 05:47:35.342443 DATA sockfilt for passive data channel quit (pid 138561) 05:47:35.342472 =====> Closed passive DATA connection 05:47:35.342500 > "226 File transfer complete[CR][LF]" 05:47:35.385969 < "QUIT" 05:47:35.386030 > "221 bye bye baby[CR][LF]" 05:47:35.387444 MAIN sockfilt said DISC 05:47:35.387485 ====> Client disconnected 05:47:35.387564 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:35.794806 ====> Client connect 05:47:35.795114 Received DATA (on stdin) 05:47:35.795128 > 146 bytes data, server => client 05:47:35.795140 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:35.795151 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:35.795161 '220 \___|\___/|_| \_\_____|\r\n' 05:47:35.796094 < 16 bytes data, client => server 05:47:35.796112 'USER anonymous\r\n' 05:47:35.796301 Received DATA (on stdin) 05:47:35.796314 > 33 bytes data, server => client 05:47:35.796325 '331 We are happy you popped in!\r\n' 05:47:35.796378 < 22 bytes data, client => server 05:47:35.796390 'PASS ftp@example.com\r\n' 05:47:35.796500 Received DATA (on stdin) 05:47:35.796512 > 30 bytes data, server => client 05:47:35.796523 '230 Welcome you silly person\r\n' 05:47:35.796574 < 5 bytes data, client => server 05:47:35.796585 'PWD\r\n' 05:47:35.796694 Received DATA (on stdin) 05:47:35.796705 > 30 bytes data, server => client 05:47:35.796715 '257 "/" is current directory\r\n' 05:47:35.796774 < 6 bytes data, client => server 05:47:35.796785 'EPSV\r\n' 05:47:35.800527 Received DATA (on stdin) 05:47:35.800545 > 39 bytes data, server => client 05:47:35.800556 '229 Entering Passive Mode (|||44283|)\r\n' 05:47:35.800739 < 8 bytes data, client => server 05:47:35.800754 'TYPE I\r\n' 05:47:35.800978 Received DATA (on stdin) 05:47:35.800990 > 33 bytes data, server => client 05:47:35.801001 '200 I modify TYPE as you wanted\r\n' 05:47:35.802563 < 21 bytes data, client => server 05:47:35.802580 'SIZE verifiedserver\r\n' 05:47:35.802713 Received DATA (on stdin) 05:47:35.802724 > 8 bytes data, server => client 05:47:35.802734 '213 17\r\n' 05:47:35.802784 < 21 bytes data, client => server 05:47:35.802795 'RETR verifiedserver\r\n' 05:47:35.803018 Received DATA (on stdin) 05:47:35.803029 > 29 bytes data, server => client 05:47:35.803040 '150 Binary junk (17 bytes).\r\n' 05:47:35.803957 Received DATA (on stdin) 05:47:35.803969 > 28 bytes data, server => client 05:47:35.803980 '226 File transfer complete\r\n' 05:47:35.847199 < 6 bytes data, client => server 05:47:35.847249 'QUIT\r\n' 05:47:35.847491 Received DATA (on stdin) 05:47:35.847503 > 18 bytes data, server => client 05:47:35.847514 '221 bye bye baby\r\n' 05:47:35.848843 ====> Client disconnect 05:47:35.849018 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:35.799979 Running IPv4 version 05:47:35.800060 Listening on port 44283 05:47:35.800095 Wrote pid 138561 to log/3/server/ftp_sockdata.pid 05:47:35.800253 Received PING (on stdin) 05:47:35.800360 Received PORT (on stdin) 05:47:35.800775 ====> Client connect 05:47:35.803065 Received DATA (on stdin) 05:47:35.803077 > 17 bytes data, server => client 05:47:35.803087 'WE ROOLZ: 81310\r\n' 05:47:35.803111 Received DISC (on stdin) 05:47:35.803122 ====> Client forcibly disconnected 05:47:35.803471 Received QUIT (on stdin) 05:47:35.803483 quits 05:47:35.803546 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1113 === End of file server.cmd === Start of file stderr1113 URL: ftp://127.0.0.1:43409/fully_simulated/DOS/*.txt === End of file stderr1113 === Start of file valgrind1113 ==138610== ==138610== Process terminating with default action of signal 4 (SIGILL) ==138610== Illegal opcode at address 0x51D8933 ==138610== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==138610== by 0x51D8933: UnknownInlinedFun (request.c:40) ==138610== by 0x51D8933: Curl_open (url.c:503) ==138610== by 0x514E50F: curl_easy_init (easy.c:350) ==138610== by 0x4014866: test_lib574.lto_priv.0 (lib574.c:44) ==138610== by 0x40034B5: main (first.c:279) === End of file valgrind1113 test 1118...[URL without slash and @-letter in query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1118 ../src/curl -q --output log/14/curl1118.out --include --trace-ascii log/14/trace1118 --trace-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1108 ../src/curl -q --output log/17/curl1108.out --include --trace-ascii log/17/trace1108 --trace-time ftp://127.0.0.1:40885/1108 --ftp-pret > log/17/stdout1108 2> log/17/stderr1108 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1121 ../src/curl -q --output log/24/curl1121.out --include --trace-ascii log/24/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:33593/1121 > log/24/stdout1121 2> log/24/stderr1121 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1120 ../src/curl -q --output log/11/curl1120.out --include --trace-ascii log/11/trace1120 --trace-time ftp://127.0.0.1:37471/a/path/1120 > log/11/stdout1120 2> log/11/stderr1120 time http://127.0.0.1:35549?email=name@example.com/1118 > log/14/stdout1118 2> log/14/stderr1118 1118: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1118 ../src/curl -q --output log/14/curl1118.out --include --trace-ascii log/14/trace1118 --trace-time http://127.0.0.1:35549?email=name@example.com/1118 > log/14/stdout1118 2> log/14/stderr1118 === End of file commands.log === Start of file http_server.log 05:47:36.224428 ====> Client connect 05:47:36.224464 accept_connection 3 returned 4 05:47:36.224482 accept_connection 3 returned 0 05:47:36.224498 Read 93 bytes 05:47:36.224508 Process 93 bytes request 05:47:36.224521 Got request: GET /verifiedserver HTTP/1.1 05:47:36.224532 Are-we-friendly question received 05:47:36.224560 Wrote request (93 bytes) input to log/14/server.input 05:47:36.224583 Identifying ourselves as friends 05:47:36.224646 Response sent (56 bytes) and written to log/14/server.response 05:47:36.224663 special request received, no persistency 05:47:36.224673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 35436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1118 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1118 ==138940== ==138940== Process terminating with default action of signal 4 (SIGILL) ==138940== Illegal opcode at address 0x4014883 ==138940== at 0x4014883: getparameter (tool_getparam.c:2899) ==138940== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==138940== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==138940== by 0x4004208: main (tool_main.c:189) === End of file valgrind1118 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_server.pid" --logfile "log/17/ftp_server.log" --logdir "log/17" --portfile "log/17/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40885 (log/17/server/ftp_server.port) RUN: FTP server is PID 138189 port 40885 * pid ftp => 138189 138189 test 1108...[FTP RETR PASV with PRET not supported] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1108 ../src/curl -q --output log/17/curl1108.out --include --trace-ascii log/17/trace1108 --trace-time ftp://127.0.0.1:40885/1108 --ftp-pret > log/17/stdout1108 2> log/17/stderr1108 1108: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1108 ../src/curl -q --output log/17/curl1108.out --include --trace-ascii log/17/trace1108 --trace-time ftp://127.0.0.1:40885/1108 --ftp-pret > log/17/stdout1108 2> log/17/stderr1108 === End of file commands.log === Start of file ftp_server.log 05:47:35.059616 FTP server listens on port IPv4/40885 05:47:35.059698 logged pid 138189 in log/17/server/ftp_server.pid 05:47:35.059727 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:35.520739 Running IPv4 version 05:47:35.520878 Listening on port 40885 05:47:35.520919 Wrote pid 138268 to log/17/server/ftp_sockctrl.pid 05:47:35.520946 Wrote port 40885 to log/17/server/ftp_server.port 05:47:35.520968 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PRET 550 unknown command Testnum 1108 === End of file server.cmd === Start of file valgrind1108 ==139039== ==139039== Process terminating with default action of signal 4 (SIGILL) ==139039== Illegal opcode at address 0x4014883 ==139039== at 0x4014883: getparameter (tool_getparam.c:2899) ==139039== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139039== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139039== by 0x4004208: main (tool_main.c:189) === End of file valgrind1108 test 1121...[HTTP multiple provided Host: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1121 ../src/curl -q --output log/24/curl1121.out --include --trace-ascii log/24/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:33593/1121 > log/24/stdout1121 2> log/24/stderr1121 1121: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1121 ../src/curl -q --output log/24/curl1121.out --include --trace-ascii log/24/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:33593/1121 > log/24/stdout1121 2> log/24/stderr1121 === End of file commands.log === Start of file http_server.log 05:47:36.575283 ====> Client connect 05:47:36.575315 accept_connection 3 returned 4 05:47:36.575335 accept_connection 3 returned 0 05:47:36.575349 Read 93 bytes 05:47:36.575358 Process 93 bytes request 05:47:36.575372 Got request: GET /verifiedserver HTTP/1.1 05:47:36.575380 Are-we-friendly question received 05:47:36.575404 Wrote request (93 bytes) input to log/24/server.input 05:47:36.575420 Identifying ourselves as friends 05:47:36.575480 Response sent (56 bytes) and written to log/24/server.response 05:47:36.575489 special request received, no persistency 05:47:36.575497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 39140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1121 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1121 ==139114== ==139114== Process terminating with default action of signal 4 (SIGILL) ==139114== Illegal opcode at address 0x4014883 ==139114== at 0x4014883: getparameter (tool_getparam.c:2899) ==139114== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139114== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139114== by 0x4004208: main (tool_main.c:189) === End of file valgrind1121 test 1120...[FTP with 421 timCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1122 ../src/curl -q --output log/22/curl1122.out --include --trace-ascii log/22/trace1122 --trace-time http://127.0.0.1:41477/1122 --tr-encoding > log/22/stdout1122 2> log/22/stderr1122 eout response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1120 ../src/curl -q --output log/11/curl1120.out --include --trace-ascii log/11/trace1120 --trace-time ftp://127.0.0.1:37471/a/path/1120 > log/11/stdout1120 2> log/11/stderr1120 1120: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1120 ../src/curl -q --output log/11/curl1120.out --include --trace-ascii log/11/trace1120 --trace-time ftp://127.0.0.1:37471/a/path/1120 > log/11/stdout1120 2> log/11/stderr1120 === End of file commands.log === Start of file ftp_server.log 05:47:36.097380 ====> Client connect 05:47:36.097658 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:36.097961 < "USER anonymous" 05:47:36.097992 > "331 We are happy you popped in![CR][LF]" 05:47:36.098138 < "PASS ftp@example.com" 05:47:36.098163 > "230 Welcome you silly person[CR][LF]" 05:47:36.098294 < "PWD" 05:47:36.098322 > "257 "/" is current directory[CR][LF]" 05:47:36.098461 < "EPSV" 05:47:36.098482 ====> Passive DATA channel requested by client 05:47:36.098496 DATA sockfilt for passive data channel starting... 05:47:36.103541 DATA sockfilt for passive data channel started (pid 139100) 05:47:36.103669 DATA sockfilt for passive data channel listens on port 45923 05:47:36.103712 > "229 Entering Passive Mode (|||45923|)[CR][LF]" 05:47:36.103729 Client has been notified that DATA conn will be accepted on port 45923 05:47:36.104014 Client connects to port 45923 05:47:36.104043 ====> Client established passive DATA connection on port 45923 05:47:36.104131 < "TYPE I" 05:47:36.104159 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:36.104312 < "SIZE verifiedserver" 05:47:36.104352 > "213 17[CR][LF]" 05:47:36.104493 < "RETR verifiedserver" 05:47:36.104526 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:36.104607 =====> Closing passive DATA connection... 05:47:36.104622 Server disconnects passive DATA connection 05:47:36.104845 Server disconnected passive DATA connection 05:47:36.104870 DATA sockfilt for passive data channel quits (pid 139100) 05:47:36.105081 DATA sockfilt for passive data channel quit (pid 139100) 05:47:36.105105 =====> Closed passive DATA connection 05:47:36.105130 > "226 File transfer complete[CR][LF]" 05:47:36.162788 < "QUIT" 05:47:36.162860 > "221 bye bye baby[CR][LF]" 05:47:36.164173 MAIN sockfilt said DISC 05:47:36.164209 ====> Client disconnected 05:47:36.164312 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:36.557838 ====> Client connect 05:47:36.559124 Received DATA (on stdin) 05:47:36.559139 > 146 bytes data, server => client 05:47:36.559150 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:36.559160 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:36.559169 '220 \___|\___/|_| \_\_____|\r\n' 05:47:36.559277 < 16 bytes data, client => server 05:47:36.559288 'USER anonymous\r\n' 05:47:36.559447 Received DATA (on stdin) 05:47:36.559458 > 33 bytes data, server => client 05:47:36.559468 '331 We are happy you popped in!\r\n' 05:47:36.559515 < 22 bytes data, client => server 05:47:36.559524 'PASS ftp@example.com\r\n' 05:47:36.559615 Received DATA (on stdin) 05:47:36.559625 > 30 bytes data, server => client 05:47:36.559634 '230 Welcome you silly person\r\n' 05:47:36.559676 < 5 bytes data, client => server 05:47:36.559685 'PWD\r\n' 05:47:36.559772 Received DATA (on stdin) 05:47:36.559782 > 30 bytes data, server => client 05:47:36.559792 '257 "/" is current directory\r\n' 05:47:36.559843 < 6 bytes data, client => server 05:47:36.559852 'EPSV\r\n' 05:47:36.565191 Received DATA (on stdin) 05:47:36.565206 > 39 bytes data, server => client 05:47:36.565218 '229 Entering Passive Mode (|||45923|)\r\n' 05:47:36.565391 < 8 bytes data, client => server 05:47:36.565405 'TYPE I\r\n' 05:47:36.565615 Received DATA (on stdin) 05:47:36.565626 > 33 bytes data, server => client 05:47:36.565636 '200 I modify TYPE as you wanted\r\n' 05:47:36.565685 < 21 bytes data, client => server 05:47:36.565695 'SIZE verifiedserver\r\n' 05:47:36.565806 Received DATA (on stdin) 05:47:36.565817 > 8 bytes data, server => client 05:47:36.565826 '213 17\r\n' 05:47:36.565872 < 21 bytes data, client => server 05:47:36.565881 'RETR verifiedserver\r\n' 05:47:36.566075 Received DATA (on stdin) 05:47:36.566086 > 29 bytes data, server => client 05:47:36.566096 '150 Binary junk (17 bytes).\r\n' 05:47:36.566584 Received DATA (on stdin) 05:47:36.566596 > 28 bytes data, server => client 05:47:36.566606 '226 File transfer complete\r\n' 05:47:36.620333 < 6 bytes data, client => server 05:47:36.620373 'QUIT\r\n' 05:47:36.624335 Received DATA (on stdin) 05:47:36.624357 > 18 bytes data, server => client 05:47:36.624369 '221 bye bye baby\r\n' 05:47:36.625572 ====> Client disconnect 05:47:36.625780 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:36.564672 Running IPv4 version 05:47:36.564746 Listening on port 45923 05:47:36.564785 Wrote pid 139100 to log/11/server/ftp_sockdata.pid 05:47:36.564942 Received PING (on stdin) 05:47:36.565027 Received PORT (on stdin) 05:47:36.565424 ====> Client connect 05:47:36.566147 Received DATA (on stdin) 05:47:36.566159 > 17 bytes data, server => client 05:47:36.566169 'WE ROOLZ: 81984\r\n' 05:47:36.566192 Received DISC (on stdin) 05:47:36.566203 ====> Client forcibly disconnected 05:47:36.566331 Received QUIT (on stdin) 05:47:36.566340 quits 05:47:36.566404 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 421 Timeout Testnum 1120 === End of file server.cmd === Start of file valgrind1120 ==139135== ==139135== Process terminating with default action of signal 4 (SIGILL) ==139135== Illegal opcode at address 0x4014883 ==139135== at 0x4014883: getparameter (tool_getparam.c:2899) ==139135== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139135== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139135== by 0x4004208: main (tool_main.c:189) === End of file valgrind1120 test 1122...[HTTP GET gzip transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1122 ../src/curl -q --output log/22/curl1122.out --include --trace-ascii log/22/trace1122 --trace-time http://127.0.0.1:41477/1122 --tr-encoding > log/22/stdout1122 2> log/22/stderr1122 1122: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1122 ../src/curl -q --output log/22/curl1122.out --include --trace-ascii log/22/trace1122 --trace-time http://127.0.0.1:41477/1122 --tr-encoding > log/22/stdout1122 2> log/22/stderr1122 === End of file commands.log === Start of file http_server.log 05:47:37.077955 ====> Client connect 05:47:37.077991 accept_connection 3 returned 4 05:47:37.078008 accept_connection 3 returned 0 05:47:37.078023 Read 93 bytes 05:47:37.078033 Process 93 bytes request 05:47:37.078048 Got request: GET /verifiedserver HTTP/1.1 05:47:37.078057 Are-we-friendly question received 05:47:37.078082 Wrote request (93 bytes) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1129 ../src/curl -q --include --trace-ascii log/9/trace1129 --trace-time -d @log/9/file1129 --expect100-timeout 99 http://127.0.0.1:33885/1129 http://127.0.0.1:33885/11290001 > log/9/stdout1129 2> log/9/stderr1129 input to log/22/server.input 05:47:37.078100 Identifying ourselves as friends 05:47:37.078159 Response sent (56 bytes) and written to log/22/server.response 05:47:37.078169 special request received, no persistency 05:47:37.078180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 34726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1122 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1122 ==139273== ==139273== Process terminating with default action of signal 4 (SIGILL) ==139273== Illegal opcode at address 0x4014883 ==139273== at 0x4014883: getparameter (tool_getparam.c:2899) ==139273== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139273== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139273== by 0x4004208: main (tool_main.c:189) === End of file valgrind1122 test 1129...[HTTP POST expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1129 ../src/curl -q --include --trace-ascii log/9/trace1129 --trace-time -d @log/9/file1129 --expect100-timeout 99 http://127.0.0.1:33885/1129 http://127.0.0.1:33885/11290001 > log/9/stdout1129 2> log/9/stderr1129 1129: stdout FAILED: --- log/9/check-expected 2026-03-14 05:47:38.877949328 +0000 +++ log/9/check-generated 2026-03-14 05:47:38.877949328 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/9/ directory after test 1129 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1129 ../src/curl -q --include --trace-ascii log/9/trace1129 --trace-time -d @log/9/file1129 --expect100-timeout 99 http://127.0.0.1:33885/1129 http://127.0.0.1:33885/11290001 > log/9/stdout1129 2> log/9/stderr1129 === End of file commands.log === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 05:47:36.559942 ====> Client connect 05:47:36.559980 accept_connection 3 returned 4 05:47:36.559998 accept_connection 3 returned 0 05:47:36.560015 Read 93 bytes 05:47:36.560026 Process 93 bytes request 05:47:36.560041 Got request: GET /verifiedserver HTTP/1.1 05:47:36.560050 Are-we-friendly question received 05:47:36.560078 Wrote request (93 bytes) input to log/9/server.input 05:47:36.560098 Identifying ourselves as friends 05:47:36.560162 Response sent (56 bytes) and written to log/9/server.response 05:47:36.560174 special request received, no persistency 05:47:36.560184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 34024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1126 ../src/curl -q --output log/5/curl1126.out --include --trace-ascii log/5/trace1126 --trace-time http://127.0.0.1:35621/1126 -z "dec 12 12:00:00 1999 GMT" > log/5/stdout1126 2> log/5/stderr1126 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1128 ../src/curl -q --include --trace-ascii log/1/trace1128 --trace-time http://127.0.0.1:38765/1128 http://127.0.0.1:38765/11280001 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout1128 2> log/1/stderr1128 file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd skip: 1053700 Testnum 1129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1129 ==139636== ==139636== Process terminating with default action of signal 4 (SIGILL) ==139636== Illegal opcode at address 0x4014883 ==139636== at 0x4014883: getparameter (tool_getparam.c:2899) ==139636== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139636== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139636== by 0x4004208: main (tool_main.c:189) === End of file valgrind1129 test 1126...[HTTP 200 If-Modified-Since with newer document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1126 ../src/curl -q --output log/5/curl1126.out --include --trace-ascii log/5/trace1126 --trace-time http://127.0.0.1:35621/1126 -z "dec 12 12:00:00 1999 GMT" > log/5/stdout1126 2> log/5/stderr1126 1126: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1126 ../src/curl -q --output log/5/curl1126.out --include --trace-ascii log/5/trace1126 --trace-time http://127.0.0.1:35621/1126 -z "dec 12 12:00:00 1999 GMT" > log/5/stdout1126 2> log/5/stderr1126 === End of file commands.log === Start of file http_server.log 05:47:37.443129 ====> Client connect 05:47:37.443165 accept_connection 3 returned 4 05:47:37.443181 accept_connection 3 returned 0 05:47:37.452571 Read 93 bytes 05:47:37.452605 Process 93 bytes request 05:47:37.452622 Got request: GET /verifiedserver HTTP/1.1 05:47:37.452632 Are-we-friendly question received 05:47:37.452673 Wrote request (93 bytes) input to log/5/server.input 05:47:37.452693 Identifying ourselves as friends 05:47:37.452779 Response sent (56 bytes) and written to log/5/server.response 05:47:37.452793 special request received, no persistency 05:47:37.452802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 50842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1126 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1126 ==139510== ==139510== Process terminating with default action of signal 4 (SIGILL) ==139510== Illegal opcode at address 0x4014883 ==139510== at 0x4014883: getparameter (tool_getparam.c:2899) ==139510== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139510== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139510== by 0x4004208: main (tool_main.c:189) === End of file valgrind1126 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1131 ../src/curl -q --include --trace-ascii log/18/trace1131 --trace-time -H "Expect: 100-continue" -T log/18/file1131 http://127.0.0.1:39913/1131 -T log/18/file1131 http://127.0.0.1:39913/11310001 --expect100-timeout 99 > log/18/stdout1131 2> log/18/stderr1131 test 1128...[HTTP 200 If-Modified-Since with old+new documents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1128 ../src/curl -q --include --trace-ascii log/1/trace1128 --trace-time http://127.0.0.1:38765/1128 http://127.0.0.1:38765/11280001 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout1128 2> log/1/stderr1128 1128: stdout FAILED: --- log/1/check-expected 2026-03-14 05:47:39.211282661 +0000 +++ log/1/check-generated 2026-03-14 05:47:39.211282661 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -0123456789[LF] == Contents of files in the log/1/ directory after test 1128 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] 0123456789[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1128 ../src/curl -q --include --trace-ascii log/1/trace1128 --trace-time http://127.0.0.1:38765/1128 http://127.0.0.1:38765/11280001 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout1128 2> log/1/stderr1128 === End of file commands.log === Start of file http_server.log 05:47:37.533699 ====> Client connect 05:47:37.533771 accept_connection 3 returned 4 05:47:37.533787 accept_connection 3 returned 0 05:47:37.533799 Read 93 bytes 05:47:37.533808 Process 93 bytes request 05:47:37.533817 Got request: GET /verifiedserver HTTP/1.1 05:47:37.533826 Are-we-friendly question received 05:47:37.533846 Wrote request (93 bytes) input to log/1/server.input 05:47:37.533860 Identifying ourselves as friends 05:47:37.533911 Response sent (56 bytes) and written to log/1/server.response 05:47:37.533919 special request received, no persistency 05:47:37.533928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 34862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1128 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1128 ==139622== ==139622== Process terminating with default action of signal 4 (SIGILL) ==139622== Illegal opcode at address 0x4014883 ==139622== at 0x4014883: getparameter (tool_getparam.c:2899) ==139622== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139622== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139622== by 0x4004208: main (tool_main.c:189) === End of file valgrind1128 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1124 ../src/curl -q --output log/10/curl1124.out --include --trace-ascii log/10/trace1124 --trace-time http://127.0.0.1:46741/1124 --tr-encoding > log/10/stdout1124 2> log/10/stderr1124 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1125 ../src/curl -q --output log/6/curl1125.out --include --trace-ascii log/6/trace1125 --trace-time http://127.0.0.1:33035/1125 --tr-encoding -H "Connection: close" > log/6/stdout1125 2> log/6/stderr1125 test 1131...[HTTP PUT expect 100-continue with a 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1131 ../src/curl -q --include --trace-ascii log/18/trace1131 --trace-time -H "Expect: 100-continue" -T log/18/file1131 http://127.0.0.1:39913/1131 -T log/18/file1131 http://127.0.0.1:39913/11310001 --expect100-timeout 99 > log/18/stdout1131 2> log/18/stderr1131 1131: stdout FAILED: --- log/18/check-expected 2026-03-14 05:47:39.427949327 +0000 +++ log/18/check-generated 2026-03-14 05:47:39.427949327 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 400 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE1[LF] -HTTP/1.1 400 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE2[LF] == Contents of files in the log/18/ directory after test 1131 === Start of file check-expected HTTP/1.1 400 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE1[LF] HTTP/1.1 400 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1131 ../src/curl -q --include --trace-ascii log/18/trace1131 --trace-time -H "Expect: 100-continue" -T log/18/file1131 http://127.0.0.1:39913/1131 -T log/18/file1131 http://127.0.0.1:39913/11310001 --expect100-timeout 99 > log/18/stdout1131 2> log/18/stderr1131 === End of file commands.log === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 05:47:36.775804 ====> Client connect 05:47:36.775839 accept_connection 3 returned 4 05:47:36.775855 accept_connection 3 returned 0 05:47:36.775868 Read 93 bytes 05:47:36.775878 Process 93 bytes request 05:47:36.775892 Got request: GET /verifiedserver HTTP/1.1 05:47:36.775900 Are-we-friendly question received 05:47:36.775924 Wrote request (93 bytes) input to log/18/server.input 05:47:36.775941 Identifying ourselves as friends 05:47:36.775993 Response sent (56 bytes) and written to log/18/server.response 05:47:36.776002 special request received, no persistency 05:47:36.776010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1131 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1131 ==139876== ==139876== Process terminating with default action of signal 4 (SIGILL) ==139876== Illegal opcode at address 0x4014883 ==139876== at 0x4014883: getparameter (tool_getparam.c:2899) ==139876== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139876== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139876== by 0x4004208: main (tool_main.c:189) === End of file valgrind1131 test 1124...[HTTP GET gzip+chunked transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1124 ../src/curl -q --output log/10/curl1124.out --include --trace-ascii log/10/trace1124 --trace-time http://127.0.0.1:46741/1124 --tr-encoding > log/10/stdout1124 2> log/10/stderr1124 1124: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1124 ../src/curl -q --output log/10/curl1124.out --include --trace-ascii log/10/trace1124 --trace-time http://127.0.0.1:46741/1124 --tr-encoding > log/10/stdout1124 2> log/10/stderr1124 === End of file commands.log === Start of file http_server.log 05:47:36.304197 ====> Client connect 05:47:36.304233 accept_connection 3 returned 4 05:47:36.304250 accept_connection 3 returned 0 05:47:36.304416 Read 93 bytes 05:47:36.304433 Process 93 bytes request 05:47:36.304448 Got request: GET /verifiedserver HTTP/1.1 05:47:36.304458 Are-we-friendly question received 05:47:36.304490 Wrote request (93 bytes) input to log/10/server.input 05:47:36.304508 Identifying ourselves as friends 05:47:36.304571 Response sent (56 bytes) and written to log/10/server.response 05:47:36.304583 special request received, no persistency 05:47:36.304592 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 37256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1124 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1124 ==139376== ==139376== Process terminating with default action of signal 4 (SIGILL) ==139376== Illegal opcode at address 0x4014883 ==139376== at 0x4014883: getparameter (tool_getparam.c:2899) ==139376== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139376== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139376== by 0x4004208: main (tool_main.c:189) === End of file valgrind1124 test 1125...[HTTP GET transfer-encoding with custom Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1125 ../src/curl -q --output log/6/curl1125.out --include --trace-ascii log/6/trace1125 --trace-time http://127.0.0.1:33035/1125 --tr-encoding -H "Connection: close" > log/6/stdout1125 2> log/6/stderr1125 1125: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1125 ../src/curl -q --output log/6/curl1125.out --include --trace-ascii log/6/trace1125 --trace-time http://127.0.0.1:33035/1125 --tr-encoding -H "Connection: close" > log/6/stdout1125 2> log/6/stderr1125 === End of file commands.log === Start of file http_server.log 05:47:36.452354 ====> Client connect 05:47:36.452479 accept_connection 3 returned 4 05:47:36.452513 accept_connection 3 returned 0 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1127 ../src/curl -q --output log/13/curl1127.out --include --trace-ascii log/13/trace1127 --trace-time http://127.0.0.1:45359/1127 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout1127 2> log/13/stderr1127 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1130 ../src/curl -q --include --trace-ascii log/8/trace1130 --trace-time -d @log/8/file1130 http://127.0.0.1:45623/1130 http://127.0.0.1:45623/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/8/stdout1130 2> log/8/stderr1130 05:47:36.452530 Read 93 bytes 05:47:36.452540 Process 93 bytes request 05:47:36.452572 Got request: GET /verifiedserver HTTP/1.1 05:47:36.452596 Are-we-friendly question received 05:47:36.452624 Wrote request (93 bytes) input to log/6/server.input 05:47:36.452643 Identifying ourselves as friends 05:47:36.452711 Response sent (56 bytes) and written to log/6/server.response 05:47:36.452722 special request received, no persistency 05:47:36.452732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 36032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1125 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind1125 ==139515== ==139515== Process terminating with default action of signal 4 (SIGILL) ==139515== Illegal opcode at address 0x4014883 ==139515== at 0x4014883: getparameter (tool_getparam.c:2899) ==139515== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139515== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139515== by 0x4004208: main (tool_main.c:189) === End of file valgrind1125 test 1127...[HTTP 200 If-Modified-Since with older document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1127 ../src/curl -q --output log/13/curl1127.out --include --trace-ascii log/13/trace1127 --trace-time http://127.0.0.1:45359/1127 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout1127 2> log/13/stderr1127 1127: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1127 ../src/curl -q --output log/13/curl1127.out --include --trace-ascii log/13/trace1127 --trace-time http://127.0.0.1:45359/1127 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout1127 2> log/13/stderr1127 === End of file commands.log === Start of file http_server.log 05:47:37.497552 ====> Client connect 05:47:37.497593 accept_connection 3 returned 4 05:47:37.497612 accept_connection 3 returned 0 05:47:37.497628 Read 93 bytes 05:47:37.497637 Process 93 bytes request 05:47:37.497650 Got request: GET /verifiedserver HTTP/1.1 05:47:37.497659 Are-we-friendly question received 05:47:37.497684 Wrote request (93 bytes) input to log/13/server.input 05:47:37.497700 Identifying ourselves as friends 05:47:37.497781 Response sent (56 bytes) and written to log/13/server.response 05:47:37.497792 special request received, no persistency 05:47:37.497801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 44504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1127 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1127 ==139580== ==139580== Process terminating with default action of signal 4 (SIGILL) ==139580== Illegal opcode at address 0x4014883 ==139580== at 0x4014883: getparameter (tool_getparam.c:2899) ==139580== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139580== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139580== by 0x4004208: main (tool_main.c:189) === End of file valgrind1127 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1133 ../src/curl -q --output log/12/curl1133.out --include --trace-ascii log/12/trace1133 --trace-time http://127.0.0.1:36353/we/want/1133 -F "file=@\"log/12/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/12/test1133,and;.txt"' -F 'file3=@"log/12/test1133,and;.txt";type=m/f,"log/12/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/12/stdout1133 2> log/12/stderr1133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1136 ../src/curl -q --output log/16/curl1136.out --include --trace-ascii log/16/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/16/jar1136.txt -x 127.0.0.1:44673 > log/16/stdout1136 2> log/16/stderr1136 test 1130...[HTTP POST forced expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1130 ../src/curl -q --include --trace-ascii log/8/trace1130 --trace-time -d @log/8/file1130 http://127.0.0.1:45623/1130 http://127.0.0.1:45623/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/8/stdout1130 2> log/8/stderr1130 1130: stdout FAILED: --- log/8/check-expected 2026-03-14 05:47:39.621282661 +0000 +++ log/8/check-generated 2026-03-14 05:47:39.621282661 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/8/ directory after test 1130 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1130 ../src/curl -q --include --trace-ascii log/8/trace1130 --trace-time -d @log/8/file1130 http://127.0.0.1:45623/1130 http://127.0.0.1:45623/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/8/stdout1130 2> log/8/stderr1130 === End of file commands.log === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 05:47:36.533253 ====> Client connect 05:47:36.533290 accept_connection 3 returned 4 05:47:36.533308 accept_connection 3 returned 0 05:47:36.533456 Read 93 bytes 05:47:36.533472 Process 93 bytes request 05:47:36.533486 Got request: GET /verifiedserver HTTP/1.1 05:47:36.533496 Are-we-friendly question received 05:47:36.533523 Wrote request (93 bytes) input to log/8/server.input 05:47:36.533542 Identifying ourselves as friends 05:47:36.533605 Response sent (56 bytes) and written to log/8/server.response 05:47:36.533617 special request received, no persistency 05:47:36.533626 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1130 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1130 ==139615== ==139615== Process terminating with default action of signal 4 (SIGILL) ==139615== Illegal opcode at address 0x4014883 ==139615== at 0x4014883: getparameter (tool_getparam.c:2899) ==139615== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139615== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139615== by 0x4004208: main (tool_main.c:189) === End of file valgrind1130 test 1133...[HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1133 ../src/curl -q --output log/12/curl1133.out --include --trace-ascii log/12/trace1133 --trace-time http://127.0.0.1:36353/we/want/1133 -F "file=@\"log/12/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/12/test1133,and;.txt"' -F 'file3=@"log/12/test1133,and;.txt";type=m/f,"log/12/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/12/stdout1133 2> log/12/stderr1133 1133: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1133 ../src/curl -q --output log/12/curl1133.out --include --trace-ascii log/12/trace1133 --trace-time http://127.0.0.1:36353/we/want/1133 -F "file=@\"log/12/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/12/test1133,and;.txt"' -F 'file3=@"log/12/test1133,and;.txt";type=m/f,"log/12/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/12/stdout1133 2> log/12/stderr1133 === End of file commands.log === Start of file http_server.log 05:47:37.995296 ====> Client connect 05:47:37.995323 accept_connection 3 returned 4 05:47:37.995336 accept_connection 3 returned 0 05:47:37.995349 Read 93 bytes 05:47:37.995357 Process 93 bytes request 05:47:37.995370 Got request: GET /verifiedserver HTTP/1.1 05:47:37.995378 Are-we-friendly question received 05:47:37.995428 Wrote request (93 bytes) input to log/12/server.input 05:47:37.995443 Identifying ourselves as friends 05:47:37.995491 Response sent (56 bytes) and written to log/12/server.response 05:47:37.995499 special request received, no persistency 05:47:37.995507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 50590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1133 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file test1133,and;.txt foo bar This is a bar foo bar foo === End of file test1133,and;.txt === Start of file valgrind1133 ==139974== ==139974== Process terminating with default action of signal 4 (SIGILL) ==139974== Illegal opcode at address 0x4014883 ==139974== at 0x4014883: getparameter (tool_getparam.c:2899) ==139974== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139974== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139974== by 0x4004208: main (tool_main.c:189) === End of file valgrind1133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1123 ../src/curl -q --output log/19/curl1123.out --include --trace-ascii log/19/trace1123 --trace-time http://127.0.0.1:35701/1123 --tr-encoding > log/19/stdout1123 2> log/19/stderr1123 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1134 ../src/curl -q --output log/21/curl1134.out --include --trace-ascii log/21/trace1134 --trace-time http://127.0.0.1:42891/1134 -u user1:password1 --next http://127.0.0.1:42891/11340001 -u 2user:password2 > log/21/stdout1134 2> log/21/stderr1134 setenv TZ = GMT test 1136...[Check cookies against PSL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1136 ../src/curl -q --output log/16/curl1136.out --include --trace-ascii log/16/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/16/jar1136.txt -x 127.0.0.1:44673 > log/16/stdout1136 2> log/16/stderr1136 1136: data FAILED: --- log/16/check-expected 2026-03-14 05:47:39.781282661 +0000 +++ log/16/check-generated 2026-03-14 05:47:39.781282661 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 4[LF] -Content-Type: text/html[LF] -Funny-head: yesyes[LF] -Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] -Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] -Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] -Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] -Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] -[LF] -boo[LF] == Contents of files in the log/16/ directory after test 1136 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 4[LF] Content-Type: text/html[LF] Funny-head: yesyes[LF] Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] [LF] boo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1136 ../src/curl -q --output log/16/curl1136.out --include --trace-ascii log/16/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/16/jar1136.txt -x 127.0.0.1:44673 > log/16/stdout1136 2> log/16/stderr1136 === End of file commands.log === Start of file http_server.log 05:47:38.141814 ====> Client connect 05:47:38.141852 accept_connection 3 returned 4 05:47:38.141869 accept_connection 3 returned 0 05:47:38.141884 Read 93 bytes 05:47:38.141894 Process 93 bytes request 05:47:38.141908 Got request: GET /verifiedserver HTTP/1.1 05:47:38.141917 Are-we-friendly question received 05:47:38.141960 Wrote request (93 bytes) input to log/16/server.input 05:47:38.141978 Identifying ourselves as friends 05:47:38.142040 Response sent (56 bytes) and written to log/16/server.response 05:47:38.142050 special request received, no persistency 05:47:38.142059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 53980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1136 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1136 ==140091== ==140091== Process terminating with default action of signal 4 (SIGILL) ==140091== Illegal opcode at address 0x4014883 ==140091== at 0x4014883: getparameter (tool_getparam.c:2899) ==140091== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140091== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140091== by 0x4004208: main (tool_main.c:189) === End of file valgrind1136 test 1123...[HTTP GET deflate transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1123 ../src/curl -q --output log/19/curl1123.out --include --trace-ascii log/19/trace1123 --trace-time http://127.0.0.1:35701/1123 --tr-encoding > log/19/stdout1123 2> log/19/stderr1123 1123: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1123 ../src/curl -q --output log/19/curl1123.out --include --trace-ascii log/19/trace1123 --trace-time http://127.0.0.1:35701/1123 --tr-encoding > log/19/stdout1123 2> log/19/stderr1123 === End of file commands.log === Start of file http_server.log 05:47:36.223715 ====> Client connect 05:47:36.223753 accept_connection 3 returned 4 05:47:36.223770 accept_connection 3 returned 0 05:47:36.223785 Read 93 bytes 05:47:36.223794 Process 93 bytes request 05:47:36.223807 Got request: GET /verifiedserver HTTP/1.1 05:47:36.223816 Are-we-friendly question received 05:47:36.223838 Wrote request (93 bytes) input to log/19/server.input 05:47:36.223854 Identifying ourselves as friends 05:47:36.223931 Response sent (56 bytes) and written to log/19/server.response 05:47:36.223941 special request received, no persistency 05:47:36.223950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 60494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1123 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1123 ==139339== ==139339== Process terminating with default action of signal 4 (SIGILL) ==139339== Illegal opcode at address 0x4014883 ==139339== at 0x4014883: getparameter (tool_getparam.c:2899) ==139339== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139339== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139339== by 0x4004208: main (tool_main.c:189) === End of file valgrind1123 test 1134...[HTTP connection reuse with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1134 ../src/curl -q --output log/21/curl1134.out --include --trace-ascii log/21/trace1134 --trace-time http://127.0.0.1:42891/1134 -u user1:password1 --next http://127.0.0.1:42891/11340001 -u 2user:password2 > log/21/stdout1134 2> log/21/stderr1134 1134: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1134 ../src/curl -q --output log/21/curl1134.out --include --trace-ascii log/21/trace1134 --trace-time http://127.0.0.1:42891/1134 -u user1:password1 --next http://127.0.0.1:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1138 ../src/curl -q --output log/15/curl1138.out --include --trace-ascii log/15/trace1138 --trace-time http://127.0.0.1:43413/we/are/all/twits/1138 -L > log/15/stdout1138 2> log/15/stderr1138 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1145 ../src/curl -q --output log/14/curl1145.out --include --trace-ascii log/14/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/14/test1145.txt > log/14/stdout1145 2> log/14/stderr1145 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1137 ../src/curl -q --output log/20/curl1137.out --include --trace-ascii log/20/trace1137 --trace-time ftp://127.0.0.1:46185/1137 --ignore-content-length > log/20/stdout1137 2> log/20/stderr1137 2891/11340001 -u 2user:password2 > log/21/stdout1134 2> log/21/stderr1134 === End of file commands.log === Start of file http_server.log 05:47:37.000405 ====> Client connect 05:47:37.000457 accept_connection 3 returned 4 05:47:37.000482 accept_connection 3 returned 0 05:47:37.000500 Read 93 bytes 05:47:37.000511 Process 93 bytes request 05:47:37.000527 Got request: GET /verifiedserver HTTP/1.1 05:47:37.000536 Are-we-friendly question received 05:47:37.000565 Wrote request (93 bytes) input to log/21/server.input 05:47:37.000585 Identifying ourselves as friends 05:47:37.000679 Response sent (56 bytes) and written to log/21/server.response 05:47:37.000693 special request received, no persistency 05:47:37.000703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 52202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1134 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1134 ==139977== ==139977== Process terminating with default action of signal 4 (SIGILL) ==139977== Illegal opcode at address 0x4014883 ==139977== at 0x4014883: getparameter (tool_getparam.c:2899) ==139977== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==139977== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==139977== by 0x4004208: main (tool_main.c:189) === End of file valgrind1134 test 1138...[HTTP redirect with UTF-8 characters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1138 ../src/curl -q --output log/15/curl1138.out --include --trace-ascii log/15/trace1138 --trace-time http://127.0.0.1:43413/we/are/all/twits/1138 -L > log/15/stdout1138 2> log/15/stderr1138 1138: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1138 ../src/curl -q --output log/15/curl1138.out --include --trace-ascii log/15/trace1138 --trace-time http://127.0.0.1:43413/we/are/all/twits/1138 -L > log/15/stdout1138 2> log/15/stderr1138 === End of file commands.log === Start of file http_server.log 05:47:38.193710 ====> Client connect 05:47:38.193783 accept_connection 3 returned 4 05:47:38.193805 accept_connection 3 returned 0 05:47:38.193821 Read 93 bytes 05:47:38.193832 Process 93 bytes request 05:47:38.193847 Got request: GET /verifiedserver HTTP/1.1 05:47:38.193858 Are-we-friendly question received 05:47:38.193889 Wrote request (93 bytes) input to log/15/server.input 05:47:38.193910 Identifying ourselves as friends 05:47:38.193981 Response sent (56 bytes) and written to log/15/server.response 05:47:38.193992 special request received, no persistency 05:47:38.194001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 33256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1138 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1138 ==140125== ==140125== Process terminating with default action of signal 4 (SIGILL) ==140125== Illegal opcode at address 0x4014883 ==140125== at 0x4014883: getparameter (tool_getparam.c:2899) ==140125== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140125== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140125== by 0x4004208: main (tool_main.c:189) === End of file valgrind1138 test 1145...[file:// bad host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1145 ../src/curl -q --output log/14/curl1145.out --include --trace-ascii log/14/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/14/test1145.txt > log/14/stdout1145 2> log/14/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/14/ directory after test 1145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1145 ../src/curl -q --output log/14/curl1145.out --include --trace-ascii log/14/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/14/test1145.txt > log/14/stdout1145 2> log/14/stderr1145 === End of file commands.log === Start of file server.cmd Testnum 1145 === End of file server.cmd === Start of file test1145.txt foo bar bar foo moo === End of file test1145.txt === Start of file valgrind1145 ==140432== ==140432== Process terminating with default action of signal 4 (SIGILL) ==140432== Illegal opcode at address 0x4014883 ==140432== at 0x4014883: getparameter (tool_getparam.c:2899) ==140432== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140432== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140432== by 0x4004208: main (tool_main.c:189) === End of file valgrind1145 test 1137...[FTP RETR --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1137 ../src/curl -q --output log/20/curl1137.out --include --trace-ascii log/20/trace1137 --trace-time ftp://127.0.0.1:46185/1137 --ignore-content-length > log/20/stdout1137 2> log/20/stderr1137 1137: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1137 ../src/curl -q --output log/20/curl1137.out --include --trace-ascii log/20/trace1137 --trace-time ftp://127.0.0.1:46185/1137 --ignore-content-length > log/20/stdout1137 2> log/20/stderr1137 === End of file commands.log === Start of file ftp_server.log 05:47:37.682234 ====> Client connect 05:47:37.695791 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:37.709069 < "USER anonymous" 05:47:37.709135 > "331 We are happy you popped in![CR][LF]" 05:47:37.717550 < "PASS ftp@example.com" 05:47:37.717622 > "230 Welcome you silly person[CR][LF]" 05:47:37.722428 < "PWD" 05:47:37.722503 > "257 "/" is current directory[CR][LF]" 05:47:37.722724 < "EPSV" 05:47:37.722752 ====> Passive DATACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1142 ../src/curl -q --output log/7/curl1142.out --include --trace-ascii log/7/trace1142 --trace-time 127.0.0.1:39013/want/1142 -L -x http://127.0.0.1:39013 > log/7/stdout1142 2> log/7/stderr1142 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/7/stdout1165 2> log/7/stderr1165 channel requested by client 05:47:37.722766 DATA sockfilt for passive data channel starting... 05:47:37.730816 DATA sockfilt for passive data channel started (pid 140090) 05:47:37.731007 DATA sockfilt for passive data channel listens on port 37115 05:47:37.731063 > "229 Entering Passive Mode (|||37115|)[CR][LF]" 05:47:37.731086 Client has been notified that DATA conn will be accepted on port 37115 05:47:37.731890 Client connects to port 37115 05:47:37.731921 ====> Client established passive DATA connection on port 37115 05:47:37.732052 < "TYPE I" 05:47:37.732085 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:37.732255 < "SIZE verifiedserver" 05:47:37.732298 > "213 17[CR][LF]" 05:47:37.732451 < "RETR verifiedserver" 05:47:37.732485 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:37.732597 =====> Closing passive DATA connection... 05:47:37.732619 Server disconnects passive DATA connection 05:47:37.732740 Server disconnected passive DATA connection 05:47:37.732764 DATA sockfilt for passive data channel quits (pid 140090) 05:47:37.733035 DATA sockfilt for passive data channel quit (pid 140090) 05:47:37.733066 =====> Closed passive DATA connection 05:47:37.733095 > "226 File transfer complete[CR][LF]" 05:47:37.779259 < "QUIT" 05:47:37.779326 > "221 bye bye baby[CR][LF]" 05:47:37.780536 MAIN sockfilt said DISC 05:47:37.780573 ====> Client disconnected 05:47:37.780736 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:38.140335 ====> Client connect 05:47:38.160322 Received DATA (on stdin) 05:47:38.160368 > 146 bytes data, server => client 05:47:38.160381 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:38.160392 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:38.160401 '220 \___|\___/|_| \_\_____|\r\n' 05:47:38.167010 < 16 bytes data, client => server 05:47:38.167070 'USER anonymous\r\n' 05:47:38.173667 Received DATA (on stdin) 05:47:38.173711 > 33 bytes data, server => client 05:47:38.173723 '331 We are happy you popped in!\r\n' 05:47:38.179082 < 22 bytes data, client => server 05:47:38.179101 'PASS ftp@example.com\r\n' 05:47:38.179116 Received DATA (on stdin) 05:47:38.179126 > 30 bytes data, server => client 05:47:38.179137 '230 Welcome you silly person\r\n' 05:47:38.183684 < 5 bytes data, client => server 05:47:38.183719 'PWD\r\n' 05:47:38.183961 Received DATA (on stdin) 05:47:38.183972 > 30 bytes data, server => client 05:47:38.183983 '257 "/" is current directory\r\n' 05:47:38.184091 < 6 bytes data, client => server 05:47:38.184103 'EPSV\r\n' 05:47:38.193083 Received DATA (on stdin) 05:47:38.193108 > 39 bytes data, server => client 05:47:38.193119 '229 Entering Passive Mode (|||37115|)\r\n' 05:47:38.193390 < 8 bytes data, client => server 05:47:38.193400 'TYPE I\r\n' 05:47:38.193539 Received DATA (on stdin) 05:47:38.193549 > 33 bytes data, server => client 05:47:38.193558 '200 I modify TYPE as you wanted\r\n' 05:47:38.193604 < 21 bytes data, client => server 05:47:38.193614 'SIZE verifiedserver\r\n' 05:47:38.193752 Received DATA (on stdin) 05:47:38.193763 > 8 bytes data, server => client 05:47:38.193773 '213 17\r\n' 05:47:38.193824 < 21 bytes data, client => server 05:47:38.193835 'RETR verifiedserver\r\n' 05:47:38.194553 Received DATA (on stdin) 05:47:38.194566 > 29 bytes data, server => client 05:47:38.194576 '150 Binary junk (17 bytes).\r\n' 05:47:38.194600 Received DATA (on stdin) 05:47:38.194610 > 28 bytes data, server => client 05:47:38.194620 '226 File transfer complete\r\n' 05:47:38.240497 < 6 bytes data, client => server 05:47:38.240530 'QUIT\r\n' 05:47:38.240791 Received DATA (on stdin) 05:47:38.240805 > 18 bytes data, server => client 05:47:38.240815 '221 bye bye baby\r\n' 05:47:38.241935 ====> Client disconnect 05:47:38.242206 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:37.185911 Running IPv4 version 05:47:37.185997 Listening on port 37115 05:47:37.186042 Wrote pid 140090 to log/20/server/ftp_sockdata.pid 05:47:37.189336 Received PING (on stdin) 05:47:37.192349 Received PORT (on stdin) 05:47:37.193296 ====> Client connect 05:47:37.194078 Received DATA (on stdin) 05:47:37.194091 > 17 bytes data, server => client 05:47:37.194102 'WE ROOLZ: 89997\r\n' 05:47:37.194130 Received DISC (on stdin) 05:47:37.194143 ====> Client forcibly disconnected 05:47:37.194229 Received QUIT (on stdin) 05:47:37.194242 quits 05:47:37.194328 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1137 === End of file server.cmd === Start of file valgrind1137 ==140159== ==140159== Process terminating with default action of signal 4 (SIGILL) ==140159== Illegal opcode at address 0x4014883 ==140159== at 0x4014883: getparameter (tool_getparam.c:2899) ==140159== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140159== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140159== by 0x4004208: main (tool_main.c:189) === End of file valgrind1137 test 1142...[HTTP redirect to http://// (four slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1142 ../src/curl -q --output log/7/curl1142.out --include --trace-ascii log/7/trace1142 --trace-time 127.0.0.1:39013/want/1142 -L -x http://127.0.0.1:39013 > log/7/stdout1142 2> log/7/stderr1142 1142: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1142 ../src/curl -q --output log/7/curl1142.out --include --trace-ascii log/7/trace1142 --trace-time 127.0.0.1:39013/want/1142 -L -x http://127.0.0.1:39013 > log/7/stdout1142 2> log/7/stderr1142 === End of file commands.log === Start of file http_server.log 05:47:37.447041 ====> Client connect 05:47:37.447083 accept_connection 3 returned 4 05:47:37.447101 accept_connection 3 returned 0 05:47:37.447116 Read 93 bytes 05:47:37.447126 Process 93 bytes request 05:47:37.447140 Got request: GET /verifiedserver HTTP/1.1 05:47:37.447149 Are-we-friendly question received 05:47:37.447198 Wrote request (93 bytes) input to log/7/server.input 05:47:37.447215 Identifying ourselves as friends 05:47:37.447287 Response sent (56 bytes) and written to log/7/server.response 05:47:37.447297 special request received, no persistency 05:47:37.447306 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 60276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1142 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1142 ==140337== ==140337== Process terminating with default action of signal 4 (SIGILL) ==140337== Illegal opcode at address 0x4014883 ==140337== at 0x4014883: getparameter (tool_getparam.c:2899) ==140337== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140337== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140337== by 0x4004208: main (tool_main.c:189) === End of file valgrind1142 test 1165...[Verify configure.ac and source code CURL_DISABLE_-sync] /usr/bin/perl -I. -I/startdir/src/curl/tesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1146 ../src/curl -q --output log/17/curl1146.out --trace-ascii log/17/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/17/test1146.txt > log/17/stdout1146 2> log/17/stderr1146 ts /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/7/stdout1165 2> log/7/stderr1165 valgrind SKIPPED -------e--- OK (1109 out of 1773, remaining: 01:23, took 0.139s, duration: 02:19) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1143 ../src/curl -q --output log/4/curl1143.out --include --trace-ascii log/4/trace1143 --trace-time http:/127.0.0.1:40253/want/1143 > log/4/stdout1143 2> log/4/stderr1143 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1141 ../src/curl -q --output log/2/curl1141.out --include --trace-ascii log/2/trace1141 --trace-time 127.0.0.1:41799/want/1141 -L -x http://127.0.0.1:41799 > log/2/stdout1141 2> log/2/stderr1141 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1147 ../src/curl -q --output log/24/curl1147.out --include --trace-ascii log/24/trace1147 --trace-time http://127.0.0.1:33593/1147 -H @log/24/heads1147.txt > log/24/stdout1147 2> log/24/stderr1147 test 1146...[--proto-default file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1146 ../src/curl -q --output log/17/curl1146.out --trace-ascii log/17/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/17/test1146.txt > log/17/stdout1146 2> log/17/stderr1146 1146: data FAILED: --- log/17/check-expected 2026-03-14 05:47:40.414615994 +0000 +++ log/17/check-generated 2026-03-14 05:47:40.414615994 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/17/ directory after test 1146 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1146 ../src/curl -q --output log/17/curl1146.out --trace-ascii log/17/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/17/test1146.txt > log/17/stdout1146 2> log/17/stderr1146 === End of file commands.log === Start of file server.cmd Testnum 1146 === End of file server.cmd === Start of file test1146.txt foo bar bar foo moo === End of file test1146.txt === Start of file valgrind1146 ==140457== ==140457== Process terminating with default action of signal 4 (SIGILL) ==140457== Illegal opcode at address 0x4014883 ==140457== at 0x4014883: getparameter (tool_getparam.c:2899) ==140457== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140457== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140457== by 0x4004208: main (tool_main.c:189) === End of file valgrind1146 setenv MSYS2_ARG_CONV_EXCL = http:/ test 1143...[HTTP URL with http:/ (one slash!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1143 ../src/curl -q --output log/4/curl1143.out --include --trace-ascii log/4/trace1143 --trace-time http:/127.0.0.1:40253/want/1143 > log/4/stdout1143 2> log/4/stderr1143 1143: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1143 ../src/curl -q --output log/4/curl1143.out --include --trace-ascii log/4/trace1143 --trace-time http:/127.0.0.1:40253/want/1143 > log/4/stdout1143 2> log/4/stderr1143 === End of file commands.log === Start of file http_server.log 05:47:37.490982 ====> Client connect 05:47:37.491020 accept_connection 3 returned 4 05:47:37.491038 accept_connection 3 returned 0 05:47:37.491052 Read 93 bytes 05:47:37.491061 Process 93 bytes request 05:47:37.491074 Got request: GET /verifiedserver HTTP/1.1 05:47:37.491083 Are-we-friendly question received 05:47:37.491104 Wrote request (93 bytes) input to log/4/server.input 05:47:37.491119 Identifying ourselves as friends 05:47:37.491183 Response sent (56 bytes) and written to log/4/server.response 05:47:37.491192 special request received, no persistency 05:47:37.491200 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 42002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1143 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1143 ==140350== ==140350== Process terminating with default action of signal 4 (SIGILL) ==140350== Illegal opcode at address 0x4014883 ==140350== at 0x4014883: getparameter (tool_getparam.c:2899) ==140350== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140350== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140350== by 0x4004208: main (tool_main.c:189) === End of file valgrind1143 test 1141...[HTTP redirect to http:/// (three slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1141 ../src/curl -q --output log/2/curl1141.out --include --trace-ascii log/2/trace1141 --trace-time 127.0.0.1:41799/want/1141 -L -x http://127.0.0.1:41799 > log/2/stdout1141 2> log/2/stderr1141 1141: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1141 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1141 ../src/curl -q --output log/2/curl1141.out --include --trace-ascii log/2/trace1141 --trace-time 127.0.0.1:41799/want/1141 -L -x http://127.0.0.1:41799 > log/2/stdout1141 2> log/2/stderr1141 === End of file commands.log === Start of file http_server.log 05:47:38.447047 ====> Client connect 05:47:38.447088 accept_connection 3 returned 4 05:47:38.447105 accept_connection 3 returned 0 05:47:38.447119 Read 93 bytes 05:47:38.447129 Process 93 bytes request 05:47:38.447141 Got request: GET /verifiedserver HTTP/1.1 05:47:38.447151 Are-we-friendly question received 05:47:38.447200 Wrote request (93 bytes) input to log/2/server.input 05:47:38.447218 Identifying ourselves as friends 05:47:38.447290 Response sent (56 bytes) and written to log/2/server.response 05:47:38.447301 special request received, no persistency 05:47:38.447311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 39014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1141 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1141 ==140344== ==140344== Process terminating with default action of signal 4 (SIGILL) ==140344== Illegal opcode at address 0x4014883 ==140344== at 0x4014883: getparameter (tool_getparam.c:2899) ==140344== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140344== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140344== by 0x4004208: main (tool_main.c:189) === End of file valgrind1141 test 1147...[Get -H headers from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1147 ../src/curl -q --output log/24/curl1147.out --include --trace-ascii log/24/trace1147 --trace-time http://127.0.0.1:33593/1147 -H @log/24/heads1147.txt > log/24/stdout1147 2> log/24/stderr1147 1147: protocol FAILED! There was no content at alCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/17/stdout1167 2> log/17/stderr1167 CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/2/test1169-library.pl > log/2/stdout1169 2> log/2/stderr1169 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1132 ../src/curl -q --output log/23/curl1132.out --include --trace log/23/trace1132 --trace-time mqtt://127.0.0.1:34861/1132 > log/23/stdout1132 2> log/23/stderr1132 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1144 ../src/curl -q --output log/3/curl1144.out --include --trace-ascii log/3/trace1144 --trace-time -I http://127.0.0.1:39591/1144 --http0.9 > log/3/stdout1144 2> log/3/stderr1144 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1149 ../src/curl -q --output log/22/curl1149.out --include --trace-ascii log/22/trace1149 --trace-time ftp://127.0.0.1:41347/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:41347/list/this/path/1149/ --ftp-method nocwd > log/22/stdout1149 2> log/22/stderr1149 l in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1147 ../src/curl -q --output log/24/curl1147.out --include --trace-ascii log/24/trace1147 --trace-time http://127.0.0.1:33593/1147 -H @log/24/heads1147.txt > log/24/stdout1147 2> log/24/stderr1147 === End of file commands.log === Start of file heads1147.txt One: 1 Two: 2 no-colon And A Funny One : wohoo User-Agent: === End of file heads1147.txt === Start of file http_server.log 05:47:38.947217 ====> Client connect 05:47:38.947266 accept_connection 3 returned 4 05:47:38.947287 accept_connection 3 returned 0 05:47:38.950981 Read 93 bytes 05:47:38.951005 Process 93 bytes request 05:47:38.951020 Got request: GET /verifiedserver HTTP/1.1 05:47:38.951030 Are-we-friendly question received 05:47:38.951070 Wrote request (93 bytes) input to log/24/server.input 05:47:38.951090 Identifying ourselves as friends 05:47:38.951151 Response sent (56 bytes) and written to log/24/server.response 05:47:38.951161 special request received, no persistency 05:47:38.951170 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 49598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1147 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1147 ==140719== ==140719== Process terminating with default action of signal 4 (SIGILL) ==140719== Illegal opcode at address 0x4014883 ==140719== at 0x4014883: getparameter (tool_getparam.c:2899) ==140719== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140719== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140719== by 0x4004208: main (tool_main.c:189) === End of file valgrind1147 test 1167...[Verify curl prefix of public symbols in header files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/17/stdout1167 2> log/17/stderr1167 valgrind SKIPPED -------e--- OK (1111 out of 1773, remaining: 01:23, took 0.394s, duration: 02:19) test 1169...[Verify that runtests.pl accepts an -L option] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/2/test1169-library.pl > log/2/stdout1169 2> log/2/stderr1169 valgrind SKIPPED -------e--- OK (1113 out of 1773, remaining: 01:22, took 0.287s, duration: 02:19) startnew: ./server/servers mqttd --port 0 --pidfile log/23/server/mqtt_server.pid --portfile log/23/server/mqtt_server.port --config log/23/server.cmd --logfile log/23/mqtt_server.log --logdir log/23 RUN: MQTT server is now running PID 139893 on PORT 34861 * pid mqtt => 139893 139893 test 1132...[MQTT CONNACK with bad Remaining Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1132 ../src/curl -q --output log/23/curl1132.out --include --trace log/23/trace1132 --trace-time mqtt://127.0.0.1:34861/1132 > log/23/stdout1132 2> log/23/stderr1132 1132: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1132 ../src/curl -q --output log/23/curl1132.out --include --trace log/23/trace1132 --trace-time mqtt://127.0.0.1:34861/1132 > log/23/stdout1132 2> log/23/stderr1132 === End of file commands.log === Start of file mqtt_server.log 05:47:37.896461 Running IPv4 version 05:47:37.896555 Listening on port 34861 05:47:37.896586 Wrote pid 139893 to log/23/server/mqtt_server.pid 05:47:37.896612 Wrote port 34861 to log/23/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd remlen-CONNACK 3 Testnum 1132 === End of file server.cmd === Start of file valgrind1132 ==140697== ==140697== Process terminating with default action of signal 4 (SIGILL) ==140697== Illegal opcode at address 0x4014883 ==140697== at 0x4014883: getparameter (tool_getparam.c:2899) ==140697== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140697== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140697== by 0x4004208: main (tool_main.c:189) === End of file valgrind1132 test 1144...[HTTP HEAD, receive no headers only body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1144 ../src/curl -q --output log/3/curl1144.out --include --trace-ascii log/3/trace1144 --trace-time -I http://127.0.0.1:39591/1144 --http0.9 > log/3/stdout1144 2> log/3/stderr1144 1144: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1144 ../src/curl -q --output log/3/curl1144.out --include --trace-ascii log/3/trace1144 --trace-time -I http://127.0.0.1:39591/1144 --http0.9 > log/3/stdout1144 2> log/3/stderr1144 === End of file commands.log === Start of file http_server.log 05:47:38.633710 ====> Client connect 05:47:38.633746 accept_connection 3 returned 4 05:47:38.633765 accept_connection 3 returned 0 05:47:38.633781 Read 93 bytes 05:47:38.633792 Process 93 bytes request 05:47:38.633806 Got request: GET /verifiedserver HTTP/1.1 05:47:38.633816 Are-we-friendly question received 05:47:38.633843 Wrote request (93 bytes) input to log/3/server.input 05:47:38.633860 Identifying ourselves as friends 05:47:38.633930 Response sent (56 bytes) and written to log/3/server.response 05:47:38.633943 special request received, no persistency 05:47:38.633952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 37574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1144 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1144 ==140562== ==140562== Process terminating with default action of signal 4 (SIGILL) ==140562== Illegal opcode at address 0x4014883 ==140562== at 0x4014883: getparameter (tool_getparam.c:2899) ==140562== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140562== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140562== by 0x4CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/3/stdout1175 2> log/3/stderr1175 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/23/stdout1173 2> log/23/stderr1173 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/23/stdout1177 2> log/23/stderr1177 004208: main (tool_main.c:189) === End of file valgrind1144 test 1149...[FTP dir list multicwd then again nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1149 ../src/curl -q --output log/22/curl1149.out --include --trace-ascii log/22/trace1149 --trace-time ftp://127.0.0.1:41347/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:41347/list/this/path/1149/ --ftp-method nocwd > log/22/stdout1149 2> log/22/stderr1149 1149: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1149 ../src/curl -q --output log/22/curl1149.out --include --trace-ascii log/22/trace1149 --trace-time ftp://127.0.0.1:41347/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:41347/list/this/path/1149/ --ftp-method nocwd > log/22/stdout1149 2> log/22/stderr1149 === End of file commands.log === Start of file ftp_server.log 05:47:38.771328 ====> Client connect 05:47:38.771509 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:38.779243 < "USER anonymous" 05:47:38.779301 > "331 We are happy you popped in![CR][LF]" 05:47:38.779467 < "PASS ftp@example.com" 05:47:38.779491 > "230 Welcome you silly person[CR][LF]" 05:47:38.779634 < "PWD" 05:47:38.779666 > "257 "/" is current directory[CR][LF]" 05:47:38.779820 < "EPSV" 05:47:38.779843 ====> Passive DATA channel requested by client 05:47:38.779857 DATA sockfilt for passive data channel starting... 05:47:38.795581 DATA sockfilt for passive data channel started (pid 140877) 05:47:38.795817 DATA sockfilt for passive data channel listens on port 45165 05:47:38.795870 > "229 Entering Passive Mode (|||45165|)[CR][LF]" 05:47:38.795890 Client has been notified that DATA conn will be accepted on port 45165 05:47:38.805859 Client connects to port 45165 05:47:38.805933 ====> Client established passive DATA connection on port 45165 05:47:38.806055 < "TYPE I" 05:47:38.806101 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:38.806264 < "SIZE verifiedserver" 05:47:38.806304 > "213 17[CR][LF]" 05:47:38.806455 < "RETR verifiedserver" 05:47:38.806489 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:38.806592 =====> Closing passive DATA connection... 05:47:38.806609 Server disconnects passive DATA connection 05:47:38.806842 Server disconnected passive DATA connection 05:47:38.806870 DATA sockfilt for passive data channel quits (pid 140877) 05:47:38.807234 DATA sockfilt for passive data channel quit (pid 140877) 05:47:38.807259 =====> Closed passive DATA connection 05:47:38.807289 > "226 File transfer complete[CR][LF]" 05:47:38.852600 < "QUIT" 05:47:38.852673 > "221 bye bye baby[CR][LF]" 05:47:38.854127 MAIN sockfilt said DISC 05:47:38.854169 ====> Client disconnected 05:47:38.854281 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:38.232649 ====> Client connect 05:47:38.232979 Received DATA (on stdin) 05:47:38.232994 > 146 bytes data, server => client 05:47:38.233006 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:38.233017 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:38.233027 '220 \___|\___/|_| \_\_____|\r\n' 05:47:38.240430 < 16 bytes data, client => server 05:47:38.240462 'USER anonymous\r\n' 05:47:38.240760 Received DATA (on stdin) 05:47:38.240772 > 33 bytes data, server => client 05:47:38.240783 '331 We are happy you popped in!\r\n' 05:47:38.240836 < 22 bytes data, client => server 05:47:38.240846 'PASS ftp@example.com\r\n' 05:47:38.240944 Received DATA (on stdin) 05:47:38.240955 > 30 bytes data, server => client 05:47:38.240965 '230 Welcome you silly person\r\n' 05:47:38.241010 < 5 bytes data, client => server 05:47:38.241020 'PWD\r\n' 05:47:38.241119 Received DATA (on stdin) 05:47:38.241129 > 30 bytes data, server => client 05:47:38.241139 '257 "/" is current directory\r\n' 05:47:38.241196 < 6 bytes data, client => server 05:47:38.241206 'EPSV\r\n' 05:47:38.260323 Received DATA (on stdin) 05:47:38.260350 > 39 bytes data, server => client 05:47:38.260361 '229 Entering Passive Mode (|||45165|)\r\n' 05:47:38.267170 < 8 bytes data, client => server 05:47:38.267207 'TYPE I\r\n' 05:47:38.267559 Received DATA (on stdin) 05:47:38.267571 > 33 bytes data, server => client 05:47:38.267582 '200 I modify TYPE as you wanted\r\n' 05:47:38.267634 < 21 bytes data, client => server 05:47:38.267646 'SIZE verifiedserver\r\n' 05:47:38.267758 Received DATA (on stdin) 05:47:38.267769 > 8 bytes data, server => client 05:47:38.267778 '213 17\r\n' 05:47:38.267826 < 21 bytes data, client => server 05:47:38.267837 'RETR verifiedserver\r\n' 05:47:38.268064 Received DATA (on stdin) 05:47:38.268076 > 29 bytes data, server => client 05:47:38.268086 '150 Binary junk (17 bytes).\r\n' 05:47:38.268744 Received DATA (on stdin) 05:47:38.268756 > 28 bytes data, server => client 05:47:38.268767 '226 File transfer complete\r\n' 05:47:38.313798 < 6 bytes data, client => server 05:47:38.313846 'QUIT\r\n' 05:47:38.314138 Received DATA (on stdin) 05:47:38.314153 > 18 bytes data, server => client 05:47:38.314163 '221 bye bye baby\r\n' 05:47:38.315523 ====> Client disconnect 05:47:38.315746 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:38.243488 Running IPv4 version 05:47:38.243588 Listening on port 45165 05:47:38.253828 Wrote pid 140877 to log/22/server/ftp_sockdata.pid 05:47:38.253896 Received PING (on stdin) 05:47:38.257138 Received PORT (on stdin) 05:47:38.267238 ====> Client connect 05:47:38.268112 Received DATA (on stdin) 05:47:38.268124 > 17 bytes data, server => client 05:47:38.268135 'WE ROOLZ: 81140\r\n' 05:47:38.268159 Received DISC (on stdin) 05:47:38.268170 ====> Client forcibly disconnected 05:47:38.268332 Received QUIT (on stdin) 05:47:38.268343 quits 05:47:38.268458 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==140884== ==140884== Process terminating with default action of signal 4 (SIGILL) ==140884== Illegal opcode at address 0x4014883 ==140884== at 0x4014883: getparameter (tool_getparam.c:2899) ==140884== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140884== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140884== by 0x4004208: main (tool_main.c:189) === End of file valgrind1149 test 1175...[Verify that symbols-in-versions and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/3/stdout1175 2> log/3/stderr1175 valgrind SKIPPED -------e--- OK (1119 out of 1773, remaining: 01:21, took 0.035s, duration: 02:20) test 1173...[Man page syntax checks] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/23/stdout1173 2> log/23/stderr1173 valgrind SKIPPED -r-----e--- OK (1117 out of 1773, remaining: 01:22, took 0.196s, duration: 02:20) test 1177...[Verify that feature names and CURL_VERSION_* in lib and docs are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1148 ../src/curl -q --output log/11/curl1148.out --include --trace-ascii log/11/trace1148 --trace-time http://127.0.0.1:34551/1148 -# --stderr log/11/stderrlog1148 > log/11/stdout1148 2> log/11/stderr1148 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1150 ../src/curl -q --output log/9/curl1150.out --include --trace-ascii log/9/trace1150 --trace-time --proxy http://127.0.0.1:33885 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/9/stdout1150 2> log/9/stderr1150 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1151 ../src/curl -q --output log/5/curl1151.out --include --trace-ascii log/5/trace1151 --trace-time http://127.0.0.1:35621/1151 -c log/5/cookies1151.txt > log/5/stdout1151 2> log/5/stderr1151 ib/version.c > log/23/stdout1177 2> log/23/stderr1177 valgrind SKIPPED -------e--- OK (1121 out of 1773, remaining: 01:21, took 0.034s, duration: 02:20) test 1148...[progress-bar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1148 ../src/curl -q --output log/11/curl1148.out --include --trace-ascii log/11/trace1148 --trace-time http://127.0.0.1:34551/1148 -# --stderr log/11/stderrlog1148 > log/11/stdout1148 2> log/11/stderr1148 1148: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1148 ../src/curl -q --output log/11/curl1148.out --include --trace-ascii log/11/trace1148 --trace-time http://127.0.0.1:34551/1148 -# --stderr log/11/stderrlog1148 > log/11/stdout1148 2> log/11/stderr1148 === End of file commands.log === Start of file http_server.log 05:47:38.953723 ====> Client connect 05:47:38.953781 accept_connection 3 returned 4 05:47:38.953800 accept_connection 3 returned 0 05:47:38.953814 Read 93 bytes 05:47:38.953824 Process 93 bytes request 05:47:38.953838 Got request: GET /verifiedserver HTTP/1.1 05:47:38.953847 Are-we-friendly question received 05:47:38.953874 Wrote request (93 bytes) input to log/11/server.input 05:47:38.953895 Identifying ourselves as friends 05:47:38.953959 Response sent (56 bytes) and written to log/11/server.response 05:47:38.953969 special request received, no persistency 05:47:38.953977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 49064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1148 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1148 ==140724== ==140724== Process terminating with default action of signal 4 (SIGILL) ==140724== Illegal opcode at address 0x4014883 ==140724== at 0x4014883: getparameter (tool_getparam.c:2899) ==140724== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140724== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140724== by 0x4004208: main (tool_main.c:189) === End of file valgrind1148 test 1150...[HTTP proxy with URLs using different ports] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1150 ../src/curl -q --output log/9/curl1150.out --include --trace-ascii log/9/trace1150 --trace-time --proxy http://127.0.0.1:33885 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/9/stdout1150 2> log/9/stderr1150 1150: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1150 ../src/curl -q --output log/9/curl1150.out --include --trace-ascii log/9/trace1150 --trace-time --proxy http://127.0.0.1:33885 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/9/stdout1150 2> log/9/stderr1150 === End of file commands.log === Start of file http_server.log 05:47:38.479885 ====> Client connect 05:47:38.479925 accept_connection 3 returned 4 05:47:38.479943 accept_connection 3 returned 0 05:47:38.483814 Read 93 bytes 05:47:38.483837 Process 93 bytes request 05:47:38.483851 Got request: GET /verifiedserver HTTP/1.1 05:47:38.483860 Are-we-friendly question received 05:47:38.483894 Wrote request (93 bytes) input to log/9/server.input 05:47:38.483913 Identifying ourselves as friends 05:47:38.483969 Response sent (56 bytes) and written to log/9/server.response 05:47:38.483979 special request received, no persistency 05:47:38.483987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 38936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1150 ==140940== ==140940== Process terminating with default action of signal 4 (SIGILL) ==140940== Illegal opcode at address 0x4014883 ==140940== at 0x4014883: getparameter (tool_getparam.c:2899) ==140940== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==140940== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==140940== by 0x4004208: main (tool_main.c:189) === End of file valgrind1150 test 1151...[HTTP with too long cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1151 ../src/curl -q --output log/5/curl1151.out --include --trace-ascii log/5/trace1151 --trace-time http://127.0.0.1:35621/1151 -c log/5/cookies1151.txt > log/5/stdout1151 2> log/5/stderr1151 1151: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1151 ../src/curl -q --output log/5/curl1151.out --include --trace-ascii log/5/trace1151 --trace-time http://127.0.0.1:35621/1151 -c log/5/cookies1151.txt > log/5/stdout1151 2> log/5/stderr1151 === End of file commands.log === Start of file http_server.log 05:47:39.739392 ====> Client connect 05:47:39.739427 accept_connection 3 returned 4 05:47:39.739444 accept_connection 3 returned 0 05:47:39.739459 Read 93 bytes 05:47:39.739469 Process 93 bytes request 05:47:39.739482 Got request: GET /verifiedserver HTTP/1.1 05:47:39.739491 Are-we-friendly question received 05:47:39.739517 Wrote request (93 bytes) input to log/5/server.input 05:47:39.739534 Identifying ourselves as friends 05:47:39.739593 Response sent (56 bytes) and written to log/5/server.response 05:47:39.739603 special request received, no persistency 05:47:39.739611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 41438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1157 ../src/curl -q --output log/8/curl1157.out --include --trace-ascii log/8/trace1157 --trace-time http://127.0.0.1:45623/1157 -H @log/8/heads1157.txt > log/8/stdout1157 2> log/8/stderr1157 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1152 ../src/curl -q --output log/1/curl1152.out --include --trace-ascii log/1/trace1152 --trace-time ftp://127.0.0.1:41623/test-1152/ > log/1/stdout1152 2> log/1/stderr1152 P/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1151 ==141055== ==141055== Process terminating with default action of signal 4 (SIGILL) ==141055== Illegal opcode at address 0x4014883 ==141055== at 0x4014883: getparameter (tool_getparam.c:2899) ==141055== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141055== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141055== by 0x4004208: main (tool_main.c:189) === End of file valgrind1151 test 1157...[Get -H headers from empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1157 ../src/curl -q --output log/8/curl1157.out --include --trace-ascii log/8/trace1157 --trace-time http://127.0.0.1:45623/1157 -H @log/8/heads1157.txt > log/8/stdout1157 2> log/8/stderr1157 1157: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1157 ../src/curl -q --output log/8/curl1157.out --include --trace-ascii log/8/trace1157 --trace-time http://127.0.0.1:45623/1157 -H @log/8/heads1157.txt > log/8/stdout1157 2> log/8/stderr1157 === End of file commands.log === Start of file http_server.log 05:47:39.149703 ====> Client connect 05:47:39.149734 accept_connection 3 returned 4 05:47:39.149751 accept_connection 3 returned 0 05:47:39.149764 Read 93 bytes 05:47:39.149774 Process 93 bytes request 05:47:39.149785 Got request: GET /verifiedserver HTTP/1.1 05:47:39.149795 Are-we-friendly question received 05:47:39.149818 Wrote request (93 bytes) input to log/8/server.input 05:47:39.149835 Identifying ourselves as friends 05:47:39.149891 Response sent (56 bytes) and written to log/8/server.response 05:47:39.149901 special request received, no persistency 05:47:39.149910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1157 ==141296== ==141296== Process terminating with default action of signal 4 (SIGILL) ==141296== Illegal opcode at address 0x4014883 ==141296== at 0x4014883: getparameter (tool_getparam.c:2899) ==141296== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141296== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141296== by 0x4004208: main (tool_main.c:189) === End of file valgrind1157 test 1152...[FTP with uneven quote in PWD response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1152 ../src/curl -q --output log/1/curl1152.out --include --trace-ascii log/1/trace1152 --trace-time ftp://127.0.0.1:41623/test-1152/ > log/1/stdout1152 2> log/1/stderr1152 1152: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1152 ../src/curl -q --output log/1/curl1152.out --include --trace-ascii log/1/trace1152 --trace-time ftp://127.0.0.1:41623/test-1152/ > log/1/stdout1152 2> log/1/stderr1152 === End of file commands.log === Start of file ftp_server.log 05:47:39.322394 ====> Client connect 05:47:39.322573 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:39.342461 < "USER anonymous" 05:47:39.342534 > "331 We are happy you popped in![CR][LF]" 05:47:39.342772 < "PASS ftp@example.com" 05:47:39.342802 > "230 Welcome you silly person[CR][LF]" 05:47:39.342972 < "PWD" 05:47:39.343007 > "257 "/" is current directory[CR][LF]" 05:47:39.343188 < "EPSV" 05:47:39.343215 ====> Passive DATA channel requested by client 05:47:39.343230 DATA sockfilt for passive data channel starting... 05:47:39.352778 DATA sockfilt for passive data channel started (pid 141063) 05:47:39.352988 DATA sockfilt for passive data channel listens on port 37421 05:47:39.353051 > "229 Entering Passive Mode (|||37421|)[CR][LF]" 05:47:39.353072 Client has been notified that DATA conn will be accepted on port 37421 05:47:39.353424 Client connects to port 37421 05:47:39.353461 ====> Client established passive DATA connection on port 37421 05:47:39.353573 < "TYPE I" 05:47:39.353613 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:39.353815 < "SIZE verifiedserver" 05:47:39.353864 > "213 17[CR][LF]" 05:47:39.354037 < "RETR verifiedserver" 05:47:39.354077 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:39.354176 =====> Closing passive DATA connection... 05:47:39.354195 Server disconnects passive DATA connection 05:47:39.354449 Server disconnected passive DATA connection 05:47:39.354483 DATA sockfilt for passive data channel quits (pid 141063) 05:47:39.354830 DATA sockfilt for passive data channel quit (pid 141063) 05:47:39.354859 =====> Closed passive DATA connection 05:47:39.354888 > "226 File transfer complete[CR][LF]" 05:47:39.399260 < "QUIT" 05:47:39.399332 > "221 bye bye baby[CR][LF]" 05:47:39.400624 MAIN sockfilt said DISC 05:47:39.400663 ====> Client disconnected 05:47:39.400772 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:38.783667 ====> Client connect 05:47:38.784042 Received DATA (on stdin) 05:47:38.784057 > 146 bytes data, server => client 05:47:38.784069 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:38.784080 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:38.784089 '220 \___|\___/|_| \_\_____|\r\n' 05:47:38.803666 < 16 bytes data, client => server 05:47:38.803701 'USER anonymous\r\n' 05:47:38.803998 Received DATA (on stdin) 05:47:38.804012 > 33 bytes data, server => client 05:47:38.804023 '331 We are happy you popped in!\r\n' 05:47:38.804125 < 22 bytes data, client => server 05:47:38.804140 'PASS ftp@example.com\r\n' 05:47:38.804259 Received DATA (on stdin) 05:47:38.804271 > 30 bytes data, server => client 05:47:38.804282 '230 Welcome you silly person\r\n' 05:47:38.804334 < 5 bytes data, client => server 05:47:38.804346 'PWD\r\n' 05:47:38.804463 Received DATA (on stdin) 05:47:38.804475 > 30 bytes data, server => client 05:47:38.804485 '257 "/" is current directory\r\n' 05:47:38.804550 < 6 bytes data, client => server 05:47:38.804563 'EPSV\r\n' 05:47:38.814540 Received DATA (on stdin) 05:47:38.814560 > 39 bytes data, server => client 05:47:38.814572 '229 Entering Passive Mode (|||37421|)\r\n' 05:47:38.8CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1155 ../src/curl -q --output log/6/curl1155.out --include --trace-ascii log/6/trace1155 --trace-time http://127.0.0.1:33035/1155 -c log/6/cookies1155.txt > log/6/stdout1155 2> log/6/stderr1155 CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/8/code1185.c > log/8/stdout1185 2> log/8/stderr1185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:35349/fully_simulated/DOS/[*\\s-'tl" > log/15/stdout1162 2> log/15/stderr1162 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:45359/want/1156 > log/13/stdout1156 2> log/13/stderr1156 14819 < 8 bytes data, client => server 05:47:38.814833 'TYPE I\r\n' 05:47:38.815072 Received DATA (on stdin) 05:47:38.815085 > 33 bytes data, server => client 05:47:38.815097 '200 I modify TYPE as you wanted\r\n' 05:47:38.815162 < 21 bytes data, client => server 05:47:38.815175 'SIZE verifiedserver\r\n' 05:47:38.815323 Received DATA (on stdin) 05:47:38.815336 > 8 bytes data, server => client 05:47:38.815346 '213 17\r\n' 05:47:38.815400 < 21 bytes data, client => server 05:47:38.815413 'RETR verifiedserver\r\n' 05:47:38.815750 Received DATA (on stdin) 05:47:38.815763 > 29 bytes data, server => client 05:47:38.815773 '150 Binary junk (17 bytes).\r\n' 05:47:38.816346 Received DATA (on stdin) 05:47:38.816358 > 28 bytes data, server => client 05:47:38.816369 '226 File transfer complete\r\n' 05:47:38.860474 < 6 bytes data, client => server 05:47:38.860517 'QUIT\r\n' 05:47:38.860801 Received DATA (on stdin) 05:47:38.860816 > 18 bytes data, server => client 05:47:38.860827 '221 bye bye baby\r\n' 05:47:38.862022 ====> Client disconnect 05:47:38.862241 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:39.808281 Running IPv4 version 05:47:39.808373 Listening on port 37421 05:47:39.808418 Wrote pid 141063 to log/1/server/ftp_sockdata.pid 05:47:39.813664 Received PING (on stdin) 05:47:39.814319 Received PORT (on stdin) 05:47:39.814783 ====> Client connect 05:47:39.815654 Received DATA (on stdin) 05:47:39.815667 > 17 bytes data, server => client 05:47:39.815678 'WE ROOLZ: 81663\r\n' 05:47:39.815711 Received DISC (on stdin) 05:47:39.815723 ====> Client forcibly disconnected 05:47:39.815949 Received QUIT (on stdin) 05:47:39.815961 quits 05:47:39.816069 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "just one Testnum 1152 === End of file server.cmd === Start of file valgrind1152 ==141092== ==141092== Process terminating with default action of signal 4 (SIGILL) ==141092== Illegal opcode at address 0x4014883 ==141092== at 0x4014883: getparameter (tool_getparam.c:2899) ==141092== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141092== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141092== by 0x4004208: main (tool_main.c:189) === End of file valgrind1152 test 1155...[HTTP cookie with parameter word as name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1155 ../src/curl -q --output log/6/curl1155.out --include --trace-ascii log/6/trace1155 --trace-time http://127.0.0.1:33035/1155 -c log/6/cookies1155.txt > log/6/stdout1155 2> log/6/stderr1155 1155: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1155 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1155 ../src/curl -q --output log/6/curl1155.out --include --trace-ascii log/6/trace1155 --trace-time http://127.0.0.1:33035/1155 -c log/6/cookies1155.txt > log/6/stdout1155 2> log/6/stderr1155 === End of file commands.log === Start of file http_server.log 05:47:39.080419 ====> Client connect 05:47:39.080462 accept_connection 3 returned 4 05:47:39.080480 accept_connection 3 returned 0 05:47:39.080495 Read 93 bytes 05:47:39.080505 Process 93 bytes request 05:47:39.080520 Got request: GET /verifiedserver HTTP/1.1 05:47:39.080529 Are-we-friendly question received 05:47:39.080554 Wrote request (93 bytes) input to log/6/server.input 05:47:39.080571 Identifying ourselves as friends 05:47:39.080637 Response sent (56 bytes) and written to log/6/server.response 05:47:39.080648 special request received, no persistency 05:47:39.080657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 58592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind1155 ==141232== ==141232== Process terminating with default action of signal 4 (SIGILL) ==141232== Illegal opcode at address 0x4014883 ==141232== at 0x4014883: getparameter (tool_getparam.c:2899) ==141232== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141232== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141232== by 0x4004208: main (tool_main.c:189) === End of file valgrind1155 test 1185...[checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/8/code1185.c > log/8/stdout1185 2> log/8/stderr1185 valgrind SKIPPED s------e--- OK (1126 out of 1773, remaining: 01:20, took 0.158s, duration: 02:20) setenv MSYS2_ARG_CONV_EXCL = ftp:// test 1162...[FTP wildcard with crazy pattern] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:35349/fully_simulated/DOS/[*\\s-'tl" > log/15/stdout1162 2> log/15/stderr1162 1162: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:35349/fully_simulated/DOS/[*\\s-'tl" > log/15/stdout1162 2> log/15/stderr1162 === End of file commands.log === Start of file ftp_server.log 05:47:40.057165 ====> Client connect 05:47:40.057350 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:40.069103 < "USER anonymous" 05:47:40.069158 > "331 We are happy you popped in![CR][LF]" 05:47:40.079130 < "PASS ftp@example.com" 05:47:40.079202 > "230 Welcome you silly person[CR][LF]" 05:47:40.079428 < "PWD" 05:47:40.079470 > "257 "/" is current directory[CR][LF]" 05:47:40.079681 < "EPSV" 05:47:40.079713 ====> Passive DATA channel requested by client 05:47:40.079731 DATA sockfilt for passive data channel starting... 05:47:40.088370 DATA sockfilt for passive data channel started (pid 141693) 05:47:40.092346 DATA sockfilt for passive data channel listens on port 36301 05:47:40.092413 > "229 Entering Passive Mode (|||36301|)[CR][LF]" 05:47:40.092431 Client has been notified that DATA conn will be accepted on port 36301 05:47:40.093193 Client connects to port 36301 05:47:40.093236 ====> Client established passive DATA connection on port 36301 05:47:40.093361 < "TYPE I" 05:47:40.093411 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:40.096034 < "SIZE verifiedserver" 05:47:40.096082 > "213 17[CR][LF]" 05:47:40.096265 < "RETR verifiedserver" 05:47:40.096306 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:40.096412 =====> Closing passive DATA connection... 05:47:40.096435 Server disconnects passive DATA connection 05:47:40.096707 Server disconnected passive DATA connection 05:47:40.096739 DATA sockfilt for passive data channel quits (pid 141693) 05:47:40.096996 DATA sockfilt for passive data channel quit (pid 141693) 05:47:40.097025 =====> Closed passive DATA connection 05:47:40.097056 > "226 File transfer complete[CR][LF]" 05:47:40.145679 < "QUIT" 05:47:40.145739 > "221 bye bye baby[CR][LF]" 05:47:40.147208 MAIN sockfilt said DISC 05:47:40.147247 ====> Client disconnected 05:47:40.147328 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:40.518487 ====> Client connect 05:47:40.518830 Received DATA (on stdin) 05:47:40.518849 > 146 bytes data, server => client 05:47:40.518862 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:40.518873 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:40.518883 '220 \___|\___/|_| \_\_____|\r\n' 05:47:40.530341 < 16 bytes data, client => server 05:47:40.530375 'USER anonymous\r\n' 05:47:40.530617 Received DATA (on stdin) 05:47:40.530629 > 33 bytes data, server => client 05:47:40.530640 '331 We are happy you popped in!\r\n' 05:47:40.540332 < 22 bytes data, client => server 05:47:40.540368 'PASS ftp@example.com\r\n' 05:47:40.540672 Received DATA (on stdin) 05:47:40.540686 > 30 bytes data, server => client 05:47:40.540698 '230 Welcome you silly person\r\n' 05:47:40.540777 < 5 bytes data, client => server 05:47:40.540795 'PWD\r\n' 05:47:40.540934 Received DATA (on stdin) 05:47:40.540951 > 30 bytes data, server => client 05:47:40.540962 '257 "/" is current directory\r\n' 05:47:40.541034 < 6 bytes data, client => server 05:47:40.541051 'EPSV\r\n' 05:47:40.553847 Received DATA (on stdin) 05:47:40.553868 > 39 bytes data, server => client 05:47:40.553879 '229 Entering Passive Mode (|||36301|)\r\n' 05:47:40.554114 < 8 bytes data, client => server 05:47:40.554126 'TYPE I\r\n' 05:47:40.556985 Received DATA (on stdin) 05:47:40.557006 > 33 bytes data, server => client 05:47:40.557018 '200 I modify TYPE as you wanted\r\n' 05:47:40.557374 < 21 bytes data, client => server 05:47:40.557392 'SIZE verifiedserver\r\n' 05:47:40.557543 Received DATA (on stdin) 05:47:40.557556 > 8 bytes data, server => client 05:47:40.557566 '213 17\r\n' 05:47:40.557623 < 21 bytes data, client => server 05:47:40.557636 'RETR verifiedserver\r\n' 05:47:40.558001 Received DATA (on stdin) 05:47:40.558015 > 29 bytes data, server => client 05:47:40.558026 '150 Binary junk (17 bytes).\r\n' 05:47:40.558513 Received DATA (on stdin) 05:47:40.558527 > 28 bytes data, server => client 05:47:40.558538 '226 File transfer complete\r\n' 05:47:40.603795 < 6 bytes data, client => server 05:47:40.603828 'QUIT\r\n' 05:47:40.607456 Received DATA (on stdin) 05:47:40.607478 > 18 bytes data, server => client 05:47:40.607490 '221 bye bye baby\r\n' 05:47:40.608605 ====> Client disconnect 05:47:40.608786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:40.544437 Running IPv4 version 05:47:40.544531 Listening on port 36301 05:47:40.544577 Wrote pid 141693 to log/15/server/ftp_sockdata.pid 05:47:40.547334 Received PING (on stdin) 05:47:40.553654 Received PORT (on stdin) 05:47:40.554085 ====> Client connect 05:47:40.557895 Received DATA (on stdin) 05:47:40.557909 > 17 bytes data, server => client 05:47:40.557920 'WE ROOLZ: 81070\r\n' 05:47:40.557956 Received DISC (on stdin) 05:47:40.557971 ====> Client forcibly disconnected 05:47:40.558203 Received QUIT (on stdin) 05:47:40.558215 quits 05:47:40.558288 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1162 === End of file server.cmd === Start of file stderr1162 URL: ftp://127.0.0.1:35349/fully_simulated/DOS/[*\s-'tl === End of file stderr1162 === Start of file valgrind1162 ==141782== ==141782== Process terminating with default action of signal 4 (SIGILL) ==141782== Illegal opcode at address 0x51D8933 ==141782== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==141782== by 0x51D8933: UnknownInlinedFun (request.c:40) ==141782== by 0x51D8933: Curl_open (url.c:503) ==141782== by 0x514E50F: curl_easy_init (easy.c:350) ==141782== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==141782== by 0x40034B5: main (first.c:279) === End of file valgrind1162 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1154 ../src/curl -q --output log/10/curl1154.out --include --trace-ascii log/10/trace1154 --trace-time http://127.0.0.1:46741/1154 > log/10/stdout1154 2> log/10/stderr1154 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1153 ../src/curl -q --output log/18/curl1153.out --include --trace-ascii log/18/trace1153 --trace-time ftp://127.0.0.1:35869/test-1153/ > log/18/stdout1153 2> log/18/stderr1153 test 1156...[HTTP resume/range fail range-error content-range combinations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:45359/want/1156 > log/13/stdout1156 2> log/13/stderr1156 1156: stdout FAILED: --- log/13/check-expected 2026-03-14 05:47:42.114615994 +0000 +++ log/13/check-generated 2026-03-14 05:47:42.114615994 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/13/ directory after test 1156 === Start of file check-expected 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:45359/want/1156 > log/13/stdout1156 2> log/13/stderr1156 === End of file commands.log === Start of file http_server.log 05:47:40.146075 ====> Client connect 05:47:40.146132 accept_connection 3 returned 4 05:47:40.146151 accept_connection 3 returned 0 05:47:40.146167 Read 93 bytes 05:47:40.146178 Process 93 bytes request 05:47:40.146191 Got request: GET /verifiedserver HTTP/1.1 05:47:40.146201 Are-we-friendly question received 05:47:40.146229 Wrote request (93 bytes) input to log/13/server.input 05:47:40.146248 Identifying ourselves as friends 05:47:40.146312 Response sent (56 bytes) and written to log/13/server.response 05:47:40.146324 special request received, no persistency 05:47:40.146334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 49710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr1156 URL: http://127.0.0.1:45359/want/1156 === End of file stderr1156 === Start of file valgrind1156 ==141316== ==141316== Process terminating with default action of signal 4 (SIGILL) ==141316== Illegal opcode at address 0x51D8933 ==141316== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==141316== by 0x51D8933: UnknownInlinedFun (request.c:40) ==141316== by 0x51D8933: Curl_open (url.c:503) ==141316== by 0x514E50F: curl_easy_init (easy.c:350) ==141316== by 0x4024745: test_lib1156.lto_priv.0 (lib1156.c:145) ==141316== by 0x40034B5: main (first.c:279) === End of file valgrind1156 test 1154...[HTTP GET with 100K (too long) response header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1154 ../src/curl -q --output log/10/curl1154.out --include --trace-ascii log/10/trace1154 --trace-time http://127.0.0.1:46741/1154 > log/10/stdout1154 2> log/10/stderr1154 1154: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1154 ../src/curl -q --output log/10/curl1154.out --include --trace-ascii log/10/trace1154 --trace-time http://127.0.0.1:46741/1154 > log/10/stdout1154 2> log/10/stderr1154 === End of file commands.log === Start of file http_server.log 05:47:39.006792 ====> Client connect 05:47:39.006825 accept_connection 3 returned 4 05:47:39.006840 accept_connection 3 returned 0 05:47:39.023660 Read 93 bytes 05:47:39.023704 Process 93 bytes request 05:47:39.023719 Got request: GET /verifiedserver HTTP/1.1 05:47:39.023728 Are-we-friendly question received 05:47:39.023803 Wrote request (93 bytes) input to log/10/server.input 05:47:39.023823 Identifying ourselves as friends 05:47:39.023911 Response sent (56 bytes) and written to log/10/server.response 05:47:39.023920 special request received, no persistency 05:47:39.023929 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 59978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1154 ==141203== ==141203== Process terminating with default action of signal 4 (SIGILL) ==141203== Illegal opcode at address 0x4014883 ==141203== at 0x4014883: getparameter (tool_getparam.c:2899) ==141203== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141203== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141203== by 0x4004208: main (tool_main.c:189) === End of file valgrind1154 test 1153...[FTP with quoted double quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1153 ../src/curl -q --output log/18/curl1153.out --include --trace-ascii log/18/trace1153 --trace-time ftp://127.0.0.1:35869/test-1153/ > log/18/stdout1153 2> log/18/stderr1153 1153: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1153 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1153 ../src/curl -q --output log/18/curl1153.out --include --trace-ascii log/18/trace1153 --trace-time ftp://127.0.0.1:35869/test-1153/ > log/18/stdout1153 2> log/18/stderr1153 === End of file commands.log === Start of file ftp_server.log 05:47:39.580413 ====> Client connect 05:47:39.580614 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:39.585723 < "USER anonymous" 05:47:39.585769 > "331 We are happy you popped in![CR][LF]" 05:47:39.585969 < "PASS ftp@example.com" 05:47:39.585998 > "230 Welcome you silly person[CR][LF]" 05:47:39.586142 < "PWD" 05:47:39.586173 > "257 "/" is current directory[CR][LF]" 05:47:39.586324 < "EPSV" 05:47:39.586349 ====> Passive DATA channel requested by client 05:47:39.586363 DATA sockfilt for passive data channel starting... 05:47:39.596598 DATA sockfilt for passive data channel started (pid 141189) 05:47:39.596759 DATA sockfilt for passive data channel listens on port 42903 05:47:39.596824 > "229 Entering Passive Mode (|||42903|)[CR][LF]" 05:47:39.596849 Client has been notified that DATA conn will be accepted on port 42903 05:47:39.597190 Client connects to port 42903 05:47:39.597224 ====> Client established passive DATA connection on port 42903 05:47:39.597324 < "TYPE I" 05:47:39.597363 > "200 I CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:42891/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1164 ../src/curl -q --output log/20/curl1164.out --include --trace-ascii log/20/trace1164 --trace-time http://127.0.0.1:38929/1164 -w '%{size_download}\n' --http0.9 > log/20/stdout1164 2> log/20/stderr1164 modify TYPE as you wanted[CR][LF]" 05:47:39.597544 < "SIZE verifiedserver" 05:47:39.597584 > "213 17[CR][LF]" 05:47:39.598935 < "RETR verifiedserver" 05:47:39.598976 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:39.599075 =====> Closing passive DATA connection... 05:47:39.599094 Server disconnects passive DATA connection 05:47:39.599342 Server disconnected passive DATA connection 05:47:39.599370 DATA sockfilt for passive data channel quits (pid 141189) 05:47:39.600631 DATA sockfilt for passive data channel quit (pid 141189) 05:47:39.600661 =====> Closed passive DATA connection 05:47:39.600694 > "226 File transfer complete[CR][LF]" 05:47:39.644968 < "QUIT" 05:47:39.645026 > "221 bye bye baby[CR][LF]" 05:47:39.653460 MAIN sockfilt said DISC 05:47:39.653547 ====> Client disconnected 05:47:39.653673 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:39.041729 ====> Client connect 05:47:39.042095 Received DATA (on stdin) 05:47:39.042116 > 146 bytes data, server => client 05:47:39.042128 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:39.042139 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:39.042149 '220 \___|\___/|_| \_\_____|\r\n' 05:47:39.046988 < 16 bytes data, client => server 05:47:39.047015 'USER anonymous\r\n' 05:47:39.047228 Received DATA (on stdin) 05:47:39.047240 > 33 bytes data, server => client 05:47:39.047251 '331 We are happy you popped in!\r\n' 05:47:39.047337 < 22 bytes data, client => server 05:47:39.047348 'PASS ftp@example.com\r\n' 05:47:39.047451 Received DATA (on stdin) 05:47:39.047462 > 30 bytes data, server => client 05:47:39.047472 '230 Welcome you silly person\r\n' 05:47:39.047518 < 5 bytes data, client => server 05:47:39.047527 'PWD\r\n' 05:47:39.047625 Received DATA (on stdin) 05:47:39.047635 > 30 bytes data, server => client 05:47:39.047645 '257 "/" is current directory\r\n' 05:47:39.047702 < 6 bytes data, client => server 05:47:39.047711 'EPSV\r\n' 05:47:39.058317 Received DATA (on stdin) 05:47:39.058336 > 39 bytes data, server => client 05:47:39.058347 '229 Entering Passive Mode (|||42903|)\r\n' 05:47:39.058552 < 8 bytes data, client => server 05:47:39.058570 'TYPE I\r\n' 05:47:39.058825 Received DATA (on stdin) 05:47:39.058838 > 33 bytes data, server => client 05:47:39.058848 '200 I modify TYPE as you wanted\r\n' 05:47:39.058905 < 21 bytes data, client => server 05:47:39.058917 'SIZE verifiedserver\r\n' 05:47:39.059045 Received DATA (on stdin) 05:47:39.059058 > 8 bytes data, server => client 05:47:39.059067 '213 17\r\n' 05:47:39.059119 < 21 bytes data, client => server 05:47:39.059134 'RETR verifiedserver\r\n' 05:47:39.060530 Received DATA (on stdin) 05:47:39.060544 > 29 bytes data, server => client 05:47:39.060554 '150 Binary junk (17 bytes).\r\n' 05:47:39.062154 Received DATA (on stdin) 05:47:39.062168 > 28 bytes data, server => client 05:47:39.062179 '226 File transfer complete\r\n' 05:47:39.106204 < 6 bytes data, client => server 05:47:39.106237 'QUIT\r\n' 05:47:39.106486 Received DATA (on stdin) 05:47:39.106498 > 18 bytes data, server => client 05:47:39.106508 '221 bye bye baby\r\n' 05:47:39.107740 ====> Client disconnect 05:47:39.116159 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:39.054374 Running IPv4 version 05:47:39.054469 Listening on port 42903 05:47:39.054507 Wrote pid 141189 to log/18/server/ftp_sockdata.pid 05:47:39.057970 Received PING (on stdin) 05:47:39.058107 Received PORT (on stdin) 05:47:39.058594 ====> Client connect 05:47:39.060615 Received DATA (on stdin) 05:47:39.060629 > 17 bytes data, server => client 05:47:39.060639 'WE ROOLZ: 81205\r\n' 05:47:39.060666 Received DISC (on stdin) 05:47:39.060690 ====> Client forcibly disconnected 05:47:39.060833 Received QUIT (on stdin) 05:47:39.060843 quits 05:47:39.061847 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "/""hello""" Testnum 1153 === End of file server.cmd === Start of file valgrind1153 ==141298== ==141298== Process terminating with default action of signal 4 (SIGILL) ==141298== Illegal opcode at address 0x4014883 ==141298== at 0x4014883: getparameter (tool_getparam.c:2899) ==141298== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141298== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141298== by 0x4004208: main (tool_main.c:189) === End of file valgrind1153 test 1161...[HTTP cookie with path set twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:42891/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 1161: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:42891/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 === End of file commands.log === Start of file http_server.log 05:47:39.513164 ====> Client connect 05:47:39.513201 accept_connection 3 returned 4 05:47:39.513220 accept_connection 3 returned 0 05:47:39.513378 Read 93 bytes 05:47:39.513395 Process 93 bytes request 05:47:39.513409 Got request: GET /verifiedserver HTTP/1.1 05:47:39.513419 Are-we-friendly question received 05:47:39.513449 Wrote request (93 bytes) input to log/21/server.input 05:47:39.513468 Identifying ourselves as friends 05:47:39.513533 Response sent (56 bytes) and written to log/21/server.response 05:47:39.513545 special request received, no persistency 05:47:39.513556 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 52210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1161 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1161 ==141688== ==141688== Process terminating with default action of signal 4 (SIGILL) ==141688== Illegal opcode at address 0x4014883 ==141688== at 0x4014883: getparameter (tool_getparam.c:2899) ==141688== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141688== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141688== by 0x4004208: main (tool_main.c:189) === End of file valgrind1161 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:46299/fully_simulated/DOS/*[][" > log/14/stdout1163 2> log/14/stderr1163 test 1164...[HTTP/0.9 GET and all zeroes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1164 ../src/curl -q --output log/20/curl1164.out --include --trace-ascii log/20/trace1164 --trace-time http://127.0.0.1:38929/1164 -w '%{size_download}\n' --http0.9 > log/20/stdout1164 2> log/20/stderr1164 1164: stdout FAILED: --- log/20/check-expected 2026-03-14 05:47:42.321282660 +0000 +++ log/20/check-generated 2026-03-14 05:47:42.321282660 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/20/ directory after test 1164 === Start of file check-expected 208[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1164 ../src/curl -q --output log/20/curl1164.out --include --trace-ascii log/20/trace1164 --trace-time http://127.0.0.1:38929/1164 -w '%{size_download}\n' --http0.9 > log/20/stdout1164 2> log/20/stderr1164 === End of file commands.log === Start of file http_server.log 05:47:39.618138 ====> Client connect 05:47:39.618174 accept_connection 3 returned 4 05:47:39.618189 accept_connection 3 returned 0 05:47:39.618203 Read 93 bytes 05:47:39.618212 Process 93 bytes request 05:47:39.618225 Got request: GET /verifiedserver HTTP/1.1 05:47:39.618233 Are-we-friendly question received 05:47:39.618258 Wrote request (93 bytes) input to log/20/server.input 05:47:39.618279 Identifying ourselves as friends 05:47:39.618336 Response sent (56 bytes) and written to log/20/server.response 05:47:39.618345 special request received, no persistency 05:47:39.618353 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 44200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1164 ==141800== ==141800== Process terminating with default action of signal 4 (SIGILL) ==141800== Illegal opcode at address 0x4014883 ==141800== at 0x4014883: getparameter (tool_getparam.c:2899) ==141800== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141800== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141800== by 0x4004208: main (tool_main.c:189) === End of file valgrind1164 test 1163...[FTP wildcard with pattern ending with an open-bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:46299/fully_simulated/DOS/*[][" > log/14/stdout1163 2> log/14/stderr1163 1163: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:46299/fully_simulated/DOS/*[][" > log/14/stdout1163 2> log/14/stderr1163 === End of file commands.log === Start of file ftp_server.log 05:47:40.132372 ====> Client connect 05:47:40.132565 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:40.132925 < "USER anonymous" 05:47:40.132961 > "331 We are happy you popped in![CR][LF]" 05:47:40.133129 < "PASS ftp@example.com" 05:47:40.133156 > "230 Welcome you silly person[CR][LF]" 05:47:40.133329 < "PWD" 05:47:40.133362 > "257 "/" is current directory[CR][LF]" 05:47:40.133532 < "EPSV" 05:47:40.133557 ====> Passive DATA channel requested by client 05:47:40.133572 DATA sockfilt for passive data channel starting... 05:47:40.142441 DATA sockfilt for passive data channel started (pid 141751) 05:47:40.142591 DATA sockfilt for passive data channel listens on port 43785 05:47:40.142646 > "229 Entering Passive Mode (|||43785|)[CR][LF]" 05:47:40.142661 Client has been notified that DATA conn will be accepted on port 43785 05:47:40.145892 Client connects to port 43785 05:47:40.145961 ====> Client established passive DATA connection on port 43785 05:47:40.146122 < "TYPE I" 05:47:40.146165 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:40.146349 < "SIZE verifiedserver" 05:47:40.146392 > "213 17[CR][LF]" 05:47:40.146580 < "RETR verifiedserver" 05:47:40.146625 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:40.146738 =====> Closing passive DATA connection... 05:47:40.146761 Server disconnects passive DATA connection 05:47:40.146889 Server disconnected passive DATA connection 05:47:40.146917 DATA sockfilt for passive data channel quits (pid 141751) 05:47:40.147242 DATA sockfilt for passive data channel quit (pid 141751) 05:47:40.147273 =====> Closed passive DATA connection 05:47:40.147304 > "226 File transfer complete[CR][LF]" 05:47:40.194093 < "QUIT" 05:47:40.194162 > "221 bye bye baby[CR][LF]" 05:47:40.195445 MAIN sockfilt said DISC 05:47:40.195480 ====> Client disconnected 05:47:40.195584 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:39.593672 ====> Client connect 05:47:39.594044 Received DATA (on stdin) 05:47:39.594062 > 146 bytes data, server => client 05:47:39.594074 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:39.594084 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:39.594093 '220 \___|\___/|_| \_\_____|\r\n' 05:47:39.594221 < 16 bytes data, client => server 05:47:39.594238 'USER anonymous\r\n' 05:47:39.594420 Received DATA (on stdin) 05:47:39.594432 > 33 bytes data, server => client 05:47:39.594442 '331 We are happy you popped in!\r\n' 05:47:39.594496 < 22 bytes data, client => server 05:47:39.594507 'PASS ftp@example.com\r\n' 05:47:39.594612 Received DATA (on stdin) 05:47:39.594625 > 30 bytes data, server => client 05:47:39.594635 '230 Welcome you silly person\r\n' 05:47:39.594690 < 5 bytes data, client => server 05:47:39.594704 'PWD\r\n' 05:47:39.594819 Received DATA (on stdin) 05:47:39.594831 > 30 bytes data, server => client 05:47:39.594841 '257 "/" is current directory\r\n' 05:47:39.594904 < 6 bytes data, client => server 05:47:39.594914 'EPSV\r\n' 05:47:39.606992 Received DATA (on stdin) 05:47:39.607039 > 39 bytes data, server => client 05:47:39.607055 '229 Entering Passive Mode (|||43785|)\r\n' 05:47:39.607447 < 8 bytes data, client => server 05:47:39.607458 'TYPE I\r\n' 05:47:39.607628 Received DATA (on stdin) 05:47:39.607641 > 33 bytes data, server => client 05:47:39.607652 '200 I modify TYPE as you wanted\r\n' 05:47:39.607707 < 21 bytes data, client => server 05:47:39.607721 'SIZE verifiedserver\r\n' 05:47:39.607855 Received DATA (on stdin) 05:47:39.607869 > 8 bytes data, server => client 05:47:39.607879 '213 17\r\n' 05:47:39.607936 < 21 bytes data, client => server 05:47:39.607951 'RETR verifiedserver\r\n' 05:47:39.608765 Received DATA (on stdin) 05:47:39.608779 > 29 bytes data, server => client 05:47:39.608790 '150 Binary junk (17 bytes).\r\n' 05:47:39.608815 Received DATA (on stdin) 05:47:39.608826 > 28 bytes data, server => client 05:47:39.608837 '226 File transfer completCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1159 ../src/curl -q --include --trace-ascii log/16/trace1159 --trace-time http://127.0.0.1:44673/we/want/our/1159 -w '%{redirect_url}\n' > log/16/stdout1159 2> log/16/stderr1159 e\r\n' 05:47:39.655345 < 6 bytes data, client => server 05:47:39.655375 'QUIT\r\n' 05:47:39.655627 Received DATA (on stdin) 05:47:39.655640 > 18 bytes data, server => client 05:47:39.655650 '221 bye bye baby\r\n' 05:47:39.656844 ====> Client disconnect 05:47:39.660322 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:40.598139 Running IPv4 version 05:47:40.598220 Listening on port 43785 05:47:40.598267 Wrote pid 141751 to log/14/server/ftp_sockdata.pid 05:47:40.603821 Received PING (on stdin) 05:47:40.603942 Received PORT (on stdin) 05:47:40.607266 ====> Client connect 05:47:40.608223 Received DATA (on stdin) 05:47:40.608239 > 17 bytes data, server => client 05:47:40.608250 'WE ROOLZ: 81045\r\n' 05:47:40.608277 Received DISC (on stdin) 05:47:40.608290 ====> Client forcibly disconnected 05:47:40.608383 Received QUIT (on stdin) 05:47:40.608395 quits 05:47:40.608474 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1163 === End of file server.cmd === Start of file stderr1163 URL: ftp://127.0.0.1:46299/fully_simulated/DOS/*[][ === End of file stderr1163 === Start of file valgrind1163 ==141815== ==141815== Process terminating with default action of signal 4 (SIGILL) ==141815== Illegal opcode at address 0x51D8933 ==141815== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==141815== by 0x51D8933: UnknownInlinedFun (request.c:40) ==141815== by 0x51D8933: Curl_open (url.c:503) ==141815== by 0x514E50F: curl_easy_init (easy.c:350) ==141815== by 0x40149D7: test_lib576.lto_priv.0 (lib576.c:103) ==141815== by 0x40034B5: main (first.c:279) === End of file valgrind1163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1158 ../src/curl -q --output log/12/curl1158.out --include --trace-ascii log/12/trace1158 --trace-time http://127.0.0.1:36353/we/want/1158 -F "file=@\"log/12/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/12/test1158\".txt"' -F 'file3=@"log/12/test1158\".txt";type=m/f,"log/12/test1158\".txt"' > log/12/stdout1158 2> log/12/stderr1158 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1160 ../src/curl -q --output log/19/curl1160.out --include --trace-ascii log/19/trace1160 --trace-time http://127.0.0.1:35701/1160 -c log/19/cookies1160.txt > log/19/stdout1160 2> log/19/stderr1160 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1168 ../src/curl -q --output log/4/curl1168.out --include --trace-ascii log/4/trace1168 --trace-time http://127.0.0.1:40253/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/4/stdout1168 2> log/4/stderr1168 test 1159...[HTTP Location: and 'redirect_url' with non-supported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1159 ../src/curl -q --include --trace-ascii log/16/trace1159 --trace-time http://127.0.0.1:44673/we/want/our/1159 -w '%{redirect_url}\n' > log/16/stdout1159 2> log/16/stderr1159 1159: stdout FAILED: --- log/16/check-expected 2026-03-14 05:47:42.397949326 +0000 +++ log/16/check-generated 2026-03-14 05:47:42.397949326 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: ht3p://localhost/[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -ht3p://localhost/[LF] == Contents of files in the log/16/ directory after test 1159 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: ht3p://localhost/[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] ht3p://localhost/[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1159 ../src/curl -q --include --trace-ascii log/16/trace1159 --trace-time http://127.0.0.1:44673/we/want/our/1159 -w '%{redirect_url}\n' > log/16/stdout1159 2> log/16/stderr1159 === End of file commands.log === Start of file http_server.log 05:47:40.340380 ====> Client connect 05:47:40.340419 accept_connection 3 returned 4 05:47:40.340437 accept_connection 3 returned 0 05:47:40.340452 Read 93 bytes 05:47:40.340461 Process 93 bytes request 05:47:40.340476 Got request: GET /verifiedserver HTTP/1.1 05:47:40.340486 Are-we-friendly question received 05:47:40.340514 Wrote request (93 bytes) input to log/16/server.input 05:47:40.340533 Identifying ourselves as friends 05:47:40.340607 Response sent (56 bytes) and written to log/16/server.response 05:47:40.340620 special request received, no persistency 05:47:40.340630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 53982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1159 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1159 ==141524== ==141524== Process terminating with default action of signal 4 (SIGILL) ==141524== Illegal opcode at address 0x4014883 ==141524== at 0x4014883: getparameter (tool_getparam.c:2899) ==141524== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141524== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141524== by 0x4004208: main (tool_main.c:189) === End of file valgrind1159 test 1158...[HTTP RFC1867-type formposting with filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1158 ../src/curl -q --output log/12/curl1158.out --include --trace-ascii log/12/trace1158 --trace-time http://127.0.0.1:36353/we/want/1158 -F "file=@\"log/12/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/12/test1158\".txt"' -F 'file3=@"log/12/test1158\".txt";type=m/f,"log/12/test1158\".txt"' > log/12/stdout1158 2> log/12/stderr1158 1158: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1158 ../src/curl -q --output log/12/curl1158.out --include --trace-ascii log/12/trace1158 --trace-time http://127.0.0.1:36353/we/want/1158 -F "file=@\"log/12/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/12/test1158\".txt"' -F 'file3=@"log/12/test1158\".txt";type=m/f,"log/12/test1158\".txt"' > log/12/stdout1158 2> log/12/stderr1158 === End of file commands.log === Start of file http_server.log 05:47:40.320380 ====> Client connect 05:47:40.320421 accept_connection 3 returned 4 05:47:40.320440 accept_connection 3 returned 0 05:47:40.320456 Read 93 bytes 05:47:40.320467 Process 93 bytes request 05:47:40.320482 Got request: GET /verifiedserver HTTP/1.1 05:47:40.320491 Are-we-friendly question received 05:47:40.320513 Wrote request (93 bytes) input to log/12/server.input 05:47:40.320529 Identifying ourselves as friends 05:47:40.320638 Response sent (56 bytes) and written to log/12/server.response 05:47:40.320648 special request received, no persistency 05:47:40.320656 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 50606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file test1158".txt foo bar This is a bar foo bar foo === End of file test1158".txt === Start of file valgrind1158 ==141526== ==141526== Process terminating with default action of signal 4 (SIGILL) ==141526== Illegal opcode at address 0x4014883 ==141526== at 0x4014883: getparameter (tool_getparam.c:2899) ==141526== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141526== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141526== by 0x4004208: main (tool_main.c:189) === End of file valgrind1158 test 1168...[HTTP redirect with credentials using # in user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1168 ../src/curl -q --output log/4/curl1168.out --include --trace-ascii log/4/trace1168 --trace-time http://127.0.0.1:40253/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/4/stdout1168 2> log/4/stderr1168 1168: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1168 ../src/curl -q --output log/4/curl1168.out --include --trace-ascii log/4/trace1168 --trace-time http://127.0.0.1:40253/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/4/stdout1168 2> log/4/stderr1168 === End of file commands.log === Start of file http_server.log 05:47:39.979152 ====> Client connect 05:47:39.979180 accept_connection 3 returned 4 05:47:39.979194 accept_connection 3 returned 0 05:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1166 ../src/curl -q --output log/7/curl1166.out --include --trace-ascii log/7/trace1166 --trace-time http://127.0.0.1:39013/want/1166 http://127.0.0.1:39013/want/1166 > log/7/stdout1166 2> log/7/stderr1166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1172 ../src/curl -q --output log/2/curl1172.out --include --trace-ascii log/2/trace1172 --trace-time http://127.0.0.1:41799/1172 --no-http0.9 > log/2/stdout1172 2> log/2/stderr1172 47:39.979206 Read 93 bytes 05:47:39.979215 Process 93 bytes request 05:47:39.979228 Got request: GET /verifiedserver HTTP/1.1 05:47:39.979235 Are-we-friendly question received 05:47:39.979256 Wrote request (93 bytes) input to log/4/server.input 05:47:39.979269 Identifying ourselves as friends 05:47:39.979315 Response sent (56 bytes) and written to log/4/server.response 05:47:39.979323 special request received, no persistency 05:47:39.979330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 42014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1168 ==142020== ==142020== Process terminating with default action of signal 4 (SIGILL) ==142020== Illegal opcode at address 0x4014883 ==142020== at 0x4014883: getparameter (tool_getparam.c:2899) ==142020== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142020== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142020== by 0x4004208: main (tool_main.c:189) === End of file valgrind1168 test 1160...[HTTP with long funny format cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1160 ../src/curl -q --output log/19/curl1160.out --include --trace-ascii log/19/trace1160 --trace-time http://127.0.0.1:35701/1160 -c log/19/cookies1160.txt > log/19/stdout1160 2> log/19/stderr1160 1160: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1160 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1160 ../src/curl -q --output log/19/curl1160.out --include --trace-ascii log/19/trace1160 --trace-time http://127.0.0.1:35701/1160 -c log/19/cookies1160.txt > log/19/stdout1160 2> log/19/stderr1160 === End of file commands.log === Start of file http_server.log 05:47:39.359692 ====> Client connect 05:47:39.359727 accept_connection 3 returned 4 05:47:39.359745 accept_connection 3 returned 0 05:47:39.359760 Read 93 bytes 05:47:39.359771 Process 93 bytes request 05:47:39.359785 Got request: GET /verifiedserver HTTP/1.1 05:47:39.359795 Are-we-friendly question received 05:47:39.359822 Wrote request (93 bytes) input to log/19/server.input 05:47:39.359841 Identifying ourselves as friends 05:47:39.359905 Response sent (56 bytes) and written to log/19/server.response 05:47:39.359916 special request received, no persistency 05:47:39.359926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 55972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1160 ==141575== ==141575== Process terminating with default action of signal 4 (SIGILL) ==141575== Illegal opcode at address 0x4014883 ==141575== at 0x4014883: getparameter (tool_getparam.c:2899) ==141575== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141575== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141575== by 0x4004208: main (tool_main.c:189) === End of file valgrind1160 test 1166...[HTTP response with cookies but not receiving!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1166 ../src/curl -q --output log/7/curl1166.out --include --trace-ascii log/7/trace1166 --trace-time http://127.0.0.1:39013/want/1166 http://127.0.0.1:39013/want/1166 > log/7/stdout1166 2> log/7/stderr1166 1166: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1166 ../src/curl -q --output log/7/curl1166.out --include --trace-ascii log/7/trace1166 --trace-time http://127.0.0.1:39013/want/1166 http://127.0.0.1:39013/want/1166 > log/7/stdout1166 2> log/7/stderr1166 === End of file commands.log === Start of file http_server.log 05:47:39.872769 ====> Client connect 05:47:39.872807 accept_connection 3 returned 4 05:47:39.872825 accept_connection 3 returned 0 05:47:39.872841 Read 93 bytes 05:47:39.872851 Process 93 bytes request 05:47:39.872866 Got request: GET /verifiedserver HTTP/1.1 05:47:39.872877 Are-we-friendly question received 05:47:39.872905 Wrote request (93 bytes) input to log/7/server.input 05:47:39.872923 Identifying ourselves as friends 05:47:39.872986 Response sent (56 bytes) and written to log/7/server.response 05:47:39.872997 special request received, no persistency 05:47:39.873006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 60286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1166 ==141980== ==141980== Process terminating with default action of signal 4 (SIGILL) ==141980== Illegal opcode at address 0x4014883 ==141980== at 0x4014883: getparameter (tool_getparam.c:2899) ==141980== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==141980== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==141980== by 0x4004208: main (tool_main.c:189) === End of file valgrind1166 test 1172...[HTTP/0.9 GET response denied] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1172 ../src/curl -q --output log/2/curl1172.out --include --trace-ascii log/2/trace1172 --trace-time http://127.0.0.1:41799/1172 --no-http0.9 > log/2/stdout1172 2> log/2/stderr1172 1172: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1172 === StarCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1170 ../src/curl -q --output log/24/curl1170.out --include --trace-ascii log/24/trace1170 --trace-time http://127.0.0.1:33593/1170 --tr-encoding -H "Connection:" > log/24/stdout1170 2> log/24/stderr1170 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1174 ../src/curl -q --output log/22/curl1174.out --include --trace-ascii log/22/trace1174 --trace-time http://127.0.0.1:41477/1174 > log/22/stdout1174 2> log/22/stderr1174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1178 ../src/curl -q --output log/23/curl1178.out --include --trace-ascii log/23/trace1178 --trace-time http://127.0.0.1:33217/we/want/that/page/1178 -x http://127.0.0.1:33217 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/23/stdout1178 2> log/23/stderr1178 t of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1172 ../src/curl -q --output log/2/curl1172.out --include --trace-ascii log/2/trace1172 --trace-time http://127.0.0.1:41799/1172 --no-http0.9 > log/2/stdout1172 2> log/2/stderr1172 === End of file commands.log === Start of file http_server.log 05:47:41.543706 ====> Client connect 05:47:41.543742 accept_connection 3 returned 4 05:47:41.543760 accept_connection 3 returned 0 05:47:41.543775 Read 93 bytes 05:47:41.543784 Process 93 bytes request 05:47:41.543798 Got request: GET /verifiedserver HTTP/1.1 05:47:41.543807 Are-we-friendly question received 05:47:41.543840 Wrote request (93 bytes) input to log/2/server.input 05:47:41.543857 Identifying ourselves as friends 05:47:41.543928 Response sent (56 bytes) and written to log/2/server.response 05:47:41.543940 special request received, no persistency 05:47:41.543949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 39028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1172 ==142299== ==142299== Process terminating with default action of signal 4 (SIGILL) ==142299== Illegal opcode at address 0x4014883 ==142299== at 0x4014883: getparameter (tool_getparam.c:2899) ==142299== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142299== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142299== by 0x4004208: main (tool_main.c:189) === End of file valgrind1172 test 1170...[HTTP GET transfer-encoding with removed Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1170 ../src/curl -q --output log/24/curl1170.out --include --trace-ascii log/24/trace1170 --trace-time http://127.0.0.1:33593/1170 --tr-encoding -H "Connection:" > log/24/stdout1170 2> log/24/stderr1170 1170: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1170 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1170 ../src/curl -q --output log/24/curl1170.out --include --trace-ascii log/24/trace1170 --trace-time http://127.0.0.1:33593/1170 --tr-encoding -H "Connection:" > log/24/stdout1170 2> log/24/stderr1170 === End of file commands.log === Start of file http_server.log 05:47:41.283799 ====> Client connect 05:47:41.283843 accept_connection 3 returned 4 05:47:41.283863 accept_connection 3 returned 0 05:47:41.283880 Read 93 bytes 05:47:41.283891 Process 93 bytes request 05:47:41.283903 Got request: GET /verifiedserver HTTP/1.1 05:47:41.283913 Are-we-friendly question received 05:47:41.283942 Wrote request (93 bytes) input to log/24/server.input 05:47:41.283961 Identifying ourselves as friends 05:47:41.284037 Response sent (56 bytes) and written to log/24/server.response 05:47:41.284051 special request received, no persistency 05:47:41.284061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 49606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1170 ==142161== ==142161== Process terminating with default action of signal 4 (SIGILL) ==142161== Illegal opcode at address 0x4014883 ==142161== at 0x4014883: getparameter (tool_getparam.c:2899) ==142161== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142161== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142161== by 0x4004208: main (tool_main.c:189) === End of file valgrind1170 test 1174...[HTTP/0.9 GET response denied by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1174 ../src/curl -q --output log/22/curl1174.out --include --trace-ascii log/22/trace1174 --trace-time http://127.0.0.1:41477/1174 > log/22/stdout1174 2> log/22/stderr1174 1174: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1174 ../src/curl -q --output log/22/curl1174.out --include --trace-ascii log/22/trace1174 --trace-time http://127.0.0.1:41477/1174 > log/22/stdout1174 2> log/22/stderr1174 === End of file commands.log === Start of file http_server.log 05:47:41.619152 ====> Client connect 05:47:41.619187 accept_connection 3 returned 4 05:47:41.619204 accept_connection 3 returned 0 05:47:41.619220 Read 93 bytes 05:47:41.619230 Process 93 bytes request 05:47:41.619244 Got request: GET /verifiedserver HTTP/1.1 05:47:41.619254 Are-we-friendly question received 05:47:41.619279 Wrote request (93 bytes) input to log/22/server.input 05:47:41.619297 Identifying ourselves as friends 05:47:41.619355 Response sent (56 bytes) and written to log/22/server.response 05:47:41.619364 special request received, no persistency 05:47:41.619372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 37728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1174 ==142345== ==142345== Process terminating with default action of signal 4 (SIGILL) ==142345== Illegal opcode at address 0x4014883 ==142345== at 0x4014883: getparameter (tool_getparam.c:2899) ==142345== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142345== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142345== by 0x4004208: main (tool_main.c:189) === End of file valgrind1174 test 1178...[HTTP proxy auth with credentials longer than 256 byCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1176 ../src/curl -q --include --trace-ascii log/3/trace1176 --trace-time http://127.0.0.1:39591/1176 -o 'log/3/base-#0' > log/3/stdout1176 2> log/3/stderr1176 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1171 ../src/curl -q --output log/17/curl1171.out --include --trace-ascii log/17/trace1171 --trace-time http://127.0.0.1:41505/1171 --tr-encoding -H "Connection;" > log/17/stdout1171 2> log/17/stderr1171 tes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1178 ../src/curl -q --output log/23/curl1178.out --include --trace-ascii log/23/trace1178 --trace-time http://127.0.0.1:33217/we/want/that/page/1178 -x http://127.0.0.1:33217 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/23/stdout1178 2> log/23/stderr1178 1178: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1178 ../src/curl -q --output log/23/curl1178.out --include --trace-ascii log/23/trace1178 --trace-time http://127.0.0.1:33217/we/want/that/page/1178 -x http://127.0.0.1:33217 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/23/stdout1178 2> log/23/stderr1178 === End of file commands.log === Start of file http_server.log 05:47:41.840399 ====> Client connect 05:47:41.840448 accept_connection 3 returned 4 05:47:41.840466 accept_connection 3 returned 0 05:47:41.840482 Read 93 bytes 05:47:41.840492 Process 93 bytes request 05:47:41.840505 Got request: GET /verifiedserver HTTP/1.1 05:47:41.840513 Are-we-friendly question received 05:47:41.840538 Wrote request (93 bytes) input to log/23/server.input 05:47:41.840553 Identifying ourselves as friends 05:47:41.840629 Response sent (56 bytes) and written to log/23/server.response 05:47:41.840638 special request received, no persistency 05:47:41.840646 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 50794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1178 ==142476== ==142476== Process terminating with default action of signal 4 (SIGILL) ==142476== Illegal opcode at address 0x4014883 ==142476== at 0x4014883: getparameter (tool_getparam.c:2899) ==142476== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142476== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142476== by 0x4004208: main (tool_main.c:189) === End of file valgrind1178 test 1176...[--output using #0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1176 ../src/curl -q --include --trace-ascii log/3/trace1176 --trace-time http://127.0.0.1:39591/1176 -o 'log/3/base-#0' > log/3/stdout1176 2> log/3/stderr1176 1176: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1176 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1176 ../src/curl -q --include --trace-ascii log/3/trace1176 --trace-time http://127.0.0.1:39591/1176 -o 'log/3/base-#0' > log/3/stdout1176 2> log/3/stderr1176 === End of file commands.log === Start of file http_server.log 05:47:41.707038 ====> Client connect 05:47:41.707234 accept_connection 3 returned 4 05:47:41.707253 accept_connection 3 returned 0 05:47:41.707269 Read 93 bytes 05:47:41.707279 Process 93 bytes request 05:47:41.707292 Got request: GET /verifiedserver HTTP/1.1 05:47:41.707301 Are-we-friendly question received 05:47:41.707328 Wrote request (93 bytes) input to log/3/server.input 05:47:41.707346 Identifying ourselves as friends 05:47:41.707414 Response sent (56 bytes) and written to log/3/server.response 05:47:41.707425 special request received, no persistency 05:47:41.707434 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 37584 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1176 ==142406== ==142406== Process terminating with default action of signal 4 (SIGILL) ==142406== Illegal opcode at address 0x4014883 ==142406== at 0x4014883: getparameter (tool_getparam.c:2899) ==142406== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142406== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142406== by 0x4004208: main (tool_main.c:189) === End of file valgrind1176 test 1171...[HTTP GET transfer-encoding with blanked Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1171 ../src/curl -q --output log/17/curl1171.out --include --trace-ascii log/17/trace1171 --trace-time http://127.0.0.1:41505/1171 --tr-encoding -H "Connection;" > log/17/stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1181 ../src/curl -q --output log/9/curl1181.out --include --trace-ascii log/9/trace1181 --trace-time --proxy http://127.0.0.1:33885 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:33885/1181 > log/9/stdout1181 2> log/9/stderr1181 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1180 ../src/curl -q --output log/11/curl1180.out --include --trace-ascii log/11/trace1180 --trace-time --proxy http://127.0.0.1:34551 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:34551/1180 > log/11/stdout1180 2> log/11/stderr1180 out1171 2> log/17/stderr1171 1171: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1171 ../src/curl -q --output log/17/curl1171.out --include --trace-ascii log/17/trace1171 --trace-time http://127.0.0.1:41505/1171 --tr-encoding -H "Connection;" > log/17/stdout1171 2> log/17/stderr1171 === End of file commands.log === Start of file http_server.log 05:47:41.352920 ====> Client connect 05:47:41.352958 accept_connection 3 returned 4 05:47:41.352977 accept_connection 3 returned 0 05:47:41.352994 Read 93 bytes 05:47:41.353005 Process 93 bytes request 05:47:41.353020 Got request: GET /verifiedserver HTTP/1.1 05:47:41.353030 Are-we-friendly question received 05:47:41.353057 Wrote request (93 bytes) input to log/17/server.input 05:47:41.353077 Identifying ourselves as friends 05:47:41.353135 Response sent (56 bytes) and written to log/17/server.response 05:47:41.353146 special request received, no persistency 05:47:41.353156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 43648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 1171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind1171 ==142193== ==142193== Process terminating with default action of signal 4 (SIGILL) ==142193== Illegal opcode at address 0x4014883 ==142193== at 0x4014883: getparameter (tool_getparam.c:2899) ==142193== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142193== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142193== by 0x4004208: main (tool_main.c:189) === End of file valgrind1171 test 1181...[HTTP GET request with proxy and "Proxy-Connection: Keep-Alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1181 ../src/curl -q --output log/9/curl1181.out --include --trace-ascii log/9/trace1181 --trace-time --proxy http://127.0.0.1:33885 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:33885/1181 > log/9/stdout1181 2> log/9/stderr1181 1181: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1181 ../src/curl -q --output log/9/curl1181.out --include --trace-ascii log/9/trace1181 --trace-time --proxy http://127.0.0.1:33885 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:33885/1181 > log/9/stdout1181 2> log/9/stderr1181 === End of file commands.log === Start of file http_server.log 05:47:40.954461 ====> Client connect 05:47:40.954498 accept_connection 3 returned 4 05:47:40.954514 accept_connection 3 returned 0 05:47:40.954530 Read 93 bytes 05:47:40.954540 Process 93 bytes request 05:47:40.954554 Got request: GET /verifiedserver HTTP/1.1 05:47:40.954564 Are-we-friendly question received 05:47:40.954587 Wrote request (93 bytes) input to log/9/server.input 05:47:40.954604 Identifying ourselves as friends 05:47:40.954662 Response sent (56 bytes) and written to log/9/server.response 05:47:40.954672 special request received, no persistency 05:47:40.954681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 38948 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1181 ==142580== ==142580== Process terminating with default action of signal 4 (SIGILL) ==142580== Illegal opcode at address 0x4014883 ==142580== at 0x4014883: getparameter (tool_getparam.c:2899) ==142580== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142580== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142580== by 0x4004208: main (tool_main.c:189) === End of file valgrind1181 test 1180...[HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1180 ../src/curl -q --output log/11/curl1180.out --include --trace-ascii log/11/trace1180 --trace-time --proxy http://127.0.0.1:34551 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:34551/1180 > log/11/stdout1180 2> log/11/stderr1180 1180: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1180 ../src/curl -q --output log/11/curl1180.out --include --trace-ascii log/11/trace1180 --trace-time --proxy http://127.0.0.1:34551 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:34551/1180 > log/11/stdout1180 2> log/11/stderr1180 === End of file commands.log === Start of file http_server.log 05:47:41.900400 ====> Client connect 05:47:41.900445 accept_connection 3 returned 4 05:47:41.900466 accept_connection 3 returned 0 05:47:41.900484 Read 93 bytes 05:47:41.900494 Process 93 bytes request 05:47:41.900506 Got request: GET /verifiedserver HTTP/1.1 05:47:41.900516 Are-we-friendly question received 05:47:41.900543 Wrote request (93 bytes) input to log/11/server.input 05:47:41.900562 Identifying ourselves as friends 05:47:41.900650 Response sent (56 bytes) and written to log/11/server.response 05:47:41.900663 special request received, no persistency 05:47:41.900671 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 49070 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === StartCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1183 ../src/curl -q --output log/5/curl1183.out --include --trace-ascii log/5/trace1183 --trace-time http://127.0.0.1:35621/1183 > log/5/stdout1183 2> log/5/stderr1183 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:45623/we/want/our/1188 http://127.0.0.1:45623/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 of file valgrind1180 ==142552== ==142552== Process terminating with default action of signal 4 (SIGILL) ==142552== Illegal opcode at address 0x4014883 ==142552== at 0x4014883: getparameter (tool_getparam.c:2899) ==142552== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142552== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142552== by 0x4004208: main (tool_main.c:189) === End of file valgrind1180 test 1183...[1183 used instead of actual test number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1183 ../src/curl -q --output log/5/curl1183.out --include --trace-ascii log/5/trace1183 --trace-time http://127.0.0.1:35621/1183 > log/5/stdout1183 2> log/5/stderr1183 1183: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1183 ../src/curl -q --output log/5/curl1183.out --include --trace-ascii log/5/trace1183 --trace-time http://127.0.0.1:35621/1183 > log/5/stdout1183 2> log/5/stderr1183 === End of file commands.log === Start of file http_server.log 05:47:42.186167 ====> Client connect 05:47:42.186204 accept_connection 3 returned 4 05:47:42.186222 accept_connection 3 returned 0 05:47:42.186238 Read 93 bytes 05:47:42.186248 Process 93 bytes request 05:47:42.186261 Got request: GET /verifiedserver HTTP/1.1 05:47:42.186271 Are-we-friendly question received 05:47:42.186299 Wrote request (93 bytes) input to log/5/server.input 05:47:42.186317 Identifying ourselves as friends 05:47:42.186377 Response sent (56 bytes) and written to log/5/server.response 05:47:42.186388 special request received, no persistency 05:47:42.186397 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 41442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1183 ==142711== ==142711== Process terminating with default action of signal 4 (SIGILL) ==142711== Illegal opcode at address 0x4014883 ==142711== at 0x4014883: getparameter (tool_getparam.c:2899) ==142711== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142711== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142711== by 0x4004208: main (tool_main.c:189) === End of file valgrind1183 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1186 ../src/curl -q --output log/1/curl1186.out --include --trace-ascii log/1/trace1186 --trace-time http://127.0.0.1:38765/we/want/1186 --form-escape -F "file=@\"log/1/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/1/test1186\".txt"' -F 'file3=@"log/1/test1186\".txt";type=m/f,"log/1/test1186\".txt"' > log/1/stdout1186 2> log/1/stderr1186 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1187 ../src/curl -q --output log/6/curl1187.out --include --trace-ascii log/6/trace1187 --trace-time smtp://127.0.0.1:37015/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/6/stdout1187 2> log/6/stderr1187 test 1188...[--write-out with %{onerror} and %{urlnum} to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:45623/we/want/our/1188 http://127.0.0.1:45623/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 1188: stderr FAILED: --- log/8/check-expected 2026-03-14 05:47:43.731282659 +0000 +++ log/8/check-generated 2026-03-14 05:47:43.731282659 +0000 @@ -1,2 +0,0 @@ -0 says 22 The requested URL returned error: 404[CR][LF] -1 says 22 The requested URL returned error: 404[CR][LF] == Contents of files in the log/8/ directory after test 1188 === Start of file check-expected 0 says 22 The requested URL returned error: 404[CR][LF] 1 says 22 The requested URL returned error: 404[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1188 ../src/curl -q --output log/8/curl1188.out --include --trace-ascii log/8/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:45623/we/want/our/1188 http://127.0.0.1:45623/we/want/our/1188 > log/8/stdout1188 2> log/8/stderr1188 === End of file commands.log === Start of file http_server.log 05:47:41.423839 ====> Client connect 05:47:41.423981 accept_connection 3 returned 4 05:47:41.423998 accept_connection 3 returned 0 05:47:41.424012 Read 93 bytes 05:47:41.424022 Process 93 bytes request 05:47:41.424036 Got request: GET /verifiedserver HTTP/1.1 05:47:41.424045 Are-we-friendly question received 05:47:41.424069 Wrote request (93 bytes) input to log/8/server.input 05:47:41.424085 Identifying ourselves as friends 05:47:41.424145 Response sent (56 bytes) and written to log/8/server.response 05:47:41.424154 special request received, no persistency 05:47:41.424163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1188 ==142820== ==142820== Process terminating with default action of signal 4 (SIGILL) ==142820== Illegal opcode at address 0x4014883 ==142820== at 0x4014883: getparameter (tool_getparam.c:2899) ==142820== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142820== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142820== by 0x4004208: main (tool_main.c:189) === End of file valgrind1188 test 1186...[Multipart formposting with backslash-escaping filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1186 ../src/curl -q --output log/1/curl1186.out --include --trace-ascii log/1/trace1186 --trace-time http://127.0.0.1:38765/we/want/1186 --form-escape -F "file=@\"log/1/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/1/test1186\".txt"' -F 'file3=@"log/1/test1186\".txt";type=m/f,"log/1/test1186\".txt"' > log/1/stdout1186 2> log/1/stderr1186 1186: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1186 ../src/curl -q --output log/1/curl1186.out --include --trace-ascii log/1/trace1186 --trace-time http://127.0.0.1:38765/we/want/1186 --form-escape -F "file=@\"log/1/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/1/test1186\".txt"' -F 'file3=@"log/1/test1186\".txt";type=m/f,"log/1/test1186\".txt"' > log/1/stdout1186 2> log/1/stderr1186 === End of file commands.log === Start of file http_server.log 05:47:42.386135 ====> Client connect 05:47:42.386164 accept_connection 3 returned 4 05:47:42.386180 accept_connection 3 returned 0 05:47:42.386194 Read 93 bytes 05:47:42.386204 Process 93 bytes request 05:47:42.386217 Got request: GET /verifiedserver HTTP/1.1 05:47:42.386226 Are-we-friendly question received 05:47:42.386248 Wrote request (93 bytes) input to log/1/server.input 05:47:42.386265 Identifying ourselves as friends 05:47:42.386319 Response sent (56 bytes) and written to log/1/server.response 05:47:42.386329 special request received, no persistency 05:47:42.386338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 50976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file test1186".txt foo bar This is a bar foo bar foo === End of file test1186".txt === Start of file valgrind1186 ==142802== ==142802== Process terminating with default action of signal 4 (SIGILL) ==142802== Illegal opcode at address 0x4014883 ==142802== at 0x4014883: getparameter (tool_getparam.c:2899) ==142802== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142802== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142802== by 0x4004208: main (tool_main.c:189) === End of file valgrind1186 test 1187...[SMTP multipart with filename escaping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1187 ../src/curl -q --output log/6/curl1187.out --include --trace-ascii log/6/trace1187 --trace-time smtp://127.0.0.1:37015/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/6/stdout1187 2> log/6/stderr1187 1187: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1187 ../src/curl -q --output log/6/curl1187.out --include --trace-ascii log/6/trace1187 --trace-time smtp://127.0.0.1:37015/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/6/stdout1187 2> log/6/stderr1187 === End of file commaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1189 ../src/curl -q --output log/15/curl1189.out --include --trace-ascii log/15/trace1189 --trace-time http://127.0.0.1:43413/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/15/stdout1189 2> log/15/stderr1189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1197 ../src/curl -q --include --trace-ascii log/12/trace1197 --trace-time http://127.0.0.1:36353/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 nds.log === Start of file server.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 05:47:41.948900 ====> Client connect 05:47:41.949142 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:41.962418 < "EHLO verifiedserver" 05:47:41.962491 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:41.972341 < "HELP" 05:47:41.972410 > "214 WE ROOLZ: 126008[CR][LF]" 05:47:41.972429 return proof we are we 05:47:41.982572 < "QUIT" 05:47:41.982640 > "221 curl ESMTP server signing off[CR][LF]" 05:47:41.988956 MAIN sockfilt said DISC 05:47:41.989014 ====> Client disconnected 05:47:41.989101 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:41.407014 ====> Client connect 05:47:41.420324 Received DATA (on stdin) 05:47:41.420386 > 146 bytes data, server => client 05:47:41.420399 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:41.420409 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:41.420419 '220 \___|\___/|_| \_\_____|\r\n' 05:47:41.420562 < 21 bytes data, client => server 05:47:41.420575 'EHLO verifiedserver\r\n' 05:47:41.430333 Received DATA (on stdin) 05:47:41.430370 > 53 bytes data, server => client 05:47:41.430383 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:41.430495 < 6 bytes data, client => server 05:47:41.430506 'HELP\r\n' 05:47:41.433889 Received DATA (on stdin) 05:47:41.433906 > 22 bytes data, server => client 05:47:41.433917 '214 WE ROOLZ: 126008\r\n' 05:47:41.443806 < 6 bytes data, client => server 05:47:41.443842 'QUIT\r\n' 05:47:41.444107 Received DATA (on stdin) 05:47:41.444121 > 35 bytes data, server => client 05:47:41.444133 '221 curl ESMTP server signing off\r\n' 05:47:41.450326 ====> Client disconnect 05:47:41.450569 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1187 From: different To: another body === End of file stdin-for-1187 === Start of file valgrind1187 ==142866== ==142866== Process terminating with default action of signal 4 (SIGILL) ==142866== Illegal opcode at address 0x4014883 ==142866== at 0x4014883: getparameter (tool_getparam.c:2899) ==142866== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142866== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142866== by 0x4004208: main (tool_main.c:189) === End of file valgrind1187 test 1189...[Multipart formposting with backslash-escaping of name= and filename=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1189 ../src/curl -q --output log/15/curl1189.out --include --trace-ascii log/15/trace1189 --trace-time http://127.0.0.1:43413/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/15/stdout1189 2> log/15/stderr1189 1189: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1189 ../src/curl -q --output log/15/curl1189.out --include --trace-ascii log/15/trace1189 --trace-time http://127.0.0.1:43413/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/15/stdout1189 2> log/15/stderr1189 === End of file commands.log === Start of file http_server.log 05:47:42.684114 ====> Client connect 05:47:42.684153 accept_connection 3 returned 4 05:47:42.684171 accept_connection 3 returned 0 05:47:42.684187 Read 93 bytes 05:47:42.684197 Process 93 bytes request 05:47:42.684211 Got request: GET /verifiedserver HTTP/1.1 05:47:42.684220 Are-we-friendly question received 05:47:42.684249 Wrote request (93 bytes) input to log/15/server.input 05:47:42.684268 Identifying ourselves as friends 05:47:42.684335 Response sent (56 bytes) and written to log/15/server.response 05:47:42.684347 special request received, no persistency 05:47:42.684355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 33272 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file test1189.txt foo bar This is a bar foo bar foo === End of file test1189.txt === Start of file valgrind1189 ==142986== ==142986== Process terminating with default action of signal 4 (SIGILL) ==142986== Illegal opcode at address 0x4014883 ==142986== at 0x4014883: getparameter (tool_getparam.c:2899) ==142986== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==142986== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==142986== by 0x4004208: main (tool_main.c:189) === End of file valgrind1189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1191 ../src/curl -q --output log/10/curl1191.out --include --trace log/10/trace1191 --trace-time mqtt://127.0.0.1:42109/1191 -d something > log/10/stdout1191 2> log/10/stderr1191 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1192 ../src/curl -q --output log/18/curl1192.out --include --trace log/18/trace1192 --trace-time mqtt://127.0.0.1:37727/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/18/stdout1192 2> log/18/stderr1192 test 1197...[HTTP POST redirected to GET and --write-out method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1197 ../src/curl -q --include --trace-ascii log/12/trace1197 --trace-time http://127.0.0.1:36353/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 1197: stdout FAILED: --- log/12/check-expected 2026-03-14 05:47:44.827949325 +0000 +++ log/12/check-generated 2026-03-14 05:47:44.827949325 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./11970001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -GET[LF] == Contents of files in the log/12/ directory after test 1197 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./11970001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] GET[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1197 ../src/curl -q --include --trace-ascii log/12/trace1197 --trace-time http://127.0.0.1:36353/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 === End of file commands.log === Start of file http_server.log 05:47:43.137073 ====> Client connect 05:47:43.137120 accept_connection 3 returned 4 05:47:43.137140 accept_connection 3 returned 0 05:47:43.137157 Read 93 bytes 05:47:43.137167 Process 93 bytes request 05:47:43.137181 Got request: GET /verifiedserver HTTP/1.1 05:47:43.137190 Are-we-friendly question received 05:47:43.137214 Wrote request (93 bytes) input to log/12/server.input 05:47:43.137231 Identifying ourselves as friends 05:47:43.137311 Response sent (56 bytes) and written to log/12/server.response 05:47:43.137323 special request received, no persistency 05:47:43.137331 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 50620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1197 ==143102== ==143102== Process terminating with default action of signal 4 (SIGILL) ==143102== Illegal opcode at address 0x4014883 ==143102== at 0x4014883: getparameter (tool_getparam.c:2899) ==143102== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143102== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143102== by 0x4004208: main (tool_main.c:189) === End of file valgrind1197 startnew: ./server/servers mqttd --port 0 --pidfile log/10/server/mqtt_server.pid --portfile log/10/server/mqtt_server.port --config log/10/server.cmd --logfile log/10/mqtt_server.log --logdir log/10 RUN: MQTT server is now running PID 142947 on PORT 42109 * pid mqtt => 142947 142947 test 1191...[MQTT PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1191 ../src/curl -q --output log/10/curl1191.out --include --trace log/10/trace1191 --trace-time mqtt://127.0.0.1:42109/1191 -d something > log/10/stdout1191 2> log/10/stderr1191 1191: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1191 ../src/curl -q --output log/10/curl1191.out --include --trace log/10/trace1191 --trace-time mqtt://127.0.0.1:42109/1191 -d something > log/10/stdout1191 2> log/10/stderr1191 === End of file commands.log === Start of file mqtt_server.log 05:47:42.639011 Running IPv4 version 05:47:42.639102 Listening on port 42109 05:47:42.639142 Wrote pid 142947 to log/10/server/mqtt_server.pid 05:47:42.639173 Wrote port 42109 to log/10/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1191 === End of file server.cmd === Start of file valgrind1191 ==143179== ==143179== Process terminating with default action of signal 4 (SIGILL) ==143179== Illegal opcode at address 0x4014883 ==143179== at 0x4014883: getparameter (tool_getparam.c:2899) ==143179== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143179== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143179== by 0x4004208: main (tool_main.c:189) === End of file valgrind1191 startnew: ./server/servers mqttd --port 0 --pidfile log/18/server/mqtt_server.pid --portfile log/18/server/mqtt_server.port --config log/18/server.cmd --logfile log/18/mqtt_server.log --logdir log/18 RUN: MQTT server is now running PID 142974 on PORT 37727 * pid mqtt => 142974 142974 test 1192...[MQTT SUBSCRIBE 2k topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1192 ../src/curl -q --output log/18/curl1192.out --include --trace log/18/trace1192 --trace-time mqtt://127.0.0.1:37727/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1205 ../src/curl -q --output log/3/curl1205.out --include --trace-ascii log/3/trace1205 --trace-time http://127.0.0.1:39591/1205 > log/3/stdout1205 2> log/3/stderr1205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1208 ../src/curl -q --output log/11/curl1208.out --include --trace-ascii log/11/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:37471/1208 -P - > log/11/stdout1208 2> log/11/stderr1208 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/18/stdout1192 2> log/18/stderr1192 1192: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1192 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1192 ../src/curl -q --output log/18/curl1192.out --include --trace log/18/trace1192 --trace-time mqtt://127.0.0.1:37727/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/18/stdout1192 2> log/18/stderr1192 === End of file commands.log === Start of file mqtt_server.log 05:47:42.707849 Running IPv4 version 05:47:42.707939 Listening on port 37727 05:47:42.707978 Wrote pid 142974 to log/18/server/mqtt_server.pid 05:47:42.708006 Wrote port 37727 to log/18/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1192 === End of file server.cmd === Start of file valgrind1192 ==143218== ==143218== Process terminating with default action of signal 4 (SIGILL) ==143218== Illegal opcode at address 0x4014883 ==143218== at 0x4014883: getparameter (tool_getparam.c:2899) ==143218== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143218== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143218== by 0x4004208: main (tool_main.c:189) === End of file valgrind1192 test 1205...[HTTP GET with 18K HTTP header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1205 ../src/curl -q --output log/3/curl1205.out --include --trace-ascii log/3/trace1205 --trace-time http://127.0.0.1:39591/1205 > log/3/stdout1205 2> log/3/stderr1205 1205: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1205 ../src/curl -q --output log/3/curl1205.out --include --trace-ascii log/3/trace1205 --trace-time http://127.0.0.1:39591/1205 > log/3/stdout1205 2> log/3/stderr1205 === End of file commands.log === Start of file http_server.log 05:47:43.759130 ====> Client connect 05:47:43.759168 accept_connection 3 returned 4 05:47:43.759187 accept_connection 3 returned 0 05:47:43.759204 Read 93 bytes 05:47:43.759215 Process 93 bytes request 05:47:43.759229 Got request: GET /verifiedserver HTTP/1.1 05:47:43.759239 Are-we-friendly question received 05:47:43.759269 Wrote request (93 bytes) input to log/3/server.input 05:47:43.759287 Identifying ourselves as friends 05:47:43.759357 Response sent (56 bytes) and written to log/3/server.response 05:47:43.759369 special request received, no persistency 05:47:43.759378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 37598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1205 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1205 ==143331== ==143331== Process terminating with default action of signal 4 (SIGILL) ==143331== Illegal opcode at address 0x4014883 ==143331== at 0x4014883: getparameter (tool_getparam.c:2899) ==143331== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143331== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143331== by 0x4004208: main (tool_main.c:189) === End of file valgrind1205 test 1208...[FTP PORT download, no data conn and no transient negative reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1208 ../src/curl -q --output log/11/curl1208.out --include --trace-ascii log/11/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:37471/1208 -P - > log/11/stdout1208 2> log/11/stderr1208 1208: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1208 ../src/curl -q --output log/11/curl1208.out --include --trace-ascii log/11/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:37471/1208 -P - > log/11/stdout1208 2> log/11/stderr1208 === End of file commands.log === Start of file ftp_server.log 05:47:43.553125 ====> Client connect 05:47:43.553318 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1190 ../src/curl -q --output log/13/curl1190.out --include --trace log/13/trace1190 --trace-time mqtt://127.0.0.1:45859/1190 > log/13/stdout1190 2> log/13/stderr1190 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1207 ../src/curl -q --output log/9/curl1207.out --include --trace-ascii log/9/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:39835/1207 -P - > log/9/stdout1207 2> log/9/stderr1207 |[CR][LF]" 05:47:43.553644 < "USER anonymous" 05:47:43.553687 > "331 We are happy you popped in![CR][LF]" 05:47:43.553890 < "PASS ftp@example.com" 05:47:43.553928 > "230 Welcome you silly person[CR][LF]" 05:47:43.554108 < "PWD" 05:47:43.554148 > "257 "/" is current directory[CR][LF]" 05:47:43.554332 < "EPSV" 05:47:43.554360 ====> Passive DATA channel requested by client 05:47:43.554375 DATA sockfilt for passive data channel starting... 05:47:43.558955 DATA sockfilt for passive data channel started (pid 143714) 05:47:43.559110 DATA sockfilt for passive data channel listens on port 45071 05:47:43.559162 > "229 Entering Passive Mode (|||45071|)[CR][LF]" 05:47:43.559181 Client has been notified that DATA conn will be accepted on port 45071 05:47:43.559479 Client connects to port 45071 05:47:43.559515 ====> Client established passive DATA connection on port 45071 05:47:43.559613 < "TYPE I" 05:47:43.559647 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:43.559817 < "SIZE verifiedserver" 05:47:43.559858 > "213 17[CR][LF]" 05:47:43.560007 < "RETR verifiedserver" 05:47:43.560042 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:43.560130 =====> Closing passive DATA connection... 05:47:43.560145 Server disconnects passive DATA connection 05:47:43.560385 Server disconnected passive DATA connection 05:47:43.560413 DATA sockfilt for passive data channel quits (pid 143714) 05:47:43.560687 DATA sockfilt for passive data channel quit (pid 143714) 05:47:43.560710 =====> Closed passive DATA connection 05:47:43.560737 > "226 File transfer complete[CR][LF]" 05:47:43.606016 < "QUIT" 05:47:43.606083 > "221 bye bye baby[CR][LF]" 05:47:43.607413 MAIN sockfilt said DISC 05:47:43.607447 ====> Client disconnected 05:47:43.612282 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:44.014441 ====> Client connect 05:47:44.014796 Received DATA (on stdin) 05:47:44.014814 > 146 bytes data, server => client 05:47:44.014827 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:44.014837 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:44.014846 '220 \___|\___/|_| \_\_____|\r\n' 05:47:44.014930 < 16 bytes data, client => server 05:47:44.014945 'USER anonymous\r\n' 05:47:44.015150 Received DATA (on stdin) 05:47:44.015163 > 33 bytes data, server => client 05:47:44.015174 '331 We are happy you popped in!\r\n' 05:47:44.015232 < 22 bytes data, client => server 05:47:44.015245 'PASS ftp@example.com\r\n' 05:47:44.015387 Received DATA (on stdin) 05:47:44.015400 > 30 bytes data, server => client 05:47:44.015410 '230 Welcome you silly person\r\n' 05:47:44.015464 < 5 bytes data, client => server 05:47:44.015477 'PWD\r\n' 05:47:44.015603 Received DATA (on stdin) 05:47:44.015615 > 30 bytes data, server => client 05:47:44.015625 '257 "/" is current directory\r\n' 05:47:44.015691 < 6 bytes data, client => server 05:47:44.015705 'EPSV\r\n' 05:47:44.020643 Received DATA (on stdin) 05:47:44.020660 > 39 bytes data, server => client 05:47:44.020670 '229 Entering Passive Mode (|||45071|)\r\n' 05:47:44.020847 < 8 bytes data, client => server 05:47:44.020863 'TYPE I\r\n' 05:47:44.021102 Received DATA (on stdin) 05:47:44.021114 > 33 bytes data, server => client 05:47:44.021124 '200 I modify TYPE as you wanted\r\n' 05:47:44.021180 < 21 bytes data, client => server 05:47:44.021190 'SIZE verifiedserver\r\n' 05:47:44.021311 Received DATA (on stdin) 05:47:44.021321 > 8 bytes data, server => client 05:47:44.021330 '213 17\r\n' 05:47:44.021379 < 21 bytes data, client => server 05:47:44.021389 'RETR verifiedserver\r\n' 05:47:44.021599 Received DATA (on stdin) 05:47:44.021610 > 29 bytes data, server => client 05:47:44.021619 '150 Binary junk (17 bytes).\r\n' 05:47:44.022191 Received DATA (on stdin) 05:47:44.022204 > 28 bytes data, server => client 05:47:44.022213 '226 File transfer complete\r\n' 05:47:44.067259 < 6 bytes data, client => server 05:47:44.067295 'QUIT\r\n' 05:47:44.067547 Received DATA (on stdin) 05:47:44.067561 > 18 bytes data, server => client 05:47:44.067572 '221 bye bye baby\r\n' 05:47:44.068814 ====> Client disconnect 05:47:44.068929 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:43.018259 Running IPv4 version 05:47:43.018356 Listening on port 45071 05:47:43.018395 Wrote pid 143714 to log/11/server/ftp_sockdata.pid 05:47:43.020319 Received PING (on stdin) 05:47:43.020459 Received PORT (on stdin) 05:47:43.020884 ====> Client connect 05:47:43.021676 Received DATA (on stdin) 05:47:43.021690 > 17 bytes data, server => client 05:47:43.021699 'WE ROOLZ: 81984\r\n' 05:47:43.021726 Received DISC (on stdin) 05:47:43.021737 ====> Client forcibly disconnected 05:47:43.021872 Received QUIT (on stdin) 05:47:43.021882 quits 05:47:43.021977 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 Testnum 1208 === End of file server.cmd === Start of file valgrind1208 ==143794== ==143794== Process terminating with default action of signal 4 (SIGILL) ==143794== Illegal opcode at address 0x4014883 ==143794== at 0x4014883: getparameter (tool_getparam.c:2899) ==143794== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143794== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143794== by 0x4004208: main (tool_main.c:189) === End of file valgrind1208 startnew: ./server/servers mqttd --port 0 --pidfile log/13/server/mqtt_server.pid --portfile log/13/server/mqtt_server.port --config log/13/server.cmd --logfile log/13/mqtt_server.log --logdir log/13 RUN: MQTT server is now running PID 142933 on PORT 45859 * pid mqtt => 142933 142933 test 1190...[MQTT SUBSCRIBE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1190 ../src/curl -q --output log/13/curl1190.out --include --trace log/13/trace1190 --trace-time mqtt://127.0.0.1:45859/1190 > log/13/stdout1190 2> log/13/stderr1190 1190: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1190 ../src/curl -q --output log/13/curl1190.out --include --trace log/13/trace1190 --trace-time mqtt://127.0.0.1:45859/1190 > log/13/stdout1190 2> log/13/stderr1190 === End of file commands.log === Start of file mqtt_server.log 05:47:42.618788 Running IPv4 version 05:47:42.618873 Listening on port 45859 05:47:42.618924 Wrote pid 142933 to log/13/server/mqtt_server.pid 05:47:42.618956 Wrote port 45859 to log/13/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1190 === End of file server.cmd === Start of file valgrind1190 ==143177== ==143177== Process terminating with default action of signal 4 (SIGILL) ==143177== Illegal opcode at address 0x4014883 ==143177== at 0x4014883: getparameter (tool_getparam.c:2899) ==143177== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143177== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143177== by 0x4004208: main (tool_main.c:189) === End of file valgrind1190 test 1207...[FTP PORT and 421 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1207 ../src/curl -q --output log/9/curl1207.out --include --trace-ascii log/9/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:39835/1207 -P - > log/9/stdout1207 2> log/9/stderr1207 1207: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1207 === Start of file commands.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1210 ../src/curl -q --trace-ascii log/5/trace1210 --trace-time http://127.0.0.1:35621/1210?junk -J -O --output-dir log/5 > log/5/stdout1210 2> log/5/stderr1210 log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1207 ../src/curl -q --output log/9/curl1207.out --include --trace-ascii log/9/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:39835/1207 -P - > log/9/stdout1207 2> log/9/stderr1207 === End of file commands.log === Start of file ftp_server.log 05:47:43.371698 ====> Client connect 05:47:43.371843 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:43.372739 < "USER anonymous" 05:47:43.372783 > "331 We are happy you popped in![CR][LF]" 05:47:43.372952 < "PASS ftp@example.com" 05:47:43.372979 > "230 Welcome you silly person[CR][LF]" 05:47:43.374013 < "PWD" 05:47:43.374054 > "257 "/" is current directory[CR][LF]" 05:47:43.374220 < "EPSV" 05:47:43.374245 ====> Passive DATA channel requested by client 05:47:43.374258 DATA sockfilt for passive data channel starting... 05:47:43.380114 DATA sockfilt for passive data channel started (pid 143420) 05:47:43.380257 DATA sockfilt for passive data channel listens on port 36313 05:47:43.380310 > "229 Entering Passive Mode (|||36313|)[CR][LF]" 05:47:43.380331 Client has been notified that DATA conn will be accepted on port 36313 05:47:43.380645 Client connects to port 36313 05:47:43.380679 ====> Client established passive DATA connection on port 36313 05:47:43.380777 < "TYPE I" 05:47:43.380817 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:43.381001 < "SIZE verifiedserver" 05:47:43.381043 > "213 17[CR][LF]" 05:47:43.381203 < "RETR verifiedserver" 05:47:43.381240 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:43.381326 =====> Closing passive DATA connection... 05:47:43.381344 Server disconnects passive DATA connection 05:47:43.381574 Server disconnected passive DATA connection 05:47:43.381603 DATA sockfilt for passive data channel quits (pid 143420) 05:47:43.381841 DATA sockfilt for passive data channel quit (pid 143420) 05:47:43.381867 =====> Closed passive DATA connection 05:47:43.381898 > "226 File transfer complete[CR][LF]" 05:47:43.422893 < "QUIT" 05:47:43.422961 > "221 bye bye baby[CR][LF]" 05:47:43.424150 MAIN sockfilt said DISC 05:47:43.424198 ====> Client disconnected 05:47:43.424310 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:42.833054 ====> Client connect 05:47:42.833306 Received DATA (on stdin) 05:47:42.833321 > 146 bytes data, server => client 05:47:42.833332 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:42.833341 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:42.833350 '220 \___|\___/|_| \_\_____|\r\n' 05:47:42.834027 < 16 bytes data, client => server 05:47:42.834045 'USER anonymous\r\n' 05:47:42.834240 Received DATA (on stdin) 05:47:42.834251 > 33 bytes data, server => client 05:47:42.834261 '331 We are happy you popped in!\r\n' 05:47:42.834312 < 22 bytes data, client => server 05:47:42.834322 'PASS ftp@example.com\r\n' 05:47:42.834430 Received DATA (on stdin) 05:47:42.834440 > 30 bytes data, server => client 05:47:42.834450 '230 Welcome you silly person\r\n' 05:47:42.835357 < 5 bytes data, client => server 05:47:42.835374 'PWD\r\n' 05:47:42.835509 Received DATA (on stdin) 05:47:42.835521 > 30 bytes data, server => client 05:47:42.835531 '257 "/" is current directory\r\n' 05:47:42.835590 < 6 bytes data, client => server 05:47:42.835600 'EPSV\r\n' 05:47:42.841795 Received DATA (on stdin) 05:47:42.841812 > 39 bytes data, server => client 05:47:42.841823 '229 Entering Passive Mode (|||36313|)\r\n' 05:47:42.842011 < 8 bytes data, client => server 05:47:42.842027 'TYPE I\r\n' 05:47:42.842274 Received DATA (on stdin) 05:47:42.842286 > 33 bytes data, server => client 05:47:42.842297 '200 I modify TYPE as you wanted\r\n' 05:47:42.842353 < 21 bytes data, client => server 05:47:42.842364 'SIZE verifiedserver\r\n' 05:47:42.842497 Received DATA (on stdin) 05:47:42.842508 > 8 bytes data, server => client 05:47:42.842518 '213 17\r\n' 05:47:42.842568 < 21 bytes data, client => server 05:47:42.842579 'RETR verifiedserver\r\n' 05:47:42.842798 Received DATA (on stdin) 05:47:42.842809 > 29 bytes data, server => client 05:47:42.842819 '150 Binary junk (17 bytes).\r\n' 05:47:42.843353 Received DATA (on stdin) 05:47:42.843365 > 28 bytes data, server => client 05:47:42.843374 '226 File transfer complete\r\n' 05:47:42.884138 < 6 bytes data, client => server 05:47:42.884174 'QUIT\r\n' 05:47:42.884425 Received DATA (on stdin) 05:47:42.884440 > 18 bytes data, server => client 05:47:42.884450 '221 bye bye baby\r\n' 05:47:42.885540 ====> Client disconnect 05:47:42.885775 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:43.841196 Running IPv4 version 05:47:43.841270 Listening on port 36313 05:47:43.841308 Wrote pid 143420 to log/9/server/ftp_sockdata.pid 05:47:43.841501 Received PING (on stdin) 05:47:43.841605 Received PORT (on stdin) 05:47:43.842050 ====> Client connect 05:47:43.842843 Received DATA (on stdin) 05:47:43.842855 > 17 bytes data, server => client 05:47:43.842865 'WE ROOLZ: 81042\r\n' 05:47:43.842891 Received DISC (on stdin) 05:47:43.842902 ====> Client forcibly disconnected 05:47:43.843065 Received QUIT (on stdin) 05:47:43.843076 quits 05:47:43.843162 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 Testnum 1207 === End of file server.cmd === Start of file valgrind1207 ==143607== ==143607== Process terminating with default action of signal 4 (SIGILL) ==143607== Illegal opcode at address 0x4014883 ==143607== at 0x4014883: getparameter (tool_getparam.c:2899) ==143607== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143607== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143607== by 0x4004208: main (tool_main.c:189) === End of file valgrind1207 test 1210...[HTTP GET with -J without Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1210 ../src/curl -q --trace-ascii log/5/trace1210 --trace-time http://127.0.0.1:35621/1210?junk -J -O --output-dir log/5 > log/5/stdout1210 2> log/5/stderr1210 1210: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1210 ../src/curl -q --trace-ascii log/5/trace1210 --trace-time http://127.0.0.1:35621/1210?junk -J -O --output-dir log/5 > log/5/stdout1210 2> log/5/stderr1210 === End of file commands.log === Start of file http_server.log 05:47:44.155044 ====> Client connect 05:47:44.155097 accept_connection 3 returned 4 05:47:44.155118 accept_connection 3 returned 0 05:47:44.155135 Read 93 bytes 05:47:44.155145 Process 93 bytes request 05:47:44.155157 Got request: GET /verifiedserver HTTP/1.1 05:47:44.155165 Are-we-friendly question received 05:47:44.155193 Wrote request (93 bytes) input to log/5/server.input 05:47:44.155210 Identifying ourselves as friends 05:47:44.155291 Response sent (56 bytes) and written to log/5/server.response 05:47:44.155303 special request received, no persistency 05:47:44.155311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 41446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes datCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1204 ../src/curl -q --output log/23/curl1204.out --include --trace-ascii log/23/trace1204 --trace-time http://127.0.0.1:33217/1204 -u testuser:testpass --anyauth > log/23/stdout1204 2> log/23/stderr1204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1193 ../src/curl -q --output log/21/curl1193.out --include --trace log/21/trace1193 --trace-time mqtt://127.0.0.1:39015/1193 -d @log/21/payload1193 > log/21/stdout1193 2> log/21/stderr1193 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1206 ../src/curl -q --output log/17/curl1206.out --include --trace-ascii log/17/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:40885/1206 -P - > log/17/stdout1206 2> log/17/stderr1206 a] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1210 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1210 ==143833== ==143833== Process terminating with default action of signal 4 (SIGILL) ==143833== Illegal opcode at address 0x4014883 ==143833== at 0x4014883: getparameter (tool_getparam.c:2899) ==143833== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143833== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143833== by 0x4004208: main (tool_main.c:189) === End of file valgrind1210 test 1204...[HTTP with WWW-Authenticate and multiple auths in a single line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1204 ../src/curl -q --output log/23/curl1204.out --include --trace-ascii log/23/trace1204 --trace-time http://127.0.0.1:33217/1204 -u testuser:testpass --anyauth > log/23/stdout1204 2> log/23/stderr1204 1204: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1204 ../src/curl -q --output log/23/curl1204.out --include --trace-ascii log/23/trace1204 --trace-time http://127.0.0.1:33217/1204 -u testuser:testpass --anyauth > log/23/stdout1204 2> log/23/stderr1204 === End of file commands.log === Start of file http_server.log 05:47:43.748435 ====> Client connect 05:47:43.748475 accept_connection 3 returned 4 05:47:43.748493 accept_connection 3 returned 0 05:47:43.748510 Read 93 bytes 05:47:43.748520 Process 93 bytes request 05:47:43.748534 Got request: GET /verifiedserver HTTP/1.1 05:47:43.748543 Are-we-friendly question received 05:47:43.748569 Wrote request (93 bytes) input to log/23/server.input 05:47:43.748585 Identifying ourselves as friends 05:47:43.748668 Response sent (56 bytes) and written to log/23/server.response 05:47:43.748678 special request received, no persistency 05:47:43.748686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 50810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1204 ==143280== ==143280== Process terminating with default action of signal 4 (SIGILL) ==143280== Illegal opcode at address 0x4014883 ==143280== at 0x4014883: getparameter (tool_getparam.c:2899) ==143280== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143280== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143280== by 0x4004208: main (tool_main.c:189) === End of file valgrind1204 startnew: ./server/servers mqttd --port 0 --pidfile log/21/server/mqtt_server.pid --portfile log/21/server/mqtt_server.port --config log/21/server.cmd --logfile log/21/mqtt_server.log --logdir log/21 RUN: MQTT server is now running PID 142973 on PORT 39015 * pid mqtt => 142973 142973 test 1193...[MQTT PUBLISH 2k payload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1193 ../src/curl -q --output log/21/curl1193.out --include --trace log/21/trace1193 --trace-time mqtt://127.0.0.1:39015/1193 -d @log/21/payload1193 > log/21/stdout1193 2> log/21/stderr1193 1193: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1193 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1193 ../src/curl -q --output log/21/curl1193.out --include --trace log/21/trace1193 --trace-time mqtt://127.0.0.1:39015/1193 -d @log/21/payload1193 > log/21/stdout1193 2> log/21/stderr1193 === End of file commands.log === Start of file mqtt_server.log 05:47:42.710713 Running IPv4 version 05:47:42.710802 Listening on port 39015 05:47:42.710845 Wrote pid 142973 to log/21/server/mqtt_server.pid 05:47:42.710878 Wrote port 39015 to log/21/server/mqtt_server.port === End of file mqtt_server.log === Start of file payload1193 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file payload1193 === Start of file server.cmd Testnum 1193 === End of file server.cmd === Start of file valgrind1193 ==143236== ==143236== Process terminating with default action of signal 4 (SIGILL) ==143236== Illegal opcode at address 0x4014883 ==143236== at 0x4014883: getparameter (tool_getparam.c:2899) ==143236== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143236== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143236== by 0x4004208: main (tool_main.c:189) === End of file valgrind1193 test 1206...[FTP PORT and 425 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1196 ../src/curl -q --output log/16/curl1196.out --include --trace log/16/trace1196 --trace-time mqtt://127.0.0.1:40841/1196 > log/16/stdout1196 2> log/16/stderr1196 log-file=log/17/valgrind1206 ../src/curl -q --output log/17/curl1206.out --include --trace-ascii log/17/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:40885/1206 -P - > log/17/stdout1206 2> log/17/stderr1206 1206: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1206 ../src/curl -q --output log/17/curl1206.out --include --trace-ascii log/17/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:40885/1206 -P - > log/17/stdout1206 2> log/17/stderr1206 === End of file commands.log === Start of file ftp_server.log 05:47:43.345296 ====> Client connect 05:47:43.345488 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:43.345863 < "USER anonymous" 05:47:43.345912 > "331 We are happy you popped in![CR][LF]" 05:47:43.346110 < "PASS ftp@example.com" 05:47:43.346146 > "230 Welcome you silly person[CR][LF]" 05:47:43.346320 < "PWD" 05:47:43.346357 > "257 "/" is current directory[CR][LF]" 05:47:43.346531 < "EPSV" 05:47:43.346561 ====> Passive DATA channel requested by client 05:47:43.346578 DATA sockfilt for passive data channel starting... 05:47:43.348542 DATA sockfilt for passive data channel started (pid 143366) 05:47:43.348665 DATA sockfilt for passive data channel listens on port 34641 05:47:43.348715 > "229 Entering Passive Mode (|||34641|)[CR][LF]" 05:47:43.348731 Client has been notified that DATA conn will be accepted on port 34641 05:47:43.348982 Client connects to port 34641 05:47:43.349009 ====> Client established passive DATA connection on port 34641 05:47:43.349082 < "TYPE I" 05:47:43.349109 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:43.349273 < "SIZE verifiedserver" 05:47:43.349315 > "213 18[CR][LF]" 05:47:43.349486 < "RETR verifiedserver" 05:47:43.349526 > "150 Binary junk (18 bytes).[CR][LF]" 05:47:43.349614 =====> Closing passive DATA connection... 05:47:43.349632 Server disconnects passive DATA connection 05:47:43.349838 Server disconnected passive DATA connection 05:47:43.349867 DATA sockfilt for passive data channel quits (pid 143366) 05:47:43.350207 DATA sockfilt for passive data channel quit (pid 143366) 05:47:43.350235 =====> Closed passive DATA connection 05:47:43.350263 > "226 File transfer complete[CR][LF]" 05:47:43.397458 < "QUIT" 05:47:43.397524 > "221 bye bye baby[CR][LF]" 05:47:43.398873 MAIN sockfilt said DISC 05:47:43.398923 ====> Client disconnected 05:47:43.399030 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:43.806618 ====> Client connect 05:47:43.806973 Received DATA (on stdin) 05:47:43.806989 > 146 bytes data, server => client 05:47:43.807002 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:43.807012 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:43.807022 '220 \___|\___/|_| \_\_____|\r\n' 05:47:43.807133 < 16 bytes data, client => server 05:47:43.807148 'USER anonymous\r\n' 05:47:43.807372 Received DATA (on stdin) 05:47:43.807384 > 33 bytes data, server => client 05:47:43.807396 '331 We are happy you popped in!\r\n' 05:47:43.807453 < 22 bytes data, client => server 05:47:43.807466 'PASS ftp@example.com\r\n' 05:47:43.807603 Received DATA (on stdin) 05:47:43.807615 > 30 bytes data, server => client 05:47:43.807626 '230 Welcome you silly person\r\n' 05:47:43.807680 < 5 bytes data, client => server 05:47:43.807693 'PWD\r\n' 05:47:43.807811 Received DATA (on stdin) 05:47:43.807823 > 30 bytes data, server => client 05:47:43.807833 '257 "/" is current directory\r\n' 05:47:43.807895 < 6 bytes data, client => server 05:47:43.807907 'EPSV\r\n' 05:47:43.810191 Received DATA (on stdin) 05:47:43.810204 > 39 bytes data, server => client 05:47:43.810215 '229 Entering Passive Mode (|||34641|)\r\n' 05:47:43.810355 < 8 bytes data, client => server 05:47:43.810369 'TYPE I\r\n' 05:47:43.810563 Received DATA (on stdin) 05:47:43.810574 > 33 bytes data, server => client 05:47:43.810585 '200 I modify TYPE as you wanted\r\n' 05:47:43.810637 < 21 bytes data, client => server 05:47:43.810649 'SIZE verifiedserver\r\n' 05:47:43.810771 Received DATA (on stdin) 05:47:43.810783 > 8 bytes data, server => client 05:47:43.810793 '213 18\r\n' 05:47:43.810846 < 21 bytes data, client => server 05:47:43.810859 'RETR verifiedserver\r\n' 05:47:43.811089 Received DATA (on stdin) 05:47:43.811101 > 29 bytes data, server => client 05:47:43.811111 '150 Binary junk (18 bytes).\r\n' 05:47:43.811719 Received DATA (on stdin) 05:47:43.811731 > 28 bytes data, server => client 05:47:43.811745 '226 File transfer complete\r\n' 05:47:43.858699 < 6 bytes data, client => server 05:47:43.858734 'QUIT\r\n' 05:47:43.858989 Received DATA (on stdin) 05:47:43.859003 > 18 bytes data, server => client 05:47:43.859013 '221 bye bye baby\r\n' 05:47:43.860234 ====> Client disconnect 05:47:43.860498 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:43.809676 Running IPv4 version 05:47:43.809733 Listening on port 34641 05:47:43.809770 Wrote pid 143366 to log/17/server/ftp_sockdata.pid 05:47:43.809932 Received PING (on stdin) 05:47:43.810027 Received PORT (on stdin) 05:47:43.810389 ====> Client connect 05:47:43.811171 Received DATA (on stdin) 05:47:43.811190 > 18 bytes data, server => client 05:47:43.811200 'WE ROOLZ: 138189\r\n' 05:47:43.811228 Received DISC (on stdin) 05:47:43.811240 ====> Client forcibly disconnected 05:47:43.811408 Received QUIT (on stdin) 05:47:43.811423 quits 05:47:43.811502 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 Testnum 1206 === End of file server.cmd === Start of file valgrind1206 ==143501== ==143501== Process terminating with default action of signal 4 (SIGILL) ==143501== Illegal opcode at address 0x4014883 ==143501== at 0x4014883: getparameter (tool_getparam.c:2899) ==143501== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143501== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143501== by 0x4004208: main (tool_main.c:189) === End of file valgrind1206 startnew: ./server/servers mqttd --port 0 --pidfile log/16/server/mqtt_server.pid --portfile log/16/server/mqtt_server.port --config log/16/server.cmd --logfile log/16/mqtt_server.log --logdir log/16 RUN: MQTT server is now running PID 143041 on PORT 40841 * pid mqtt => 143041 143041 test 1196...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1196 ../src/curl -q --output log/16/curl1196.out --include --trace log/16/trace1196 --trace-time mqtt://127.0.0.1:40841/1196 > log/16/stdout1196 2> log/16/stderr1196 1196: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1196 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1196 ../src/curl -q --output log/16/curl1196.out --include --trace log/16/trace1196 --trace-time mqtt://127.0.0.1:40841/1196 > log/16/stdout1196 2> log/16/stderr1196 === End of file commands.log === Start of file mqtt_server.log 05:47:42.879709 Running IPv4 version 05:47:42.879795 Listening on port 40841 05:47:42.879840 Wrote pid 143041 to log/16/server/mqtt_server.pid 05:47:42.879876 Wrote port 40841 to log/16/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-COCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1195 ../src/curl -q --output log/14/curl1195.out --include --trace log/14/trace1195 --trace-time mqtt://127.0.0.1:43459/1195 > log/14/stdout1195 2> log/14/stderr1195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1194 ../src/curl -q --output log/20/curl1194.out --include --trace log/20/trace1194 --trace-time mqtt://127.0.0.1:45449/1194 > log/20/stdout1194 2> log/20/stderr1194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1200 ../src/curl -q --output log/7/curl1200.out --include --trace-ascii log/7/trace1200 --trace-time gopher://127.0.0.1:34275/1/1200 > log/7/stdout1200 2> log/7/stderr1200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1212 ../src/curl -q --output log/8/curl1212.out --include --trace-ascii log/8/trace1212 --trace-time http://user:secret@127.0.0.1:45623/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/8/stdout1212 2> log/8/stderr1212 NNACK 1 Testnum 1196 === End of file server.cmd === Start of file valgrind1196 ==143569== ==143569== Process terminating with default action of signal 4 (SIGILL) ==143569== Illegal opcode at address 0x4014883 ==143569== at 0x4014883: getparameter (tool_getparam.c:2899) ==143569== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143569== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143569== by 0x4004208: main (tool_main.c:189) === End of file valgrind1196 startnew: ./server/servers mqttd --port 0 --pidfile log/14/server/mqtt_server.pid --portfile log/14/server/mqtt_server.port --config log/14/server.cmd --logfile log/14/mqtt_server.log --logdir log/14 RUN: MQTT server is now running PID 143020 on PORT 43459 * pid mqtt => 143020 143020 test 1195...[MQTT SUBSCRIBE with short PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1195 ../src/curl -q --output log/14/curl1195.out --include --trace log/14/trace1195 --trace-time mqtt://127.0.0.1:43459/1195 > log/14/stdout1195 2> log/14/stderr1195 1195: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1195 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1195 ../src/curl -q --output log/14/curl1195.out --include --trace log/14/trace1195 --trace-time mqtt://127.0.0.1:43459/1195 > log/14/stdout1195 2> log/14/stderr1195 === End of file commands.log === Start of file mqtt_server.log 05:47:42.819398 Running IPv4 version 05:47:42.819477 Listening on port 43459 05:47:42.819517 Wrote pid 143020 to log/14/server/mqtt_server.pid 05:47:42.819547 Wrote port 43459 to log/14/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE short-PUBLISH TRUE Testnum 1195 === End of file server.cmd === Start of file valgrind1195 ==143405== ==143405== Process terminating with default action of signal 4 (SIGILL) ==143405== Illegal opcode at address 0x4014883 ==143405== at 0x4014883: getparameter (tool_getparam.c:2899) ==143405== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143405== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143405== by 0x4004208: main (tool_main.c:189) === End of file valgrind1195 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/7/server/gopher_server.pid" --logfile "log/7/gopher_server.log" --logdir "log/7" --portfile log/7/server/gopher_server.port --config log/7/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 143125 port 34275 * pid gopher => 143125 143125 test 1200...[Gopher index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1200 ../src/curl -q --output log/7/curl1200.out --include --trace-ascii log/7/trace1200 --trace-time gopher://127.0.0.1:34275/1/1200 > log/7/stdout1200 2> log/7/stderr1200 1200: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1200 ../src/curl -q --output log/7/curl1200.out --include --trace-ascii log/7/trace1200 --trace-time gopher://127.0.0.1:34275/1/1200 > log/7/stdout1200 2> log/7/stderr1200 === End of file commands.log === Start of file gopher_server.log 05:47:42.317515 Running GOPHER IPv4 version on port 34275 05:47:42.317684 Wrote pid 143125 to log/7/server/gopher_server.pid 05:47:42.317719 Wrote port 34275 to log/7/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1200 === End of file server.cmd === Start of file valgrind1200 ==143986== ==143986== Process terminating with default action of signal 4 (SIGILL) ==143986== Illegal opcode at address 0x4014883 ==143986== at 0x4014883: getparameter (tool_getparam.c:2899) ==143986== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143986== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143986== by 0x4004208: main (tool_main.c:189) === End of file valgrind1200 startnew: ./server/servers mqttd --port 0 --pidfile log/20/server/mqtt_server.pid --portfile log/20/server/mqtt_server.port --config log/20/server.cmd --logfile log/20/mqtt_server.log --logdir log/20 RUN: MQTT server is now running PID 143017 on PORT 45449 * pid mqtt => 143017 143017 test 1194...[MQTT SUBSCRIBE with PUBLISH before SUBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1194 ../src/curl -q --output log/20/curl1194.out --include --trace log/20/trace1194 --trace-time mqtt://127.0.0.1:45449/1194 > log/20/stdout1194 2> log/20/stderr1194 1194: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1194 ../src/curl -q --output log/20/curl1194.out --include --trace log/20/trace1194 --trace-time mqtt://127.0.0.1:45449/1194 > log/20/stdout1194 2> log/20/stderr1194 === End of file commands.log === Start of file mqtt_server.log 05:47:42.809998 Running IPv4 version 05:47:42.810075 Listening on port 45449 05:47:42.810114 Wrote pid 143017 to log/20/server/mqtt_server.pid 05:47:42.810142 Wrote port 45449 to log/20/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE Testnum 1194 === End of file server.cmd === Start of file valgrind1194 ==143419== ==143419== Process terminating with default action of signal 4 (SIGILL) ==143419== Illegal opcode at address 0x4014883 ==143419== at 0x4014883: getparameter (tool_getparam.c:2899) ==143419== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143419== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143419== by 0x4004208: main (tool_main.c:189) === End of file valgrind1194 test 1212...[noproxy setting together with socks proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1212 ../src/curl -q --output log/8/curl1212.out --include --trace-ascii log/8/trace1212 --trace-time http://user:secret@127.0.0.1:45623/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/8/stdout1212 2> log/8/stderr1212 1212: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1212 ../src/curl -q --output log/8/curl1212.out --include --trace-ascii log/8/trace1212 --trace-time http://user:secret@127.0.0.1:45623/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/8/stdout1212 2> log/8/stderr1212 === End of file commands.log === Start of file http_server.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1201 ../src/curl -q --output log/2/curl1201.out --include --trace-ascii log/2/trace1201 --trace-time gopher://127.0.0.1:35059/1/selector/SELECTOR/1201 > log/2/stdout1201 2> log/2/stderr1201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1198 ../src/curl -q --output log/19/curl1198.out --include --trace log/19/trace1198 --trace-time mqtt://127.0.0.1:34893/%20 -d "" > log/19/stdout1198 2> log/19/stderr1198 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/9/stdout1222 2> log/9/stderr1222 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1199 ../src/curl -q --output log/4/curl1199.out --include --trace log/4/trace1199 --trace-time mqtt://127.0.0.1:34287 -d "" > log/4/stdout1199 2> log/4/stderr1199 05:47:43.269858 ====> Client connect 05:47:43.269898 accept_connection 3 returned 4 05:47:43.269917 accept_connection 3 returned 0 05:47:43.269933 Read 93 bytes 05:47:43.269943 Process 93 bytes request 05:47:43.269958 Got request: GET /verifiedserver HTTP/1.1 05:47:43.269968 Are-we-friendly question received 05:47:43.269996 Wrote request (93 bytes) input to log/8/server.input 05:47:43.270015 Identifying ourselves as friends 05:47:43.270081 Response sent (56 bytes) and written to log/8/server.response 05:47:43.270093 special request received, no persistency 05:47:43.270103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1212 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1212 ==143968== ==143968== Process terminating with default action of signal 4 (SIGILL) ==143968== Illegal opcode at address 0x4014883 ==143968== at 0x4014883: getparameter (tool_getparam.c:2899) ==143968== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143968== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143968== by 0x4004208: main (tool_main.c:189) === End of file valgrind1212 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/2/server/gopher_server.pid" --logfile "log/2/gopher_server.log" --logdir "log/2" --portfile log/2/server/gopher_server.port --config log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 143164 port 35059 * pid gopher => 143164 143164 test 1201...[Gopher selector] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1201 ../src/curl -q --output log/2/curl1201.out --include --trace-ascii log/2/trace1201 --trace-time gopher://127.0.0.1:35059/1/selector/SELECTOR/1201 > log/2/stdout1201 2> log/2/stderr1201 1201: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1201 ../src/curl -q --output log/2/curl1201.out --include --trace-ascii log/2/trace1201 --trace-time gopher://127.0.0.1:35059/1/selector/SELECTOR/1201 > log/2/stdout1201 2> log/2/stderr1201 === End of file commands.log === Start of file gopher_server.log 05:47:43.620900 Running GOPHER IPv4 version on port 35059 05:47:43.640389 Wrote pid 143164 to log/2/server/gopher_server.pid 05:47:43.660485 Wrote port 35059 to log/2/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1201 === End of file server.cmd === Start of file valgrind1201 ==144197== ==144197== Process terminating with default action of signal 4 (SIGILL) ==144197== Illegal opcode at address 0x4014883 ==144197== at 0x4014883: getparameter (tool_getparam.c:2899) ==144197== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144197== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144197== by 0x4004208: main (tool_main.c:189) === End of file valgrind1201 startnew: ./server/servers mqttd --port 0 --pidfile log/19/server/mqtt_server.pid --portfile log/19/server/mqtt_server.port --config log/19/server.cmd --logfile log/19/mqtt_server.log --logdir log/19 RUN: MQTT server is now running PID 143086 on PORT 34893 * pid mqtt => 143086 143086 test 1198...[MQTT PUBLISH empty payload, single space topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1198 ../src/curl -q --output log/19/curl1198.out --include --trace log/19/trace1198 --trace-time mqtt://127.0.0.1:34893/%20 -d "" > log/19/stdout1198 2> log/19/stderr1198 1198: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1198 ../src/curl -q --output log/19/curl1198.out --include --trace log/19/trace1198 --trace-time mqtt://127.0.0.1:34893/%20 -d "" > log/19/stdout1198 2> log/19/stderr1198 === End of file commands.log === Start of file mqtt_server.log 05:47:42.093322 Running IPv4 version 05:47:42.093422 Listening on port 34893 05:47:42.093468 Wrote pid 143086 to log/19/server/mqtt_server.pid 05:47:42.093500 Wrote port 34893 to log/19/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1198 === End of file server.cmd === Start of file valgrind1198 ==143795== ==143795== Process terminating with default action of signal 4 (SIGILL) ==143795== Illegal opcode at address 0x4014883 ==143795== at 0x4014883: getparameter (tool_getparam.c:2899) ==143795== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143795== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143795== by 0x4004208: main (tool_main.c:189) === End of file valgrind1198 test 1222...[Verify deprecation statuses and versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/9/stdout1222 2> log/9/stderr1222 valgrind SKIPPED -------e--- OK (1161 out of 1773, remaining: 01:16, took 0.698s, duration: 02:25) startnew: ./server/servers mqttd --port 0 --pidfile log/4/server/mqtt_server.pid --portfile log/4/server/mqtt_server.port --config log/4/server.cmd --logfile log/4/mqtt_server.log --logdir log/4 RUN: MQTT server is now running PID 143101 on PORT 34287 * pid mqtt => 143101 143101 test 1199...[MQTT PUBLISH empty payload, no topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1199 ../src/curl -q --output log/4/curl1199.out --include --trace log/4/trace1199 --trace-time mqtt://127.0.0.1:34287 -d "" > log/4/stdout1199 2> log/4/stderr1199 1199: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1199 ../src/curl -q --output log/4/curl1199.out --include --trace log/4/trace1199 --trace-time mqtt://127.0.0.1:34287 -d "" > log/4/stdout1199 2> log/4/stderr1199 === End of file commands.log === Start of file mqtt_server.log 05:47:42.200965 Running IPv4 version 05:47:42.201069 Listening on port 34287 05:47:42.201117 Wrote pid 143101 to log/4/server/mqtt_server.pid 05:47:42.201152 Wrote port 34287 to log/4/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1199 === End of file server.cmd === Start of file valgrind1199 ==143872== ==143872CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1203 ../src/curl -q --output log/22/curl1203.out --include --trace-ascii log/22/trace1203 --trace-time -g gopher://[::1]:46333/1/moo/1203 > log/22/stdout1203 2> log/22/stderr1203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1213 ../src/curl -q --output log/1/curl1213.out --include --trace-ascii log/1/trace1213 --trace-time -x 127.0.0.1:38765 we.want.that.site.com.1213 > log/1/stdout1213 2> log/1/stderr1213 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1214 ../src/curl -q --output log/6/curl1214.out --include --trace-ascii log/6/trace1214 --trace-time -x 127.0.0.1:33035 http://we.want.that.site.com.1214?moo=foo > log/6/stdout1214 2> log/6/stderr1214 == Process terminating with default action of signal 4 (SIGILL) ==143872== Illegal opcode at address 0x4014883 ==143872== at 0x4014883: getparameter (tool_getparam.c:2899) ==143872== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==143872== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==143872== by 0x4004208: main (tool_main.c:189) === End of file valgrind1199 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/22/server/gopher_ipv6_server.pid" --logfile "log/22/gopher_ipv6_server.log" --logdir "log/22" --portfile log/22/server/gopher_ipv6_server.port --config log/22/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER-IPv6 server is on PID 143168 port 46333 * pid gopher-ipv6 => 143168 143168 test 1203...[Gopher IPv6 index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1203 ../src/curl -q --output log/22/curl1203.out --include --trace-ascii log/22/trace1203 --trace-time -g gopher://[::1]:46333/1/moo/1203 > log/22/stdout1203 2> log/22/stderr1203 1203: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1203 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1203 ../src/curl -q --output log/22/curl1203.out --include --trace-ascii log/22/trace1203 --trace-time -g gopher://[::1]:46333/1/moo/1203 > log/22/stdout1203 2> log/22/stderr1203 === End of file commands.log === Start of file gopher_ipv6_server.log 05:47:43.637727 Running GOPHER IPv6 version on port 46333 05:47:43.660561 Wrote pid 143168 to log/22/server/gopher_ipv6_server.pid 05:47:43.660611 Wrote port 46333 to log/22/server/gopher_ipv6_server.port === End of file gopher_ipv6_server.log === Start of file server.cmd Testnum 1203 === End of file server.cmd === Start of file valgrind1203 ==144200== ==144200== Process terminating with default action of signal 4 (SIGILL) ==144200== Illegal opcode at address 0x4014883 ==144200== at 0x4014883: getparameter (tool_getparam.c:2899) ==144200== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144200== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144200== by 0x4004208: main (tool_main.c:189) === End of file valgrind1203 test 1213...[HTTP with proxy and host-only URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1213 ../src/curl -q --output log/1/curl1213.out --include --trace-ascii log/1/trace1213 --trace-time -x 127.0.0.1:38765 we.want.that.site.com.1213 > log/1/stdout1213 2> log/1/stderr1213 1213: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1213 ../src/curl -q --output log/1/curl1213.out --include --trace-ascii log/1/trace1213 --trace-time -x 127.0.0.1:38765 we.want.that.site.com.1213 > log/1/stdout1213 2> log/1/stderr1213 === End of file commands.log === Start of file http_server.log 05:47:44.441781 ====> Client connect 05:47:44.441816 accept_connection 3 returned 4 05:47:44.441833 accept_connection 3 returned 0 05:47:44.441849 Read 93 bytes 05:47:44.441859 Process 93 bytes request 05:47:44.441871 Got request: GET /verifiedserver HTTP/1.1 05:47:44.441879 Are-we-friendly question received 05:47:44.441902 Wrote request (93 bytes) input to log/1/server.input 05:47:44.441919 Identifying ourselves as friends 05:47:44.441979 Response sent (56 bytes) and written to log/1/server.response 05:47:44.441990 special request received, no persistency 05:47:44.441998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 50988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1213 ==144112== ==144112== Process terminating with default action of signal 4 (SIGILL) ==144112== Illegal opcode at address 0x4014883 ==144112== at 0x4014883: getparameter (tool_getparam.c:2899) ==144112== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144112== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144112== by 0x4004208: main (tool_main.c:189) === End of file valgrind1213 test 1214...[HTTP with proxy and URL with ? and no slash separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1214 ../src/curl -q --output log/6/curl1214.out --include --trace-ascii log/6/trace1214 --trace-time -x 127.0.0.1:33035 http://we.want.that.site.com.1214?moo=foo > log/6/stdout1214 2> log/6/stderr1214 1214: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1214 ../src/curl -q --output log/6/curl1214.out --include --trace-ascii log/6/trace1214 --trace-time -x 127.0.0.1:33035 http://we.want.that.site.com.1214?moo=foo > log/6/stdout1214 2> log/6/stderr1214 === End of file commands.log === Start of file http_server.log 05:47:43.543708 ====> Client connect 05:47:43.543745 accept_connection 3 returned 4 05:47:43.543762 accept_connection 3 returned 0 05:47:43.543777 Read 93 bytes 05:47:43.543786 Process 93 bytes request 05:47:43.543800 Got request: GET /verifiedserver HTTP/1.1 05:47:43.543809 Are-we-friendly question received 05:47:43.543833 Wrote request (93 bytes) input to log/6/server.input 05:47:43.543849 Identifying ourselves as friends 05:47:43.543912 Response sent (56 bytes) and written to log/6/server.response 05:47:43.543922 special request received, no persistency 05:47:43.543930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 58604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind1214 ==144173== ==144173== Process terminating with default action of signal 4 (SIGILL) =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1202 ../src/curl -q --output log/24/curl1202.out --include --trace-ascii log/24/trace1202 --trace-time "gopher://127.0.0.1:45861/7/the/search/engine%09query%20succeeded/1202" > log/24/stdout1202 2> log/24/stderr1202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1216 ../src/curl -q --output log/12/curl1216.out --include --trace-ascii log/12/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/12/injar1216 -x 127.0.0.1:36353 > log/12/stdout1216 2> log/12/stderr1216 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1215 ../src/curl -q --output log/15/curl1215.out --include --trace-ascii log/15/trace1215 --trace-time http://127.0.0.1:43413/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:43413 > log/15/stdout1215 2> log/15/stderr1215 =144173== Illegal opcode at address 0x4014883 ==144173== at 0x4014883: getparameter (tool_getparam.c:2899) ==144173== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144173== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144173== by 0x4004208: main (tool_main.c:189) === End of file valgrind1214 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/24/server/gopher_server.pid" --logfile "log/24/gopher_server.log" --logdir "log/24" --portfile log/24/server/gopher_server.port --config log/24/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 143166 port 45861 * pid gopher => 143166 143166 test 1202...[Gopher query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1202 ../src/curl -q --output log/24/curl1202.out --include --trace-ascii log/24/trace1202 --trace-time "gopher://127.0.0.1:45861/7/the/search/engine%09query%20succeeded/1202" > log/24/stdout1202 2> log/24/stderr1202 1202: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1202 ../src/curl -q --output log/24/curl1202.out --include --trace-ascii log/24/trace1202 --trace-time "gopher://127.0.0.1:45861/7/the/search/engine%09query%20succeeded/1202" > log/24/stdout1202 2> log/24/stderr1202 === End of file commands.log === Start of file gopher_server.log 05:47:43.634530 Running GOPHER IPv4 version on port 45861 05:47:43.643701 Wrote pid 143166 to log/24/server/gopher_server.pid 05:47:43.643749 Wrote port 45861 to log/24/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1202 === End of file server.cmd === Start of file valgrind1202 ==144215== ==144215== Process terminating with default action of signal 4 (SIGILL) ==144215== Illegal opcode at address 0x4014883 ==144215== at 0x4014883: getparameter (tool_getparam.c:2899) ==144215== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144215== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144215== by 0x4004208: main (tool_main.c:189) === End of file valgrind1202 test 1216...[HTTP cookie domains tailmatching the hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1216 ../src/curl -q --output log/12/curl1216.out --include --trace-ascii log/12/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/12/injar1216 -x 127.0.0.1:36353 > log/12/stdout1216 2> log/12/stderr1216 1216: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1216 ../src/curl -q --output log/12/curl1216.out --include --trace-ascii log/12/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/12/injar1216 -x 127.0.0.1:36353 > log/12/stdout1216 2> log/12/stderr1216 === End of file commands.log === Start of file http_server.log 05:47:45.362479 ====> Client connect 05:47:45.362516 accept_connection 3 returned 4 05:47:45.362534 accept_connection 3 returned 0 05:47:45.362551 Read 93 bytes 05:47:45.362562 Process 93 bytes request 05:47:45.362576 Got request: GET /verifiedserver HTTP/1.1 05:47:45.362586 Are-we-friendly question received 05:47:45.362613 Wrote request (93 bytes) input to log/12/server.input 05:47:45.362631 Identifying ourselves as friends 05:47:45.362696 Response sent (56 bytes) and written to log/12/server.response 05:47:45.362708 special request received, no persistency 05:47:45.362717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 50632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file injar1216 example.fake FALSE /a FALSE 22139150993 mooo indeed example.fake FALSE /b FALSE 0 moo1 indeed example.fake FALSE /c FALSE 22139150993 moo2 indeed example.fake TRUE /c FALSE 22139150993 moo3 indeed === End of file injar1216 === Start of file server.cmd Testnum 1216 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1216 ==144496== ==144496== Process terminating with default action of signal 4 (SIGILL) ==144496== Illegal opcode at address 0x4014883 ==144496== at 0x4014883: getparameter (tool_getparam.c:2899) ==144496== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144496== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144496== by 0x4004208: main (tool_main.c:189) === End of file valgrind1216 test 1215...[HTTP with server NTLM authorization using a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1215 ../src/curl -q --output log/15/curl1215.out --include --trace-ascii log/15/trace1215 --trace-time http://127.0.0.1:43413/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:43413 > log/15/stdout1215 2> log/15/stderr1215 1215: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1215 ../src/curl -q --output log/15/curl1215.out --include --trace-ascii log/15/trace1215 --trace-time http://127.0.0.1:43413/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:43413 > log/15/stdout1215 2> log/15/stderr1215 === End of file commands.log === Start of file http_server.log 05:47:45.177056 ====> Client connect 05:47:45.177094 accept_connection 3 returned 4 05:47:45.177110 accept_connection 3 returned 0 05:47:45.177125 Read 93 bytes 05:47:45.177134 Process 93 bytes request 05:47:45.177148 Got request: GET /verifiedserver HTTP/1.1 05:47:45.177157 Are-we-friendly question received 05:47:45.177181 Wrote request (93 bytes) input to log/15/server.input 05:47:45.177197 Identifying ourselves as friends 05:47:45.177260 Response sent (56 bytes) and written to log/15/server.response 05:47:45.177269 special request received, no persistency 05:47:45.177278 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 33284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verifCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1220 ../src/curl -q --trace-ascii log/11/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/11/test1220.txt?a_query=foobar#afragment > log/11/stdout1220 2> log/11/stderr1220 y.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1215 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1215 ==144438== ==144438== Process terminating with default action of signal 4 (SIGILL) ==144438== Illegal opcode at address 0x4014883 ==144438== at 0x4014883: getparameter (tool_getparam.c:2899) ==144438== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144438== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144438== by 0x4004208: main (tool_main.c:189) === End of file valgrind1215 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1217 ../src/curl -q --output log/10/curl1217.out --include --trace-ascii log/10/trace1217 --trace-time ftp://127.0.0.1:32809/get/file/1217 ftp://127.0.0.1:32809/get/file/again/1217 --ftp-method singlecwd > log/10/stdout1217 2> log/10/stderr1217 test 1220...[file:// URLs with query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1220 ../src/curl -q --trace-ascii log/11/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/11/test1220.txt?a_query=foobar#afragment > log/11/stdout1220 2> log/11/stderr1220 1220: stdout FAILED: --- log/11/check-expected 2026-03-14 05:47:47.477949323 +0000 +++ log/11/check-generated 2026-03-14 05:47:47.477949323 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/11/ directory after test 1220 === Start of file check-expected contents in a single file[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1220 ../src/curl -q --trace-ascii log/11/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/11/test1220.txt?a_query=foobar#afragment > log/11/stdout1220 2> log/11/stderr1220 === End of file commands.log === Start of file server.cmd Testnum 1220 === End of file server.cmd === Start of file test1220.txt contents in a single file === End of file test1220.txt === Start of file valgrind1220 ==144688== ==144688== Process terminating with default action of signal 4 (SIGILL) ==144688== Illegal opcode at address 0x4014883 ==144688== at 0x4014883: getparameter (tool_getparam.c:2899) ==144688== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144688== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144688== by 0x4004208: main (tool_main.c:189) === End of file valgrind1220 test 1217...[FTP with rubbish before name in 257-response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1217 ../src/curl -q --output log/10/curl1217.out --include --trace-ascii log/10/trace1217 --trace-time ftp://127.0.0.1:32809/get/file/1217 ftp://127.0.0.1:32809/get/file/again/1217 --ftp-method singlecwd > log/10/stdout1217 2> log/10/stderr1217 1217: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1217 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1217 ../src/curl -q --output log/10/curl1217.out --include --trace-ascii log/10/trace1217 --trace-time ftp://127.0.0.1:32809/get/file/1217 ftp://127.0.0.1:32809/get/file/again/1217 --ftp-method singlecwd > log/10/stdout1217 2> log/10/stderr1217 === End of file commands.log === Start of file ftp_server.log 05:47:45.249331 ====> Client connect 05:47:45.249507 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:45.249790 < "USER anonymous" 05:47:45.249824 > "331 We are happy you popped in![CR][LF]" 05:47:45.249980 < "PASS ftp@example.com" 05:47:45.250004 > "230 Welcome you silly person[CR][LF]" 05:47:45.250148 < "PWD" 05:47:45.250180 > "257 "/" is current directory[CR][LF]" 05:47:45.250331 < "EPSV" 05:47:45.250355 ====> Passive DATA channel requested by client 05:47:45.250368 DATA sockfilt for passive data channel starting... 05:47:45.252292 DATA sockfilt for passive data channel started (pid 144602) 05:47:45.252404 DATA sockfilt for passive data channel listens on port 39329 05:47:45.252448 > "229 Entering Passive Mode (|||39329|)[CR][LF]" 05:47:45.252467 Client has been notified that DATA conn will be accepted on port 39329 05:47:45.252704 Client connects to port 39329 05:47:45.252738 ====> Client established passive DATA connection on port 39329 05:47:45.252814 < "TYPE I" 05:47:45.252846 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:45.253021 < "SIZE verifiedserver" 05:47:45.253064 > "213 17[CR][LF]" 05:47:45.253235 < "RETR verifiedserver" 05:47:45.253274 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:45.253364 =====> Closing passive DATA connection... 05:47:45.253382 Server disconnects passive DATA connection 05:47:45.253623 Server disconnected passive DATA connection 05:47:45.253657 DATA sockfilt for passive data channel quits (pid 144602) 05:47:45.253889 DATA sockfilt for passive data channel quit (pid 144602) 05:47:45.253921 =====> Closed passive DATA connection 05:47:45.253949 > "226 File transfer complete[CR][LF]" 05:47:45.299288 < "QUIT" 05:47:45.299363 > "221 bye bye baby[CR][LF]" 05:47:45.301345 MAIN sockfilt said DISC 05:47:45.301389 ====> Client disconnected 05:47:45.301465 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:45.710643 ====> Client connect 05:47:45.710973 Received DATA (on stdin) 05:47:45.710987 > 146 bytes data, server => client 05:47:45.710999 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:45.711010 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:45.711019 '220 \___|\___/|_| \_\_____|\r\n' 05:47:45.711097 < 16 bytes data, client => server 05:47:45.711108 'USER anonymous\r\n' 05:47:45.711279 Received DATA (on stdin) 05:47:45.711290 > 33 bytes data, server => client 05:47:45.711301 '331 We are happy you popped in!\r\n' 05:47:45.711350 < 22 bytes data, client => server 05:47:45.711361 'PASS ftp@example.com\r\n' 05:47:45.711457 Received DATA (on stdin) 05:47:45.711467 > 30 bytes data, server => client 05:47:45.711478 '230 Welcome you silly person\r\n' 05:47:45.711524 < 5 bytes data, client => server 05:47:45.711534 'PWD\r\n' 05:47:45.711631 Received DATA (on stdin) 05:47:45.711642 > 30 bytes data, server => client 05:47:45.711652 '257 "/" is current directory\r\n' 05:47:45.711706 < 6 bytes data, client => server 05:47:45.711716 'EPSV\r\n' 05:47:45.713926 Received DATA (on stdin) 05:47:45.713939 > 39 bytes data, server => client 05:47:45.713949 '229 Entering Passive Mode (|||39329|)\r\n' 05:47:45.714073 < 8 bytes data, client => server 05:47:45.714089 'TYPE I\r\n' 05:47:45.714304 Received DATA (on stdin) 05:47:45.714316 > 33 bytes data, server => client 05:47:45.714328 '200 I modify TYPE as you wanted\r\n' 05:47:45.714381 < 21 bytes data, client => server 05:47:45.714393 'SIZE verifiedserver\r\n' 05:47:45.714522 Received DATA (on stdin) 05:47:45.714535 > 8 bytes data, server => client 05:47:45.714545 '213 17\r\n' 05:47:45.714598 < 21 bytes data, client => server 05:47:45.714609 'RETR verifiedserver\r\n' 05:47:45.714843 Received DATA (on stdin) 05:47:45.714856 > 29 bytes data, server => client 05:47:45.714867 '150 Binary junk (17 bytes).\r\n' 05:47:45.715406 Received DATA (on stdin) 05:47:45.715420 > 28 bytes data, server => client 05:47:45.715431 '226 File transfer complete\r\n' 05:47:45.760477 < 6 bytes data, client => server 05:47:45.760527 'QUIT\r\n' 05:47:45.760826 Received DATA (on stdin) 05:47:45.760839 > 18 bytes data, server => client 05:47:45.760849 '221 bye bye baby\r\n' 05:47:45.762234 ====> Client disconnect 05:47:45.762918 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:45.713440 Running IPv4 version 05:47:45.713505 Listening on port 39329 05:47:45.713543 Wrote pid 144602 to log/10/server/ftp_sockdata.pid 05:47:45.713689 Received PING (on stdin) 05:47:45.713773 Received PORT (on stdin) 05:47:45.714110 ====> Client connect 05:47:45.714894 Received DATA (on stdin) 05:47:45.714908 > 17 bytes data, server => client 05:47:45.714918 'WE ROOLZ: 81057\r\n' 05:47:45.714941 Received DISC (on stdin) 05:47:45.714952 ====> Client forcibly disconnected 05:47:45.715121 Received QUIT (on stdin) 05:47:45.715132 quits 05:47:45.715193 ============> sockfilt quits === End of file ftp_sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1234 ../src/curl -q --output log/9/curl1234.out --include --trace-ascii log/9/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/9/stdout1234 2> log/9/stderr1234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1229 ../src/curl -q --output log/20/curl1229.out --include --trace-ascii log/20/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:38929/1229 --digest > log/20/stdout1229 2> log/20/stderr1229 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1221 ../src/curl -q --output log/13/curl1221.out --include --trace-ascii log/13/trace1221 --trace-time http://127.0.0.1:45359/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/13/1221.txt" --url-query @log/13/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/13/stdout1221 2> log/13/stderr1221 ockdata.log === Start of file server.cmd REPLY PWD 257 there is rubbish all over "/this/is/the/path" Testnum 1217 === End of file server.cmd === Start of file valgrind1217 ==144618== ==144618== Process terminating with default action of signal 4 (SIGILL) ==144618== Illegal opcode at address 0x4014883 ==144618== at 0x4014883: getparameter (tool_getparam.c:2899) ==144618== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144618== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144618== by 0x4004208: main (tool_main.c:189) === End of file valgrind1217 test 1234...[abusing {}-globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1234 ../src/curl -q --output log/9/curl1234.out --include --trace-ascii log/9/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/9/stdout1234 2> log/9/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/9/ directory after test 1234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1234 ../src/curl -q --output log/9/curl1234.out --include --trace-ascii log/9/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/9/stdout1234 2> log/9/stderr1234 === End of file commands.log === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==145459== ==145459== Process terminating with default action of signal 4 (SIGILL) ==145459== Illegal opcode at address 0x4014883 ==145459== at 0x4014883: getparameter (tool_getparam.c:2899) ==145459== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145459== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145459== by 0x4004208: main (tool_main.c:189) === End of file valgrind1234 test 1229...[HTTP with Digest authorization with username needing escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1229 ../src/curl -q --output log/20/curl1229.out --include --trace-ascii log/20/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:38929/1229 --digest > log/20/stdout1229 2> log/20/stderr1229 1229: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1229 ../src/curl -q --output log/20/curl1229.out --include --trace-ascii log/20/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:38929/1229 --digest > log/20/stdout1229 2> log/20/stderr1229 === End of file commands.log === Start of file http_server.log 05:47:45.483747 ====> Client connect 05:47:45.483792 accept_connection 3 returned 4 05:47:45.483810 accept_connection 3 returned 0 05:47:45.483827 Read 93 bytes 05:47:45.483836 Process 93 bytes request 05:47:45.483849 Got request: GET /verifiedserver HTTP/1.1 05:47:45.483858 Are-we-friendly question received 05:47:45.483884 Wrote request (93 bytes) input to log/20/server.input 05:47:45.483901 Identifying ourselves as friends 05:47:45.484015 Response sent (56 bytes) and written to log/20/server.response 05:47:45.484026 special request received, no persistency 05:47:45.484034 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 44206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1229 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1229 ==145226== ==145226== Process terminating with default action of signal 4 (SIGILL) ==145226== Illegal opcode at address 0x4014883 ==145226== at 0x4014883: getparameter (tool_getparam.c:2899) ==145226== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145226== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145226== by 0x4004208: main (tool_main.c:189) === End of file valgrind1229 test 1221...[--url-query with --data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1221 ../src/curl -q --output log/13/curl1221.out --include --trace-ascii log/13/trace1221 --trace-time http://127.0.0.1:45359/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/13/1221.txt" --url-query @log/13/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/13/stdout1221 2> log/13/stderr1221 1221: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1221 === Start of file 1221.txt content to _?!#$'|<> === End of file 1221.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1221 ../src/curl -q --output log/13/curl1221.out --include --trace-ascii log/13/trace1221 --trace-time http://127.0.0.1:45359/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/13/1221.txt" --url-query @log/13/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/13/stdout1221 2> log/13/stderr1221 === End of file commands.log === Start of file http_server.log 05:47:46.065420 ====> Client connect 05:47:46.065459 accept_connection 3 returned 4 05:47:46.065479 accept_connection 3 returned 0 05:47:46.065495 Read 93 bytes 05:47:46.065506 Process 93 bytes request 05:47:46.065520 Got request: GET /verifiedserver HTTP/1.1 05:47:46.065530 Are-we-friendly question received 05:47:46.065558 Wrote request (93 bytes) input to log/13/server.input 05:47:46.065575 Identifying ourselves as friends 05:47:46.065640 Response sent (56 bytes) and written to log/13/server.response 05:47:46.065652 special request received, no persistency 05:47:46.065661 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 49712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1221 ==144772== ==144772== Process terminating with default action of signal 4 (SIGILL) ==144772== Illegal opcode at address 0x4014883 ==144772== at 0x4014883: getparameter (tool_getparam.c:2899) ==144772== by 0x4004208: UnknownInlinedFun CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1225 ../src/curl -q --output log/21/curl1225.out --include --trace-ascii log/21/trace1225 --trace-time ftp://127.0.0.1:34063//foo/1225 ftp://127.0.0.1:34063//foo/bar/1225 > log/21/stdout1225 2> log/21/stderr1225 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1218 ../src/curl -q --output log/18/curl1218.out --include --trace-ascii log/18/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:39913 > log/18/stdout1218 2> log/18/stderr1218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1223 ../src/curl -q --include --trace-ascii log/5/trace1223 --trace-time http://127.0.0.1:35621/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/5/stdout1223 2> log/5/stderr1223 (tool_getparam.c:3082) ==144772== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144772== by 0x4004208: main (tool_main.c:189) === End of file valgrind1221 test 1225...[FTP fetch two files using absolute paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1225 ../src/curl -q --output log/21/curl1225.out --include --trace-ascii log/21/trace1225 --trace-time ftp://127.0.0.1:34063//foo/1225 ftp://127.0.0.1:34063//foo/bar/1225 > log/21/stdout1225 2> log/21/stderr1225 1225: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1225 ../src/curl -q --output log/21/curl1225.out --include --trace-ascii log/21/trace1225 --trace-time ftp://127.0.0.1:34063//foo/1225 ftp://127.0.0.1:34063//foo/bar/1225 > log/21/stdout1225 2> log/21/stderr1225 === End of file commands.log === Start of file ftp_server.log 05:47:45.762392 ====> Client connect 05:47:45.762533 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:45.763858 < "USER anonymous" 05:47:45.763895 > "331 We are happy you popped in![CR][LF]" 05:47:45.764052 < "PASS ftp@example.com" 05:47:45.764079 > "230 Welcome you silly person[CR][LF]" 05:47:45.764218 < "PWD" 05:47:45.764247 > "257 "/" is current directory[CR][LF]" 05:47:45.764406 < "EPSV" 05:47:45.764433 ====> Passive DATA channel requested by client 05:47:45.764448 DATA sockfilt for passive data channel starting... 05:47:45.775622 DATA sockfilt for passive data channel started (pid 144930) 05:47:45.775770 DATA sockfilt for passive data channel listens on port 36053 05:47:45.775826 > "229 Entering Passive Mode (|||36053|)[CR][LF]" 05:47:45.775848 Client has been notified that DATA conn will be accepted on port 36053 05:47:45.778938 Client connects to port 36053 05:47:45.778974 ====> Client established passive DATA connection on port 36053 05:47:45.779072 < "TYPE I" 05:47:45.779109 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:45.782540 < "SIZE verifiedserver" 05:47:45.782597 > "213 17[CR][LF]" 05:47:45.782746 < "RETR verifiedserver" 05:47:45.782779 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:45.782872 =====> Closing passive DATA connection... 05:47:45.782887 Server disconnects passive DATA connection 05:47:45.783006 Server disconnected passive DATA connection 05:47:45.783024 DATA sockfilt for passive data channel quits (pid 144930) 05:47:45.783325 DATA sockfilt for passive data channel quit (pid 144930) 05:47:45.783347 =====> Closed passive DATA connection 05:47:45.783370 > "226 File transfer complete[CR][LF]" 05:47:45.845761 < "QUIT" 05:47:45.845824 > "221 bye bye baby[CR][LF]" 05:47:45.855577 MAIN sockfilt said DISC 05:47:45.855660 ====> Client disconnected 05:47:45.858947 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:46.223726 ====> Client connect 05:47:46.223993 Received DATA (on stdin) 05:47:46.224005 > 146 bytes data, server => client 05:47:46.224015 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:46.224023 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:46.224031 '220 \___|\___/|_| \_\_____|\r\n' 05:47:46.224126 < 16 bytes data, client => server 05:47:46.224136 'USER anonymous\r\n' 05:47:46.225349 Received DATA (on stdin) 05:47:46.225361 > 33 bytes data, server => client 05:47:46.225371 '331 We are happy you popped in!\r\n' 05:47:46.225422 < 22 bytes data, client => server 05:47:46.225432 'PASS ftp@example.com\r\n' 05:47:46.225531 Received DATA (on stdin) 05:47:46.225541 > 30 bytes data, server => client 05:47:46.225550 '230 Welcome you silly person\r\n' 05:47:46.225592 < 5 bytes data, client => server 05:47:46.225601 'PWD\r\n' 05:47:46.225699 Received DATA (on stdin) 05:47:46.225710 > 30 bytes data, server => client 05:47:46.225720 '257 "/" is current directory\r\n' 05:47:46.225777 < 6 bytes data, client => server 05:47:46.225789 'EPSV\r\n' 05:47:46.237315 Received DATA (on stdin) 05:47:46.237333 > 39 bytes data, server => client 05:47:46.237346 '229 Entering Passive Mode (|||36053|)\r\n' 05:47:46.237866 < 8 bytes data, client => server 05:47:46.237884 'TYPE I\r\n' 05:47:46.243721 Received DATA (on stdin) 05:47:46.243745 > 33 bytes data, server => client 05:47:46.243756 '200 I modify TYPE as you wanted\r\n' 05:47:46.243858 < 21 bytes data, client => server 05:47:46.243868 'SIZE verifiedserver\r\n' 05:47:46.244056 Received DATA (on stdin) 05:47:46.244066 > 8 bytes data, server => client 05:47:46.244075 '213 17\r\n' 05:47:46.244121 < 21 bytes data, client => server 05:47:46.244131 'RETR verifiedserver\r\n' 05:47:46.244824 Received DATA (on stdin) 05:47:46.244835 > 29 bytes data, server => client 05:47:46.244845 '150 Binary junk (17 bytes).\r\n' 05:47:46.244867 Received DATA (on stdin) 05:47:46.244876 > 28 bytes data, server => client 05:47:46.244886 '226 File transfer complete\r\n' 05:47:46.307013 < 6 bytes data, client => server 05:47:46.307050 'QUIT\r\n' 05:47:46.307284 Received DATA (on stdin) 05:47:46.307297 > 18 bytes data, server => client 05:47:46.307308 '221 bye bye baby\r\n' 05:47:46.311621 ====> Client disconnect 05:47:46.320443 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:45.230979 Running IPv4 version 05:47:45.231052 Listening on port 36053 05:47:45.231088 Wrote pid 144930 to log/21/server/ftp_sockdata.pid 05:47:45.236988 Received PING (on stdin) 05:47:45.237117 Received PORT (on stdin) 05:47:45.240331 ====> Client connect 05:47:45.244346 Received DATA (on stdin) 05:47:45.244361 > 17 bytes data, server => client 05:47:45.244371 'WE ROOLZ: 81542\r\n' 05:47:45.244400 Received DISC (on stdin) 05:47:45.244410 ====> Client forcibly disconnected 05:47:45.244481 Received QUIT (on stdin) 05:47:45.244490 quits 05:47:45.244581 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==145032== ==145032== Process terminating with default action of signal 4 (SIGILL) ==145032== Illegal opcode at address 0x4014883 ==145032== at 0x4014883: getparameter (tool_getparam.c:2899) ==145032== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145032== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145032== by 0x4004208: main (tool_main.c:189) === End of file valgrind1225 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1224 ../src/curl -q --output log/23/curl1224.out --include --trace-ascii log/23/trace1224 --trace-time ftp://127.0.0.1:40271//1224 > log/23/stdout1224 2> log/23/stderr1224 test 1223...[HTTP GET -w remote_ip and -w remote_port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1223 ../src/curl -q --include --trace-ascii log/5/trace1223 --trace-time http://127.0.0.1:35621/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/5/stdout1223 2> log/5/stderr1223 1223: stdout FAILED: --- log/5/check-expected 2026-03-14 05:47:48.071282657 +0000 +++ log/5/check-generated 2026-03-14 05:47:48.071282657 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 4[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -hej[LF] -IP 127.0.0.1 and PORT 35621[LF] == Contents of files in the log/5/ directory after test 1223 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 4[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] hej[LF] IP 127.0.0.1 and PORT 35621[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1223 ../src/curl -q --include --trace-ascii log/5/trace1223 --trace-time http://127.0.0.1:35621/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/5/stdout1223 2> log/5/stderr1223 === End of file commands.log === Start of file http_server.log 05:47:46.200378 ====> Client connect 05:47:46.200414 accept_connection 3 returned 4 05:47:46.200431 accept_connection 3 returned 0 05:47:46.200446 Read 93 bytes 05:47:46.200455 Process 93 bytes request 05:47:46.200469 Got request: GET /verifiedserver HTTP/1.1 05:47:46.200479 Are-we-friendly question received 05:47:46.200504 Wrote request (93 bytes) input to log/5/server.input 05:47:46.200519 Identifying ourselves as friends 05:47:46.200583 Response sent (56 bytes) and written to log/5/server.response 05:47:46.200592 special request received, no persistency 05:47:46.200600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 41454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1223 ==144931== ==144931== Process terminating with default action of signal 4 (SIGILL) ==144931== Illegal opcode at address 0x4014883 ==144931== at 0x4014883: getparameter (tool_getparam.c:2899) ==144931== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144931== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144931== by 0x4004208: main (tool_main.c:189) === End of file valgrind1223 test 1218...[HTTP cookies and domains with same prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1218 ../src/curl -q --output log/18/curl1218.out --include --trace-ascii log/18/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:39913 > log/18/stdout1218 2> log/18/stderr1218 1218: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1218 ../src/curl -q --output log/18/curl1218.out --include --trace-ascii log/18/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:39913 > log/18/stdout1218 2> log/18/stderr1218 === End of file commands.log === Start of file http_server.log 05:47:44.920400 ====> Client connect 05:47:44.920443 accept_connection 3 returned 4 05:47:44.920463 accept_connection 3 returned 0 05:47:44.920479 Read 93 bytes 05:47:44.920489 Process 93 bytes request 05:47:44.920503 Got request: GET /verifiedserver HTTP/1.1 05:47:44.920513 Are-we-friendly question received 05:47:44.920540 Wrote request (93 bytes) input to log/18/server.input 05:47:44.920558 Identifying ourselves as friends 05:47:44.920635 Response sent (56 bytes) and written to log/18/server.response 05:47:44.920646 special request received, no persistency 05:47:44.920655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 43210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1218 ==144656== ==144656== Process terminating with default action of signal 4 (SIGILL) ==144656== Illegal opcode at address 0x4014883 ==144656== at 0x4014883: getparameter (tool_getparam.c:2899) ==144656== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144656== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144656== by 0x4004208: main (tool_main.c:189) === End of file valgrind1218 test 1224...[FTP fetch a file from the root directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1224 ../src/curl -q --output log/23/curl1224.out --include --trace-ascii log/23/trace1224 --trace-time ftp://127.0.0.1:40271//1224 > log/23/stdout1224 2> log/23/stderr1224 1224: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1224 ../src/curl -q --output log/23/curl1224.out --include --trace-ascii log/23/trace1224 --trace-time ftp://127.0.0.1:40271//1224 > log/23/stdout1224 2> log/23/stderr1224 === End of file commands.log === Start of file ftp_server.log 05:47:45.774841 ====> Client connect 05:47:45.774987 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:45.775251 < "USER anonymous" 05:47:45.775282 > "331 We are happy you popped in![CR][LF]" 05:47:45.775436 < "PASS ftp@example.com" 05:47:45.775459 > "230 Welcome you silly person[CR][LF]" 05:47:45.775597 < "PWD" 05:47:45.775621 > "257 "/" is current directory[CR][LF]" 05:47:45.775745 < "EPSV" 05:47:45.775764 ====> Passive DATA channel requested by client 05:47:45.775776 DATA sockfilt for passive data channel starting... 05:47:45.785800 DATA sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1228 ../src/curl -q --output log/14/curl1228.out --include --trace-ascii log/14/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:35549 > log/14/stdout1228 2> log/14/stderr1228 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1232 ../src/curl -q --output log/2/curl1232.out --include --trace-ascii log/2/trace1232 --trace-time --proxy http://127.0.0.1:41799 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 > log/2/stdout1232 2> log/2/stderr1232 ockfilt for passive data channel started (pid 144937) 05:47:45.786006 DATA sockfilt for passive data channel listens on port 42069 05:47:45.786075 > "229 Entering Passive Mode (|||42069|)[CR][LF]" 05:47:45.786094 Client has been notified that DATA conn will be accepted on port 42069 05:47:45.786357 Client connects to port 42069 05:47:45.786388 ====> Client established passive DATA connection on port 42069 05:47:45.787465 < "TYPE I" 05:47:45.788926 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:45.789079 < "SIZE verifiedserver" 05:47:45.789120 > "213 17[CR][LF]" 05:47:45.789353 < "RETR verifiedserver" 05:47:45.789386 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:45.789473 =====> Closing passive DATA connection... 05:47:45.789488 Server disconnects passive DATA connection 05:47:45.793635 Server disconnected passive DATA connection 05:47:45.793708 DATA sockfilt for passive data channel quits (pid 144937) 05:47:45.803049 DATA sockfilt for passive data channel quit (pid 144937) 05:47:45.803100 =====> Closed passive DATA connection 05:47:45.803147 > "226 File transfer complete[CR][LF]" 05:47:45.841339 < "QUIT" 05:47:45.841405 > "221 bye bye baby[CR][LF]" 05:47:45.855627 MAIN sockfilt said DISC 05:47:45.855684 ====> Client disconnected 05:47:45.862378 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:46.236170 ====> Client connect 05:47:46.236449 Received DATA (on stdin) 05:47:46.236463 > 146 bytes data, server => client 05:47:46.236475 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:46.236485 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:46.236494 '220 \___|\___/|_| \_\_____|\r\n' 05:47:46.236575 < 16 bytes data, client => server 05:47:46.236585 'USER anonymous\r\n' 05:47:46.236736 Received DATA (on stdin) 05:47:46.236747 > 33 bytes data, server => client 05:47:46.236757 '331 We are happy you popped in!\r\n' 05:47:46.236804 < 22 bytes data, client => server 05:47:46.236815 'PASS ftp@example.com\r\n' 05:47:46.236911 Received DATA (on stdin) 05:47:46.236920 > 30 bytes data, server => client 05:47:46.236931 '230 Welcome you silly person\r\n' 05:47:46.236980 < 5 bytes data, client => server 05:47:46.236989 'PWD\r\n' 05:47:46.237070 Received DATA (on stdin) 05:47:46.237078 > 30 bytes data, server => client 05:47:46.237087 '257 "/" is current directory\r\n' 05:47:46.237132 < 6 bytes data, client => server 05:47:46.237140 'EPSV\r\n' 05:47:46.247559 Received DATA (on stdin) 05:47:46.247578 > 39 bytes data, server => client 05:47:46.247588 '229 Entering Passive Mode (|||42069|)\r\n' 05:47:46.248634 < 8 bytes data, client => server 05:47:46.248653 'TYPE I\r\n' 05:47:46.250315 Received DATA (on stdin) 05:47:46.250334 > 33 bytes data, server => client 05:47:46.250387 '200 I modify TYPE as you wanted\r\n' 05:47:46.250444 < 21 bytes data, client => server 05:47:46.250453 'SIZE verifiedserver\r\n' 05:47:46.250572 Received DATA (on stdin) 05:47:46.250582 > 8 bytes data, server => client 05:47:46.250590 '213 17\r\n' 05:47:46.250635 < 21 bytes data, client => server 05:47:46.250644 'RETR verifiedserver\r\n' 05:47:46.251020 Received DATA (on stdin) 05:47:46.251030 > 29 bytes data, server => client 05:47:46.251040 '150 Binary junk (17 bytes).\r\n' 05:47:46.266176 Received DATA (on stdin) 05:47:46.266201 > 28 bytes data, server => client 05:47:46.266214 '226 File transfer complete\r\n' 05:47:46.302567 < 6 bytes data, client => server 05:47:46.302604 'QUIT\r\n' 05:47:46.302873 Received DATA (on stdin) 05:47:46.302889 > 18 bytes data, server => client 05:47:46.302900 '221 bye bye baby\r\n' 05:47:46.316987 ====> Client disconnect 05:47:46.323653 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:45.239147 Running IPv4 version 05:47:45.239211 Listening on port 42069 05:47:45.239246 Wrote pid 144937 to log/23/server/ftp_sockdata.pid 05:47:45.247156 Received PING (on stdin) 05:47:45.247344 Received PORT (on stdin) 05:47:45.247756 ====> Client connect 05:47:45.250942 Received DATA (on stdin) 05:47:45.250954 > 17 bytes data, server => client 05:47:45.250962 'WE ROOLZ: 81405\r\n' 05:47:45.250987 Received DISC (on stdin) 05:47:45.250997 ====> Client forcibly disconnected 05:47:45.255187 Received QUIT (on stdin) 05:47:45.255207 quits 05:47:45.264297 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==145059== ==145059== Process terminating with default action of signal 4 (SIGILL) ==145059== Illegal opcode at address 0x4014883 ==145059== at 0x4014883: getparameter (tool_getparam.c:2899) ==145059== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145059== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145059== by 0x4004208: main (tool_main.c:189) === End of file valgrind1224 test 1228...[HTTP cookie path match] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1228 ../src/curl -q --output log/14/curl1228.out --include --trace-ascii log/14/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:35549 > log/14/stdout1228 2> log/14/stderr1228 1228: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1228 ../src/curl -q --output log/14/curl1228.out --include --trace-ascii log/14/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:35549 > log/14/stdout1228 2> log/14/stderr1228 === End of file commands.log === Start of file http_server.log 05:47:46.478566 ====> Client connect 05:47:46.478605 accept_connection 3 returned 4 05:47:46.478625 accept_connection 3 returned 0 05:47:46.478641 Read 93 bytes 05:47:46.478650 Process 93 bytes request 05:47:46.478663 Got request: GET /verifiedserver HTTP/1.1 05:47:46.478671 Are-we-friendly question received 05:47:46.478694 Wrote request (93 bytes) input to log/14/server.input 05:47:46.478709 Identifying ourselves as friends 05:47:46.478769 Response sent (56 bytes) and written to log/14/server.response 05:47:46.478779 special request received, no persistency 05:47:46.478787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 43460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1228 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1228 ==145204== ==145204== Process terminating with default action of signal 4 (SIGILL) ==145204== Illegal opcode at address 0x4014883 ==145204== at 0x4014883: getparameter (tool_getparam.c:2899) ==145204== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145204== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145204== by 0x4004208: main (tool_main.c:189) === End of file valgrind1228 test 1232...[HTTP URL with dotdot removal from path using an HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1219 ../src/curl -q --output log/3/curl1219.out --include --trace-ascii log/3/trace1219 --trace-time ftp://127.0.0.1:43409/1219 > log/3/stdout1219 2> log/3/stderr1219 ts/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1232 ../src/curl -q --output log/2/curl1232.out --include --trace-ascii log/2/trace1232 --trace-time --proxy http://127.0.0.1:41799 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 > log/2/stdout1232 2> log/2/stderr1232 1232: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1232 ../src/curl -q --output log/2/curl1232.out --include --trace-ascii log/2/trace1232 --trace-time --proxy http://127.0.0.1:41799 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 > log/2/stdout1232 2> log/2/stderr1232 === End of file commands.log === Start of file http_server.log 05:47:46.718922 ====> Client connect 05:47:46.718960 accept_connection 3 returned 4 05:47:46.718976 accept_connection 3 returned 0 05:47:46.718990 Read 93 bytes 05:47:46.719000 Process 93 bytes request 05:47:46.719013 Got request: GET /verifiedserver HTTP/1.1 05:47:46.719022 Are-we-friendly question received 05:47:46.719047 Wrote request (93 bytes) input to log/2/server.input 05:47:46.719062 Identifying ourselves as friends 05:47:46.719117 Response sent (56 bytes) and written to log/2/server.response 05:47:46.719126 special request received, no persistency 05:47:46.719134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 39040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1232 ==145474== ==145474== Process terminating with default action of signal 4 (SIGILL) ==145474== Illegal opcode at address 0x4014883 ==145474== at 0x4014883: getparameter (tool_getparam.c:2899) ==145474== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145474== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145474== by 0x4004208: main (tool_main.c:189) === End of file valgrind1232 test 1219...[FTP with no user+password required (230 response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1219 ../src/curl -q --output log/3/curl1219.out --include --trace-ascii log/3/trace1219 --trace-time ftp://127.0.0.1:43409/1219 > log/3/stdout1219 2> log/3/stderr1219 1219: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1219 ../src/curl -q --output log/3/curl1219.out --include --trace-ascii log/3/trace1219 --trace-time ftp://127.0.0.1:43409/1219 > log/3/stdout1219 2> log/3/stderr1219 === End of file commands.log === Start of file ftp_server.log 05:47:45.569018 ====> Client connect 05:47:45.569186 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:45.572395 < "USER anonymous" 05:47:45.572442 > "331 We are happy you popped in![CR][LF]" 05:47:45.572630 < "PASS ftp@example.com" 05:47:45.572658 > "230 Welcome you silly person[CR][LF]" 05:47:45.572814 < "PWD" 05:47:45.572846 > "257 "/" is current directory[CR][LF]" 05:47:45.573017 < "EPSV" 05:47:45.573046 ====> Passive DATA channel requested by client 05:47:45.573061 DATA sockfilt for passive data channel starting... 05:47:45.582001 DATA sockfilt for passive data channel started (pid 144733) 05:47:45.582150 DATA sockfilt for passive data channel listens on port 41605 05:47:45.582217 > "229 Entering Passive Mode (|||41605|)[CR][LF]" 05:47:45.582240 Client has been notified that DATA conn will be accepted on port 41605 05:47:45.582534 Client connects to port 41605 05:47:45.582565 ====> Client established passive DATA connection on port 41605 05:47:45.582691 < "TYPE I" 05:47:45.582726 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:45.582887 < "SIZE verifiedserver" 05:47:45.582925 > "213 17[CR][LF]" 05:47:45.583093 < "RETR verifiedserver" 05:47:45.583131 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:45.583229 =====> Closing passive DATA connection... 05:47:45.583248 Server disconnects passive DATA connection 05:47:45.583483 Server disconnected passive DATA connection 05:47:45.583510 DATA sockfilt for passive data channel quits (pid 144733) 05:47:45.583745 DATA sockfilt for passive data channel quit (pid 144733) 05:47:45.583771 =====> Closed passive DATA connection 05:47:45.583797 > "226 File transfer complete[CR][LF]" 05:47:45.625970 < "QUIT" 05:47:45.626034 > "221 bye bye baby[CR][LF]" 05:47:45.627371 MAIN sockfilt said DISC 05:47:45.627407 ====> Client disconnected 05:47:45.627490 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:46.030336 ====> Client connect 05:47:46.030650 Received DATA (on stdin) 05:47:46.030664 > 146 bytes data, server => client 05:47:46.030676 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:46.030686 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:46.030695 '220 \___|\___/|_| \_\_____|\r\n' 05:47:46.033656 < 16 bytes data, client => server 05:47:46.033676 'USER anonymous\r\n' 05:47:46.033901 Received DATA (on stdin) 05:47:46.033914 > 33 bytes data, server => client 05:47:46.033925 '331 We are happy you popped in!\r\n' 05:47:46.033991 < 22 bytes data, client => server 05:47:46.034003 'PASS ftp@example.com\r\n' 05:47:46.034113 Received DATA (on stdin) 05:47:46.034124 > 30 bytes data, server => client 05:47:46.034134 '230 Welcome you silly person\r\n' 05:47:46.034183 < 5 bytes data, client => server 05:47:46.034194 'PWD\r\n' 05:47:46.034299 Received DATA (on stdin) 05:47:46.034310 > 30 bytes data, server => client 05:47:46.034321 '257 "/" is current directory\r\n' 05:47:46.034380 < 6 bytes data, client => server 05:47:46.034392 'EPSV\r\n' 05:47:46.043707 Received DATA (on stdin) 05:47:46.043726 > 39 bytes data, server => client 05:47:46.043738 '229 Entering Passive Mode (|||41605|)\r\n' 05:47:46.044036 < 8 bytes data, client => server 05:47:46.044046 'TYPE I\r\n' 05:47:46.044182 Received DATA (on stdin) 05:47:46.044194 > 33 bytes data, server => client 05:47:46.044204 '200 I modify TYPE as you wanted\r\n' 05:47:46.044254 < 21 bytes data, client => server 05:47:46.044266 'SIZE verifiedserver\r\n' 05:47:46.044379 Received DATA (on stdin) 05:47:46.044390 > 8 bytes data, server => client 05:47:46.044399 '213 17\r\n' 05:47:46.044451 < 21 bytes data, client => server 05:47:46.044466 'RETR verifiedserver\r\n' 05:47:46.044795 Received DATA (on stdin) 05:47:46.044807 > 29 bytes data, server => client 05:47:46.044818 '150 Binary junk (17 bytes).\r\n' 05:47:46.045251 Received DATA (on stdin) 05:47:46.045264 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1227 ../src/curl -q --output log/16/curl1227.out --include --trace-ascii log/16/trace1227 --trace-time ftp://127.0.0.1:41717//1227 --ftp-method nocwd > log/16/stdout1227 2> log/16/stderr1227 > 28 bytes data, server => client 05:47:46.045273 '226 File transfer complete\r\n' 05:47:46.087236 < 6 bytes data, client => server 05:47:46.087267 'QUIT\r\n' 05:47:46.087502 Received DATA (on stdin) 05:47:46.087517 > 18 bytes data, server => client 05:47:46.087528 '221 bye bye baby\r\n' 05:47:46.088769 ====> Client disconnect 05:47:46.088956 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:45.042950 Running IPv4 version 05:47:45.043058 Listening on port 41605 05:47:45.043367 Wrote pid 144733 to log/3/server/ftp_sockdata.pid 05:47:45.043393 Received PING (on stdin) 05:47:45.043499 Received PORT (on stdin) 05:47:45.043938 ====> Client connect 05:47:45.044705 Received DATA (on stdin) 05:47:45.044717 > 17 bytes data, server => client 05:47:45.044727 'WE ROOLZ: 81310\r\n' 05:47:45.044757 Received DISC (on stdin) 05:47:45.044770 ====> Client forcibly disconnected 05:47:45.044975 Received QUIT (on stdin) 05:47:45.044988 quits 05:47:45.045047 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 welcome without password Testnum 1219 === End of file server.cmd === Start of file valgrind1219 ==144805== ==144805== Process terminating with default action of signal 4 (SIGILL) ==144805== Illegal opcode at address 0x4014883 ==144805== at 0x4014883: getparameter (tool_getparam.c:2899) ==144805== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==144805== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==144805== by 0x4004208: main (tool_main.c:189) === End of file valgrind1219 test 1227...[FTP fetch a file from the root directory with nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1227 ../src/curl -q --output log/16/curl1227.out --include --trace-ascii log/16/trace1227 --trace-time ftp://127.0.0.1:41717//1227 --ftp-method nocwd > log/16/stdout1227 2> log/16/stderr1227 1227: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1227 ../src/curl -q --output log/16/curl1227.out --include --trace-ascii log/16/trace1227 --trace-time ftp://127.0.0.1:41717//1227 --ftp-method nocwd > log/16/stdout1227 2> log/16/stderr1227 === End of file commands.log === Start of file ftp_server.log 05:47:45.905676 ====> Client connect 05:47:45.905862 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:45.906189 < "USER anonymous" 05:47:45.906224 > "331 We are happy you popped in![CR][LF]" 05:47:45.906406 < "PASS ftp@example.com" 05:47:45.906436 > "230 Welcome you silly person[CR][LF]" 05:47:45.906605 < "PWD" 05:47:45.906644 > "257 "/" is current directory[CR][LF]" 05:47:45.906826 < "EPSV" 05:47:45.906854 ====> Passive DATA channel requested by client 05:47:45.906869 DATA sockfilt for passive data channel starting... 05:47:45.912441 DATA sockfilt for passive data channel started (pid 145038) 05:47:45.912585 DATA sockfilt for passive data channel listens on port 34077 05:47:45.912648 > "229 Entering Passive Mode (|||34077|)[CR][LF]" 05:47:45.912682 Client has been notified that DATA conn will be accepted on port 34077 05:47:45.913005 Client connects to port 34077 05:47:45.913039 ====> Client established passive DATA connection on port 34077 05:47:45.913137 < "TYPE I" 05:47:45.913178 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:45.913368 < "SIZE verifiedserver" 05:47:45.913416 > "213 17[CR][LF]" 05:47:45.913584 < "RETR verifiedserver" 05:47:45.913624 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:45.913733 =====> Closing passive DATA connection... 05:47:45.913756 Server disconnects passive DATA connection 05:47:45.914013 Server disconnected passive DATA connection 05:47:45.914045 DATA sockfilt for passive data channel quits (pid 145038) 05:47:45.919160 DATA sockfilt for passive data channel quit (pid 145038) 05:47:45.919213 =====> Closed passive DATA connection 05:47:45.919288 > "226 File transfer complete[CR][LF]" 05:47:45.962642 < "QUIT" 05:47:45.962706 > "221 bye bye baby[CR][LF]" 05:47:45.968958 MAIN sockfilt said DISC 05:47:45.969028 ====> Client disconnected 05:47:45.969293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:46.366994 ====> Client connect 05:47:46.367336 Received DATA (on stdin) 05:47:46.367354 > 146 bytes data, server => client 05:47:46.367367 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:46.367378 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:46.367388 '220 \___|\___/|_| \_\_____|\r\n' 05:47:46.367485 < 16 bytes data, client => server 05:47:46.367501 'USER anonymous\r\n' 05:47:46.367680 Received DATA (on stdin) 05:47:46.367694 > 33 bytes data, server => client 05:47:46.367705 '331 We are happy you popped in!\r\n' 05:47:46.367762 < 22 bytes data, client => server 05:47:46.367777 'PASS ftp@example.com\r\n' 05:47:46.367890 Received DATA (on stdin) 05:47:46.367902 > 30 bytes data, server => client 05:47:46.367913 '230 Welcome you silly person\r\n' 05:47:46.367967 < 5 bytes data, client => server 05:47:46.367979 'PWD\r\n' 05:47:46.368107 Received DATA (on stdin) 05:47:46.368119 > 30 bytes data, server => client 05:47:46.368130 '257 "/" is current directory\r\n' 05:47:46.368192 < 6 bytes data, client => server 05:47:46.368203 'EPSV\r\n' 05:47:46.374148 Received DATA (on stdin) 05:47:46.374164 > 39 bytes data, server => client 05:47:46.374176 '229 Entering Passive Mode (|||34077|)\r\n' 05:47:46.374402 < 8 bytes data, client => server 05:47:46.374414 'TYPE I\r\n' 05:47:46.374640 Received DATA (on stdin) 05:47:46.374654 > 33 bytes data, server => client 05:47:46.374665 '200 I modify TYPE as you wanted\r\n' 05:47:46.374722 < 21 bytes data, client => server 05:47:46.374737 'SIZE verifiedserver\r\n' 05:47:46.374876 Received DATA (on stdin) 05:47:46.374889 > 8 bytes data, server => client 05:47:46.374899 '213 17\r\n' 05:47:46.374952 < 21 bytes data, client => server 05:47:46.374962 'RETR verifiedserver\r\n' 05:47:46.375216 Received DATA (on stdin) 05:47:46.375229 > 29 bytes data, server => client 05:47:46.375240 '150 Binary junk (17 bytes).\r\n' 05:47:46.380779 Received DATA (on stdin) 05:47:46.380818 > 28 bytes data, server => client 05:47:46.380844 '226 File transfer complete\r\n' 05:47:46.423905 < 6 bytes data, client => server 05:47:46.423932 'QUIT\r\n' 05:47:46.424175 Received DATA (on stdin) 05:47:46.424190 > 18 bytes data, server => client 05:47:46.424205 '221 bye bye baby\r\n' 05:47:46.430319 ====> Client disconnect 05:47:46.430635 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:45.372588 Running IPv4 version 05:47:45.372675 Listening on port 34077 05:47:45.372716 Wrote pid 145038 to log/16/server/ftp_sockdata.pid 05:47:45.373811 Received PING (on stdin) 05:47:45.373936 Received PORT (on stdin) 05:47:45.374369 ====> Client connect 05:47:45.375269 Received DATA (on stdin) 05:47:45.375283 > 17 bytes data, server => client 05:47:45.375294 'WE ROOLZ: 80884\r\n' 05:47:45.375321 Received DISC (on stdin) 05:47:45.375334 ====> Client forcibly disconnected 05:47:45.375514 Received QUIT (on stdin) 05:47:45.375528 quits 05:47:45.380349 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==145127== ==145127== Process terminating with default action of signal 4 (SIGILL) ==145127== Illegal opcode at address 0x4014883 ==145127== at 0x401488CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1226 ../src/curl -q --output log/17/curl1226.out --include --trace-ascii log/17/trace1226 --trace-time ftp://127.0.0.1:40885//1226 --ftp-method singlecwd > log/17/stdout1226 2> log/17/stderr1226 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1236 ../src/curl -q --output log/22/curl1236.out --include --trace-ascii log/22/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/22/stdout1236 2> log/22/stderr1236 3: getparameter (tool_getparam.c:2899) ==145127== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145127== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145127== by 0x4004208: main (tool_main.c:189) === End of file valgrind1227 test 1226...[FTP fetch a file from the root directory with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1226 ../src/curl -q --output log/17/curl1226.out --include --trace-ascii log/17/trace1226 --trace-time ftp://127.0.0.1:40885//1226 --ftp-method singlecwd > log/17/stdout1226 2> log/17/stderr1226 1226: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1226 ../src/curl -q --output log/17/curl1226.out --include --trace-ascii log/17/trace1226 --trace-time ftp://127.0.0.1:40885//1226 --ftp-method singlecwd > log/17/stdout1226 2> log/17/stderr1226 === End of file commands.log === Start of file ftp_server.log 05:47:45.869018 ====> Client connect 05:47:45.869191 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:45.869531 < "USER anonymous" 05:47:45.869608 > "331 We are happy you popped in![CR][LF]" 05:47:45.869772 < "PASS ftp@example.com" 05:47:45.869802 > "230 Welcome you silly person[CR][LF]" 05:47:45.869949 < "PWD" 05:47:45.869980 > "257 "/" is current directory[CR][LF]" 05:47:45.870127 < "EPSV" 05:47:45.870150 ====> Passive DATA channel requested by client 05:47:45.870163 DATA sockfilt for passive data channel starting... 05:47:45.879191 DATA sockfilt for passive data channel started (pid 145024) 05:47:45.879343 DATA sockfilt for passive data channel listens on port 45609 05:47:45.879399 > "229 Entering Passive Mode (|||45609|)[CR][LF]" 05:47:45.879423 Client has been notified that DATA conn will be accepted on port 45609 05:47:45.885625 Client connects to port 45609 05:47:45.885695 ====> Client established passive DATA connection on port 45609 05:47:45.885826 < "TYPE I" 05:47:45.885874 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:45.892326 < "SIZE verifiedserver" 05:47:45.892407 > "213 18[CR][LF]" 05:47:45.892977 < "RETR verifiedserver" 05:47:45.893022 > "150 Binary junk (18 bytes).[CR][LF]" 05:47:45.893127 =====> Closing passive DATA connection... 05:47:45.893151 Server disconnects passive DATA connection 05:47:45.898300 Server disconnected passive DATA connection 05:47:45.898351 DATA sockfilt for passive data channel quits (pid 145024) 05:47:45.919320 DATA sockfilt for passive data channel quit (pid 145024) 05:47:45.919377 =====> Closed passive DATA connection 05:47:45.919420 > "226 File transfer complete[CR][LF]" 05:47:45.939232 < "QUIT" 05:47:45.939304 > "221 bye bye baby[CR][LF]" 05:47:45.940687 MAIN sockfilt said DISC 05:47:45.940729 ====> Client disconnected 05:47:45.940841 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:46.330337 ====> Client connect 05:47:46.330659 Received DATA (on stdin) 05:47:46.330675 > 146 bytes data, server => client 05:47:46.330686 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:46.330696 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:46.330705 '220 \___|\___/|_| \_\_____|\r\n' 05:47:46.330833 < 16 bytes data, client => server 05:47:46.330847 'USER anonymous\r\n' 05:47:46.331003 Received DATA (on stdin) 05:47:46.331015 > 33 bytes data, server => client 05:47:46.331063 '331 We are happy you popped in!\r\n' 05:47:46.331124 < 22 bytes data, client => server 05:47:46.331135 'PASS ftp@example.com\r\n' 05:47:46.331254 Received DATA (on stdin) 05:47:46.331264 > 30 bytes data, server => client 05:47:46.331274 '230 Welcome you silly person\r\n' 05:47:46.331323 < 5 bytes data, client => server 05:47:46.331332 'PWD\r\n' 05:47:46.331431 Received DATA (on stdin) 05:47:46.331441 > 30 bytes data, server => client 05:47:46.331451 '257 "/" is current directory\r\n' 05:47:46.331507 < 6 bytes data, client => server 05:47:46.331516 'EPSV\r\n' 05:47:46.340832 Received DATA (on stdin) 05:47:46.340857 > 39 bytes data, server => client 05:47:46.340869 '229 Entering Passive Mode (|||45609|)\r\n' 05:47:46.341075 < 8 bytes data, client => server 05:47:46.341090 'TYPE I\r\n' 05:47:46.350225 Received DATA (on stdin) 05:47:46.350258 > 33 bytes data, server => client 05:47:46.350272 '200 I modify TYPE as you wanted\r\n' 05:47:46.351171 < 21 bytes data, client => server 05:47:46.351193 'SIZE verifiedserver\r\n' 05:47:46.354198 Received DATA (on stdin) 05:47:46.354224 > 8 bytes data, server => client 05:47:46.354238 '213 18\r\n' 05:47:46.354323 < 21 bytes data, client => server 05:47:46.354339 'RETR verifiedserver\r\n' 05:47:46.354609 Received DATA (on stdin) 05:47:46.354622 > 29 bytes data, server => client 05:47:46.354647 '150 Binary junk (18 bytes).\r\n' 05:47:46.380889 Received DATA (on stdin) 05:47:46.380908 > 28 bytes data, server => client 05:47:46.380919 '226 File transfer complete\r\n' 05:47:46.400484 < 6 bytes data, client => server 05:47:46.400518 'QUIT\r\n' 05:47:46.400776 Received DATA (on stdin) 05:47:46.400792 > 18 bytes data, server => client 05:47:46.400804 '221 bye bye baby\r\n' 05:47:46.402076 ====> Client disconnect 05:47:46.402304 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:45.334537 Running IPv4 version 05:47:45.334613 Listening on port 45609 05:47:45.334648 Wrote pid 145024 to log/17/server/ftp_sockdata.pid 05:47:45.340564 Received PING (on stdin) 05:47:45.340686 Received PORT (on stdin) 05:47:45.346990 ====> Client connect 05:47:45.359492 Received DATA (on stdin) 05:47:45.359524 > 18 bytes data, server => client 05:47:45.359535 'WE ROOLZ: 138189\r\n' 05:47:45.359587 Received DISC (on stdin) 05:47:45.359606 ====> Client forcibly disconnected 05:47:45.359828 Received QUIT (on stdin) 05:47:45.359840 quits 05:47:45.380576 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file server.cmd === Start of file valgrind1226 ==145092== ==145092== Process terminating with default action of signal 4 (SIGILL) ==145092== Illegal opcode at address 0x4014883 ==145092== at 0x4014883: getparameter (tool_getparam.c:2899) ==145092== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145092== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145092== by 0x4004208: main (tool_main.c:189) === End of file valgrind1226 test 1236...[[] globbing overflowing the range counter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1236 ../src/curl -q --output log/22/curl1236.out --include --trace-ascii log/22/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/22/stdout1236 2> log/22/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/22/ directory after test 1236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1236 ../src/curl -q --output log/22/curl1236.out --include --trace-ascii log/22/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/22/stdout1236 2> log/22/stderr1236 === End of file commands.log === Start of file server.cmd Testnum 1236 === End ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1237 ../src/curl -q --output log/1/curl1237.out --include --trace-ascii log/1/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:38765/1237" > log/1/stdout1237 2> log/1/stderr1237 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1231 ../src/curl -q --output log/8/curl1231.out --include --trace-ascii log/8/trace1231 --trace-time http://127.0.0.1:45623/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:45623/../../hej/but/who/../12310001#/../12310001 > log/8/stdout1231 2> log/8/stderr1231 file server.cmd === Start of file valgrind1236 ==145658== ==145658== Process terminating with default action of signal 4 (SIGILL) ==145658== Illegal opcode at address 0x4014883 ==145658== at 0x4014883: getparameter (tool_getparam.c:2899) ==145658== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145658== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145658== by 0x4004208: main (tool_main.c:189) === End of file valgrind1236 test 1237...[URL with 1000+ letter username + password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1237 ../src/curl -q --output log/1/curl1237.out --include --trace-ascii log/1/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:38765/1237" > log/1/stdout1237 2> log/1/stderr1237 1237: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1237 ../src/curl -q --output log/1/curl1237.out --include --trace-ascii log/1/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:38765/1237" > log/1/stdout1237 2> log/1/stderr1237 === End of file commands.log === Start of file http_server.log 05:47:47.159070 ====> Client connect 05:47:47.159107 accept_connection 3 returned 4 05:47:47.159124 accept_connection 3 returned 0 05:47:47.159138 Read 93 bytes 05:47:47.159147 Process 93 bytes request 05:47:47.159161 Got request: GET /verifiedserver HTTP/1.1 05:47:47.159170 Are-we-friendly question received 05:47:47.159191 Wrote request (93 bytes) input to log/1/server.input 05:47:47.159207 Identifying ourselves as friends 05:47:47.159257 Response sent (56 bytes) and written to log/1/server.response 05:47:47.159266 special request received, no persistency 05:47:47.159274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 50990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1237 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1237 ==145795== ==145795== Process terminating with default action of signal 4 (SIGILL) ==145795== Illegal opcode at address 0x4014883 ==145795== at 0x4014883: getparameter (tool_getparam.c:2899) ==145795== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145795== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145795== by 0x4004208: main (tool_main.c:189) === End of file valgrind1237 test 1231...[HTTP URL with dotdot removal from path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1231 ../src/curl -q --output log/8/curl1231.out --include --trace-ascii log/8/trace1231 --trace-time http://127.0.0.1:45623/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:45623/../../hej/but/who/../12310001#/../12310001 > log/8/stdout1231 2> log/8/stderr1231 1231: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1231 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1233 ../src/curl -q --output log/19/curl1233.out --include --trace-ascii log/19/trace1233 --trace-time ftp://127.0.0.1:45453/1233 > log/19/stdout1233 2> log/19/stderr1233 startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1231 ../src/curl -q --output log/8/curl1231.out --include --trace-ascii log/8/trace1231 --trace-time http://127.0.0.1:45623/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:45623/../../hej/but/who/../12310001#/../12310001 > log/8/stdout1231 2> log/8/stderr1231 === End of file commands.log === Start of file http_server.log 05:47:45.518158 ====> Client connect 05:47:45.518188 accept_connection 3 returned 4 05:47:45.518203 accept_connection 3 returned 0 05:47:45.518217 Read 93 bytes 05:47:45.518225 Process 93 bytes request 05:47:45.518239 Got request: GET /verifiedserver HTTP/1.1 05:47:45.518248 Are-we-friendly question received 05:47:45.518270 Wrote request (93 bytes) input to log/8/server.input 05:47:45.518286 Identifying ourselves as friends 05:47:45.518346 Response sent (56 bytes) and written to log/8/server.response 05:47:45.518355 special request received, no persistency 05:47:45.518363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1231 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1231 ==145272== ==145272== Process terminating with default action of signal 4 (SIGILL) ==145272== Illegal opcode at address 0x4014883 ==145272== at 0x4014883: getparameter (tool_getparam.c:2899) ==145272== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145272== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145272== by 0x4004208: main (tool_main.c:189) === End of file valgrind1231 test 1233...[FTP failing to connect to EPSV port, switching to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1233 ../src/curl -q --output log/19/curl1233.out --include --trace-ascii log/19/trace1233 --trace-time ftp://127.0.0.1:45453/1233 > log/19/stdout1233 2> log/19/stderr1233 1233: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1233 ../src/curl -q --output log/19/curl1233.out --include --trace-ascii log/19/trace1233 --trace-time ftp://127.0.0.1:45453/1233 > log/19/stdout1233 2> log/19/stderr1233 === End of file commands.log === Start of file ftp_server.log 05:47:46.305514 ====> Client connect 05:47:46.305725 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:46.325806 < "USER anonymous" 05:47:46.325862 > "331 We are happy you popped in![CR][LF]" 05:47:46.326057 < "PASS ftp@example.com" 05:47:46.326084 > "230 Welcome you silly person[CR][LF]" 05:47:46.326229 < "PWD" 05:47:46.326262 > "257 "/" is current directory[CR][LF]" 05:47:46.326416 < "EPSV" 05:47:46.326440 ====> Passive DATA channel requested by client 05:47:46.326455 DATA sockfilt for passive data channel starting... 05:47:46.335775 DATA sockfilt for passive data channel started (pid 145512) 05:47:46.335910 DATA sockfilt for passive data channel listens on port 41431 05:47:46.335957 > "229 Entering Passive Mode (|||41431|)[CR][LF]" 05:47:46.335975 Client has been notified that DATA conn will be accepted on port 41431 05:47:46.345640 Client connects to port 41431 05:47:46.345714 ====> Client established passive DATA connection on port 41431 05:47:46.345843 < "TYPE I" 05:47:46.345883 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:46.350047 < "SIZE verifiedserver" 05:47:46.350116 > "213 17[CR][LF]" 05:47:46.350337 < "RETR verifiedserver" 05:47:46.350394 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:46.350528 =====> Closing passive DATA connection... 05:47:46.350549 Server disconnects passive DATA connection 05:47:46.355558 Server disconnected passive DATA connection 05:47:46.355608 DATA sockfilt for passive data channel quits (pid 145512) 05:47:46.355927 DATA sockfilt for passive data channel quit (pid 145512) 05:47:46.355957 =====> Closed passive DATA connection 05:47:46.355994 > "226 File transfer complete[CR][LF]" 05:47:46.402411 < "QUIT" 05:47:46.402494 > "221 bye bye baby[CR][LF]" 05:47:46.403102 MAIN sockfilt said DISC 05:47:46.403136 ====> Client disconnected 05:47:46.403250 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:45.766835 ====> Client connect 05:47:45.770364 Received DATA (on stdin) 05:47:45.770395 > 146 bytes data, server => client 05:47:45.770407 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:45.770416 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:45.770425 '220 \___|\___/|_| \_\_____|\r\n' 05:47:45.786999 < 16 bytes data, client => server 05:47:45.787038 'USER anonymous\r\n' 05:47:45.787321 Received DATA (on stdin) 05:47:45.787333 > 33 bytes data, server => client 05:47:45.787344 '331 We are happy you popped in!\r\n' 05:47:45.787421 < 22 bytes data, client => server 05:47:45.787433 'PASS ftp@example.com\r\n' 05:47:45.787536 Received DATA (on stdin) 05:47:45.787547 > 30 bytes data, server => client 05:47:45.787558 '230 Welcome you silly person\r\n' 05:47:45.787604 < 5 bytes data, client => server 05:47:45.787614 'PWD\r\n' 05:47:45.787714 Received DATA (on stdin) 05:47:45.787725 > 30 bytes data, server => client 05:47:45.787735 '257 "/" is current directory\r\n' 05:47:45.787792 < 6 bytes data, client => server 05:47:45.787802 'EPSV\r\n' 05:47:45.800343 Received DATA (on stdin) 05:47:45.800384 > 39 bytes data, server => client 05:47:45.800397 '229 Entering Passive Mode (|||41431|)\r\n' 05:47:45.800618 < 8 bytes data, client => server 05:47:45.800636 'TYPE I\r\n' 05:47:45.810331 Received DATA (on stdin) 05:47:45.810375 > 33 bytes data, server => client 05:47:45.810387 '200 I modify TYPE as you wanted\r\n' 05:47:45.811343 < 21 bytes data, client => server 05:47:45.811588 'SIZE verifiedserver\r\n' 05:47:45.811602 Received DATA (on stdin) 05:47:45.811620 > 8 bytes data, server => client 05:47:45.811630 '213 17\r\n' 05:47:45.811690 < 21 bytes data, client => server 05:47:45.811703 'RETR verifiedserver\r\n' 05:47:45.812013 Received DATA (on stdin) 05:47:45.812026 > 29 bytes data, server => client 05:47:45.812037 '150 Binary junk (17 bytes).\r\n' 05:47:45.817460 Received DATA (on stdin) 05:47:45.817480 > 28 bytes data, server => client 05:47:45.817490 '226 File transfer complete\r\n' 05:47:45.857014 < 6 bytes data, client => server 05:47:45.857064 'QUIT\r\n' 05:47:45.863963 Received DATA (on stdin) 05:47:45.863984 > 18 bytes data, server => client 05:47:45.863994 '221 bye bye baby\r\n' 05:47:45.864500 ====> Client disconnect 05:47:45.864710 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:46.792586 Running IPv4 version 05:47:46.792662 Listening on port 41431 05:47:46.792703 Wrote pid 145512 to log/19/server/ftp_sockdata.pid 05:47:46.797150 Received PING (on stdin) 05:47:46.797266 Received PORT (on stdin) 05:47:46.806998 ====> Client connect 05:47:46.813649 Received DATA (on stdin) 05:47:46.813680 > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1235 ../src/curl -q --include --trace-ascii log/4/trace1235 --trace-time "127.0.0.1:40253/{1235,1235}{0001,0002}" > log/4/stdout1235 2> log/4/stderr1235 17 bytes data, server => client 05:47:46.813690 'WE ROOLZ: 81129\r\n' 05:47:46.813741 Received DISC (on stdin) 05:47:46.813753 ====> Client forcibly disconnected 05:47:46.817084 Received QUIT (on stdin) 05:47:46.817104 quits 05:47:46.817201 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd # Assuming there is nothing listening on port 1 REPLY EPSV 229 Entering Passive Mode (|||1|) Testnum 1233 === End of file server.cmd === Start of file valgrind1233 ==145573== ==145573== Process terminating with default action of signal 4 (SIGILL) ==145573== Illegal opcode at address 0x4014883 ==145573== at 0x4014883: getparameter (tool_getparam.c:2899) ==145573== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145573== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145573== by 0x4004208: main (tool_main.c:189) === End of file valgrind1233 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1240 ../src/curl -q --output log/12/curl1240.out --include --trace-ascii log/12/trace1240 --trace-time "127.0.0.1:36353/0[0-1]/1240" > log/12/stdout1240 2> log/12/stderr1240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1239 ../src/curl -q --include --trace-ascii log/24/trace1239 --trace-time http://127.0.0.1:33593/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/24/stdout1239 2> log/24/stderr1239 test 1235...[multiple requests using {}{} in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1235 ../src/curl -q --include --trace-ascii log/4/trace1235 --trace-time "127.0.0.1:40253/{1235,1235}{0001,0002}" > log/4/stdout1235 2> log/4/stderr1235 1235: stdout FAILED: --- log/4/check-expected 2026-03-14 05:47:48.911282656 +0000 +++ log/4/check-generated 2026-03-14 05:47:48.911282656 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/4/ directory after test 1235 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1235 ../src/curl -q --include --trace-ascii log/4/trace1235 --trace-time "127.0.0.1:40253/{1235,1235}{0001,0002}" > log/4/stdout1235 2> log/4/stderr1235 === End of file commands.log === Start of file http_server.log 05:47:45.896158 ====> Client connect 05:47:45.896207 accept_connection 3 returned 4 05:47:45.896229 accept_connection 3 returned 0 05:47:45.896247 Read 93 bytes 05:47:45.896258 Process 93 bytes request 05:47:45.896273 Got request: GET /verifiedserver HTTP/1.1 05:47:45.896284 Are-we-friendly question received 05:47:45.896313 Wrote request (93 bytes) input to log/4/server.input 05:47:45.896332 Identifying ourselves as friends 05:47:45.896422 Response sent (56 bytes) and written to log/4/server.response 05:47:45.896436 special request received, no persistency 05:47:45.896447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 42028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1235 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1235 ==145616== ==145616== Process terminating with default action of signal 4 (SIGILL) ==145616== Illegal opcode at address 0x4014883 ==145616== at 0x4014883: getparameter (tool_getparam.c:2899) ==145616== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145616== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145616== by 0x4004208: main (tool_main.c:189) === End of file valgrind1235 test 1240...[glob [0-1] with stuff after range (7.33.0 regression)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1240 ../src/curl -q --output log/12/curl1240.out --include --trace-ascii log/12/trace1240 --trace-time "127.0.0.1:36353/0[0-1]/1240" > log/12/stdout1240 2> log/12/stderr1240 1240: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1240 ../src/curl -q --output log/12/curl1240.out --include --trace-ascii log/12/trace1240 --trace-time "127.0.0.1:36353/0[0-1]/1240" > log/12/stdout1240 2> log/12/stderr1240 === End of file commands.log === Start of file http_server.log 05:47:47.943957 ====> Client connect 05:47:47.944000 accept_connection 3 returned 4 05:47:47.944020 accept_connection 3 returned 0 05:47:47.944037 Read 93 bytes 05:47:47.944047 Process 93 bytes request 05:47:47.944060 Got request: GET /verifiedserver HTTP/1.1 05:47:47.944070 Are-we-friendly question received 05:47:47.944093 Wrote request (93 bytes) input to log/12/server.input 05:47:47.944113 Identifying ourselves as friends 05:47:47.944194 Response sent (56 bytes) and written to log/12/server.response 05:47:47.944204 special request received, no persistency 05:47:47.944212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 53846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1240 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1240 ==146092== ==146092== Process terminating with default action of signal 4 (SIGILL) ==146092== Illegal opcode at address 0x4014883 ==146092== at 0x4014883: getparameter (tool_getparam.c:2899) ==146092== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146092== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146092== by 0x4004208: main (tool_main.c:189) === End of file valgrind1240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1230 ../src/curl -q --output log/7/curl1230.out --include --trace-ascii log/7/trace1230 --trace-time http://[1234:1234:1234::4ce]:39013/wanted/page/1230 -p -x 127.0.0.1:39013 > log/7/stdout1230 2> log/7/stderr1230 test 1239...[HTTP with -z + -w response_code and simulated 304] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1239 ../src/curl -q --include --trace-ascii log/24/trace1239 --trace-time http://127.0.0.1:33593/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/24/stdout1239 2> log/24/stderr1239 1239: stdout FAILED: --- log/24/check-expected 2026-03-14 05:47:49.364615990 +0000 +++ log/24/check-generated 2026-03-14 05:47:49.364615990 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 6[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -304 == Contents of files in the log/24/ directory after test 1239 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 6[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] 304 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1239 ../src/curl -q --include --trace-ascii log/24/trace1239 --trace-time http://127.0.0.1:33593/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/24/stdout1239 2> log/24/stderr1239 === End of file commands.log === Start of file http_server.log 05:47:47.377056 ====> Client connect 05:47:47.377098 accept_connection 3 returned 4 05:47:47.377118 accept_connection 3 returned 0 05:47:47.377135 Read 93 bytes 05:47:47.377146 Process 93 bytes request 05:47:47.377161 Got request: GET /verifiedserver HTTP/1.1 05:47:47.377172 Are-we-friendly question received 05:47:47.377202 Wrote request (93 bytes) input to log/24/server.input 05:47:47.377221 Identifying ourselves as friends 05:47:47.377294 Response sent (56 bytes) and written to log/24/server.response 05:47:47.377306 special request received, no persistency 05:47:47.377314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 49618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1239 ==145914== ==145914== Process terminating with default action of signal 4 (SIGILL) ==145914== Illegal opcode at address 0x4014883 ==145914== at 0x4014883: getparameter (tool_getparam.c:2899) ==145914== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145914== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145914== by 0x4004208: main (tool_main.c:189) === End of file valgrind1239 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_ipv6_server.pid" --logfile "log/7/http_ipv6_server.log" --logdir "log/7" --portfile log/7/server/http_ipv6_server.port --config log/7/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 145167 port 34357 * pid http-ipv6 => 145167 145167 test 1230...[HTTP CONNECT to IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1230 ../src/curl -q --output log/7/curl1230.out --include --trace-ascii log/7/trace1230 --trace-time http://[1234:1234:1234::4ce]:39013/wanted/page/1230 -p -x 127.0.0.1:39013 > log/7/stdout1230 2> log/7/stderr1230 1230: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1230 ../src/curl -q --output log/7/curl1230.out --include --trace-ascii log/7/trace1230 --trace-time http://[1234:1234:1234::4ce]:39013/wanted/page/1230 -p -x 127.0.0.1:39013 > log/7/stdout1230 2> log/7/stderr1230 === End of file commands.log === Start of file http2_server.log 05:47:46.473319 ====> Client connect 05:47:46.473356 accept_connection 3 returned 4 05:47:46.473372 accept_connection 3 returned 0 05:47:46.473388 Read 93 bytes 05:47:46.473397 Process 93 bytes request 05:47:46.473416 Got request: GET /verifiedserver HTTP/1.1 05:47:46.473425 Are-we-friendly question received 05:47:46.473451 Wrote request (93 bytes) input to log/7/proxy.input 05:47:46.473471 Identifying ourselves as friends 05:47:46.473536 Response sent (56 bytes) and written to log/7/proxy.response 05:47:46.473551 special request received, no persistency 05:47:46.473559 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38747... * Established connection to 127.0.0.1 (127.0.0.1 port 38747) from 127.0.0.1 port 45098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38747 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38747 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 92451 === End of file http2_verify.out === Start of file http_ipv6_server.log 05:47:46.522738 Running HTTP IPv6 version on port 34357 05:47:46.522841 Wrote pid 145167 to log/7/server/http_ipv6_server.pid 05:47:46.522870 Wrote port 34357 to log/7/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 05:47:46.560387 ====> Client connect 05:47:46.560433 accept_connection 3 returned 4 05:47:46.560454 accept_connection 3 returned 0 05:47:46.560469 Read 93 bytes 05:47:46.560478 Process 93 bytes request 05:47:46.560490 Got request: GET /verifiedserver HTTP/1.1 05:47:46.560498 Are-we-friendly question received 05:47:46.560521 Wrote request (93 bytes) input to log/7/server.input 05:47:46.560535 Identifying ourselves as friends 05:47:46.560607 Response sent (56 bytes) and written to log/7/server.response 05:47:46.560617 special request received, no persistency 05:47:46.560626 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 60288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 92451 === End of file proxy.response === Start of file server.cmd Testnum 1230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1238 ../src/curl -q --output log/6/curl1238.out --include --trace-ascii log/6/trace1238 --trace-time tftp://127.0.0.1:44616//1238 -Y1000 -y2 > log/6/stdout1238 2> log/6/stderr1238 RUN: Process with pid 137393 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1248 ../src/curl -q --output log/9/curl1248.out --include --trace-ascii log/9/trace1248 --trace-time http://user:secret@127.0.0.1:33885/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/9/stdout1248 2> log/9/stderr1248 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1246 ../src/curl -q --output log/13/curl1246.out --include --trace-ascii log/13/trace1246 --trace-time --proxy http://127.0.0.1:45359 http://test.remote.haxx.se.1246:45359#@127.0.0.1/tricked.html no-scheme-url.com.1246:45359#@127.127.127.127/again.html > log/13/stdout1246 2> log/13/stderr1246 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1241 ../src/curl -q --output log/15/curl1241.out --include --trace-ascii log/15/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:43413 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 > log/15/stdout1241 2> log/15/stderr1241 ==145987== ==145987== Process terminating with default action of signal 4 (SIGILL) ==145987== Illegal opcode at address 0x4014883 ==145987== at 0x4014883: getparameter (tool_getparam.c:2899) ==145987== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145987== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145987== by 0x4004208: main (tool_main.c:189) === End of file valgrind1230 test 1248...[Non-proxied host plus --proxy option and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1248 ../src/curl -q --output log/9/curl1248.out --include --trace-ascii log/9/trace1248 --trace-time http://user:secret@127.0.0.1:33885/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/9/stdout1248 2> log/9/stderr1248 1248: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1248 ../src/curl -q --output log/9/curl1248.out --include --trace-ascii log/9/trace1248 --trace-time http://user:secret@127.0.0.1:33885/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/9/stdout1248 2> log/9/stderr1248 === End of file commands.log === Start of file http_server.log 05:47:47.583980 ====> Client connect 05:47:47.584008 accept_connection 3 returned 4 05:47:47.584024 accept_connection 3 returned 0 05:47:47.584038 Read 93 bytes 05:47:47.584047 Process 93 bytes request 05:47:47.584061 Got request: GET /verifiedserver HTTP/1.1 05:47:47.584070 Are-we-friendly question received 05:47:47.584095 Wrote request (93 bytes) input to log/9/server.input 05:47:47.584112 Identifying ourselves as friends 05:47:47.584172 Response sent (56 bytes) and written to log/9/server.response 05:47:47.584183 special request received, no persistency 05:47:47.584192 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 60498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1248 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1248 ==146378== ==146378== Process terminating with default action of signal 4 (SIGILL) ==146378== Illegal opcode at address 0x4014883 ==146378== at 0x4014883: getparameter (tool_getparam.c:2899) ==146378== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146378== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146378== by 0x4004208: main (tool_main.c:189) === End of file valgrind1248 test 1246...[URL with '#' at end of hostname instead of '/'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1246 ../src/curl -q --output log/13/curl1246.out --include --trace-ascii log/13/trace1246 --trace-time --proxy http://127.0.0.1:45359 http://test.remote.haxx.se.1246:45359#@127.0.0.1/tricked.html no-scheme-url.com.1246:45359#@127.127.127.127/again.html > log/13/stdout1246 2> log/13/stderr1246 1246: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1246 ../src/curl -q --output log/13/curl1246.out --include --trace-ascii log/13/trace1246 --trace-time --proxy http://127.0.0.1:45359 http://test.remote.haxx.se.1246:45359#@127.0.0.1/tricked.html no-scheme-url.com.1246:45359#@127.127.127.127/again.html > log/13/stdout1246 2> log/13/stderr1246 === End of file commands.log === Start of file http_server.log 05:47:48.469173 ====> Client connect 05:47:48.469211 accept_connection 3 returned 4 05:47:48.469229 accept_connection 3 returned 0 05:47:48.469244 Read 93 bytes 05:47:48.469254 Process 93 bytes request 05:47:48.469268 Got request: GET /verifiedserver HTTP/1.1 05:47:48.469277 Are-we-friendly question received 05:47:48.469304 Wrote request (93 bytes) input to log/13/server.input 05:47:48.469321 Identifying ourselves as friends 05:47:48.469385 Response sent (56 bytes) and written to log/13/server.response 05:47:48.469396 special request received, no persistency 05:47:48.469405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 38694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1246 ==146293== ==146293== Process terminating with default action of signal 4 (SIGILL) ==146293== Illegal opcode at address 0x4014883 ==146293== at 0x4014883: getparameter (tool_getparam.c:2899) ==146293== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146293== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146293== by 0x4004208: main (tool_main.c:189) === End of file valgrind1246 test 1241...[HTTP _without_ dotdot removal] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1241 ../src/curl -q --output log/15/curl1241.out --include --trace-ascii log/15/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:43413 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 > log/15/stdout1241 2> log/15/stderr1241 1241: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1241 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1241 ../src/curl -q --output log/15/curl1241.out --include --trace-ascii log/15/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:43413 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 > log/15/stdout1241 2> log/15/stderr1241 === End of file commands.log === Start of file http_server.log 05:47:48.013891 ====> Client connect 05:47:48.013927 accept_connection 3 returned 4 05:47:48.013944 accept_connection 3 returned 0 05:47:48.013960 Read 93 bytes 05:47:48.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1245 ../src/curl -q --output log/20/curl1245.out --include --trace-ascii log/20/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:38929/1245 > log/20/stdout1245 2> log/20/stderr1245 13969 Process 93 bytes request 05:47:48.013982 Got request: GET /verifiedserver HTTP/1.1 05:47:48.013992 Are-we-friendly question received 05:47:48.014019 Wrote request (93 bytes) input to log/15/server.input 05:47:48.014036 Identifying ourselves as friends 05:47:48.014097 Response sent (56 bytes) and written to log/15/server.response 05:47:48.014108 special request received, no persistency 05:47:48.014117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 57556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1241 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1241 ==146108== ==146108== Process terminating with default action of signal 4 (SIGILL) ==146108== Illegal opcode at address 0x4014883 ==146108== at 0x4014883: getparameter (tool_getparam.c:2899) ==146108== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146108== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146108== by 0x4004208: main (tool_main.c:189) === End of file valgrind1241 test 1245...[--proto deny must override --proto-redir allow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1245 ../src/curl -q --output log/20/curl1245.out --include --trace-ascii log/20/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:38929/1245 > log/20/stdout1245 2> log/20/stderr1245 1245: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1245 ../src/curl -q --output log/20/curl1245.out --include --trace-ascii log/20/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:38929/1245 > log/20/stdout1245 2> log/20/stderr1245 === End of file commands.log === Start of file ftp_server.log 05:47:48.112644 ====> Client connect 05:47:48.112824 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:48.114288 < "USER anonymous" 05:47:48.114329 > "331 We are happy you popped in![CR][LF]" 05:47:48.119606 < "PASS ftp@example.com" 05:47:48.119658 > "230 Welcome you silly person[CR][LF]" 05:47:48.119845 < "PWD" 05:47:48.119884 > "257 "/" is current directory[CR][LF]" 05:47:48.120074 < "EPSV" 05:47:48.120106 ====> Passive DATA channel requested by client 05:47:48.120124 DATA sockfilt for passive data channel starting... 05:47:48.133127 DATA sockfilt for passive data channel started (pid 146357) 05:47:48.133300 DATA sockfilt for passive data channel listens on port 35043 05:47:48.133361 > "229 Entering Passive Mode (|||35043|)[CR][LF]" 05:47:48.133382 Client has been notified that DATA conn will be accepted on port 35043 05:47:48.133735 Client connects to port 35043 05:47:48.133768 ====> Client established passive DATA connection on port 35043 05:47:48.133870 < "TYPE I" 05:47:48.133913 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:48.134101 < "SIZE verifiedserver" 05:47:48.134144 > "213 17[CR][LF]" 05:47:48.135459 < "RETR verifiedserver" 05:47:48.135501 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:48.135623 =====> Closing passive DATA connection... 05:47:48.135645 Server disconnects passive DATA connection 05:47:48.135842 Server disconnected passive DATA connection 05:47:48.135871 DATA sockfilt for passive data channel quits (pid 146357) 05:47:48.136497 DATA sockfilt for passive data channel quit (pid 146357) 05:47:48.136528 =====> Closed passive DATA connection 05:47:48.136561 > "226 File transfer complete[CR][LF]" 05:47:48.181598 < "QUIT" 05:47:48.181661 > "221 bye bye baby[CR][LF]" 05:47:48.182982 MAIN sockfilt said DISC 05:47:48.183019 ====> Client disconnected 05:47:48.183102 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:48.573971 ====> Client connect 05:47:48.574295 Received DATA (on stdin) 05:47:48.574313 > 146 bytes data, server => client 05:47:48.574328 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:48.574339 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:48.574349 '220 \___|\___/|_| \_\_____|\r\n' 05:47:48.575587 < 16 bytes data, client => server 05:47:48.575606 'USER anonymous\r\n' 05:47:48.580767 Received DATA (on stdin) 05:47:48.580795 > 33 bytes data, server => client 05:47:48.580807 '331 We are happy you popped in!\r\n' 05:47:48.580898 < 22 bytes data, client => server 05:47:48.580913 'PASS ftp@example.com\r\n' 05:47:48.581121 Received DATA (on stdin) 05:47:48.581134 > 30 bytes data, server => client 05:47:48.581145 '230 Welcome you silly person\r\n' 05:47:48.581203 < 5 bytes data, client => server 05:47:48.581215 'PWD\r\n' 05:47:48.581340 Received DATA (on stdin) 05:47:48.581353 > 30 bytes data, server => client 05:47:48.581364 '257 "/" is current directory\r\n' 05:47:48.581432 < 6 bytes data, client => server 05:47:48.581446 'EPSV\r\n' 05:47:48.594851 Received DATA (on stdin) 05:47:48.594872 > 39 bytes data, server => client 05:47:48.594884 '229 Entering Passive Mode (|||35043|)\r\n' 05:47:48.595098 < 8 bytes data, client => server 05:47:48.595116 'TYPE I\r\n' 05:47:48.595373 Received DATA (on stdin) 05:47:48.595386 > 33 bytes data, server => client 05:47:48.595397 '200 I modify TYPE as you wanted\r\n' 05:47:48.595454 < 21 bytes data, client => server 05:47:48.595468 'SIZE verifiedserver\r\n' 05:47:48.595603 Received DATA (on stdin) 05:47:48.595616 > 8 bytes data, server => client 05:47:48.595626 '213 17\r\n' 05:47:48.595679 < 21 bytes data, client => server 05:47:48.595692 'RETR verifiedserver\r\n' 05:47:48.597106 Received DATA (on stdin) 05:47:48.597121 > 29 bytes data, server => client 05:47:48.597132 '150 Binary junk (17 bytes).\r\n' 05:47:48.598020 Received DATA (on stdin) 05:47:48.598033 > 28 bytes data, server => client 05:47:48.598044 '226 File transfer complete\r\n' 05:47:48.640873 < 6 bytes data, client => server 05:47:48.640904 'QUIT\r\n' 05:47:48.643127 Received DATA (on stdin) 05:47:48.643148 > 18 bytes data, server => client 05:47:48.643159 '221 bye bye baby\r\n' 05:47:48.644377 ====> Client disconnect 05:47:48.644563 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:48.583716 Running IPv4 version 05:47:48.583792 Listening on port 35043 05:47:48.583829 Wrote pid 146357 to log/20/server/ftp_sockdata.pid 05:47:48.593651 Received PING (on stdin) 05:47:48.594643 Received PORT (on stdin) 05:47:48.595139 ====> Client connect 05:47:48.597162 Received DATA (on stdin) 05:47:48.597176 > 17 bytes data, server => client 05:47:48.597187 'WE ROOLZ: 89997\r\n' 05:47:48.597215 Received DISC (on stdin) 05:47:48.597227 ====> Client forcibly disconnected 05:47:48.597676 Received QUIT (on stdin) 05:47:48.597694 quits 05:47:48.597762 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:47:47.492470 ====> Client connect 05:47:47.492509 accept_connection 3 returned 4 05:47:47.492526 accept_connection 3 returned 0 05:47:47.492542 Read 93 bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1249 ../src/curl -q --output log/5/curl1249.out --include --trace-ascii log/5/trace1249 --trace-time http://user:secret@127.0.0.1:35621/1249 --proxy http://dummy:47/ --max-time 5 > log/5/stdout1249 2> log/5/stderr1249 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1247 ../src/curl -q --output log/21/curl1247.out --include --trace-ascii log/21/trace1247 --trace-time --fail-early h1234://127.0.0.1:42891/1247 http://127.0.0.1:42891/1247 > log/21/stdout1247 2> log/21/stderr1247 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1251 ../src/curl -q --output log/23/curl1251.out --include --trace-ascii log/23/trace1251 --trace-time http://user:secret@127.0.0.1:33217/1251 --max-time 5 > log/23/stdout1251 2> log/23/stderr1251 ytes 05:47:47.492552 Process 93 bytes request 05:47:47.492565 Got request: GET /verifiedserver HTTP/1.1 05:47:47.492573 Are-we-friendly question received 05:47:47.492600 Wrote request (93 bytes) input to log/20/server.input 05:47:47.492619 Identifying ourselves as friends 05:47:47.492686 Response sent (56 bytes) and written to log/20/server.response 05:47:47.492698 special request received, no persistency 05:47:47.492706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 39238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1245 ==146445== ==146445== Process terminating with default action of signal 4 (SIGILL) ==146445== Illegal opcode at address 0x4014883 ==146445== at 0x4014883: getparameter (tool_getparam.c:2899) ==146445== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146445== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146445== by 0x4004208: main (tool_main.c:189) === End of file valgrind1245 setenv NO_PROXY = 127.0.0.1 test 1249...[Non-proxied plus --proxy option and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1249 ../src/curl -q --output log/5/curl1249.out --include --trace-ascii log/5/trace1249 --trace-time http://user:secret@127.0.0.1:35621/1249 --proxy http://dummy:47/ --max-time 5 > log/5/stdout1249 2> log/5/stderr1249 1249: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1249 ../src/curl -q --output log/5/curl1249.out --include --trace-ascii log/5/trace1249 --trace-time http://user:secret@127.0.0.1:35621/1249 --proxy http://dummy:47/ --max-time 5 > log/5/stdout1249 2> log/5/stderr1249 === End of file commands.log === Start of file http_server.log 05:47:48.607769 ====> Client connect 05:47:48.607809 accept_connection 3 returned 4 05:47:48.607828 accept_connection 3 returned 0 05:47:48.607844 Read 93 bytes 05:47:48.607856 Process 93 bytes request 05:47:48.607871 Got request: GET /verifiedserver HTTP/1.1 05:47:48.607881 Are-we-friendly question received 05:47:48.607910 Wrote request (93 bytes) input to log/5/server.input 05:47:48.607930 Identifying ourselves as friends 05:47:48.607992 Response sent (56 bytes) and written to log/5/server.response 05:47:48.608002 special request received, no persistency 05:47:48.608010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 55770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1249 ==146406== ==146406== Process terminating with default action of signal 4 (SIGILL) ==146406== Illegal opcode at address 0x4014883 ==146406== at 0x4014883: getparameter (tool_getparam.c:2899) ==146406== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146406== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146406== by 0x4004208: main (tool_main.c:189) === End of file valgrind1249 test 1247...[--fail-early] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1247 ../src/curl -q --output log/21/curl1247.out --include --trace-ascii log/21/trace1247 --trace-time --fail-early h1234://127.0.0.1:42891/1247 http://127.0.0.1:42891/1247 > log/21/stdout1247 2> log/21/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/21/ directory after test 1247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1247 ../src/curl -q --output log/21/curl1247.out --include --trace-ascii log/21/trace1247 --trace-time --fail-early h1234://127.0.0.1:42891/1247 http://127.0.0.1:42891/1247 > log/21/stdout1247 2> log/21/stderr1247 === End of file commands.log === Start of file http_server.log 05:47:47.556906 ====> Client connect 05:47:47.556944 accept_connection 3 returned 4 05:47:47.557154 accept_connection 3 returned 0 05:47:47.560467 Read 93 bytes 05:47:47.560483 Process 93 bytes request 05:47:47.560497 Got request: GET /verifiedserver HTTP/1.1 05:47:47.560506 Are-we-friendly question received 05:47:47.560536 Wrote request (93 bytes) input to log/21/server.input 05:47:47.560552 Identifying ourselves as friends 05:47:47.560604 Response sent (56 bytes) and written to log/21/server.response 05:47:47.560613 special request received, no persistency 05:47:47.560620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1247 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1247 ==146366== ==146366== Process terminating with default action of signal 4 (SIGILL) ==146366== Illegal opcode at address 0x4014883 ==146366== at 0x4014883: getparameter (tool_getparam.c:2899) ==146366== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146366== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146366== by 0x4004208: main (tool_main.c:189) === End of file valgrind1247 setenv http_proxy = http://dummy:45237/ setenv NO_PROXY = 127.0.0.1 test 1251...[Non-proxied host plus http_proxy env var and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1251 ../src/curl -q --output log/23/curl1251.out --include --trace-ascii log/23/trace1251 --trace-time http://user:secret@127.0.0.1:33217/1251 --max-time 5 > log/23/stdout1251 2> log/23/stderr1251 1251: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1256 ../src/curl -q --output log/17/curl1256.out --include --trace-ascii log/17/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/17/stdout1256 2> log/17/stderr1256 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1259 ../src/curl -q --output log/1/curl1259.out --include --trace-ascii log/1/trace1259 --trace-time "http://user:pass;word@127.0.0.1:38765/we/want/1259" > log/1/stdout1259 2> log/1/stderr1259 re? Returned: 132 == Contents of files in the log/23/ directory after test 1251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1251 ../src/curl -q --output log/23/curl1251.out --include --trace-ascii log/23/trace1251 --trace-time http://user:secret@127.0.0.1:33217/1251 --max-time 5 > log/23/stdout1251 2> log/23/stderr1251 === End of file commands.log === Start of file http_server.log 05:47:48.773321 ====> Client connect 05:47:48.773364 accept_connection 3 returned 4 05:47:48.773383 accept_connection 3 returned 0 05:47:48.773398 Read 93 bytes 05:47:48.773409 Process 93 bytes request 05:47:48.773425 Got request: GET /verifiedserver HTTP/1.1 05:47:48.773434 Are-we-friendly question received 05:47:48.773464 Wrote request (93 bytes) input to log/23/server.input 05:47:48.773483 Identifying ourselves as friends 05:47:48.773546 Response sent (56 bytes) and written to log/23/server.response 05:47:48.773558 special request received, no persistency 05:47:48.773567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 46830 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1251 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1251 ==146656== ==146656== Process terminating with default action of signal 4 (SIGILL) ==146656== Illegal opcode at address 0x4014883 ==146656== at 0x4014883: getparameter (tool_getparam.c:2899) ==146656== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146656== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146656== by 0x4004208: main (tool_main.c:189) === End of file valgrind1251 setenv http_proxy = http://127.0.0.1:41505 setenv NO_PROXY = example.com test 1256...[http_proxy, override NO_PROXY by --noproxy and target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1256 ../src/curl -q --output log/17/curl1256.out --include --trace-ascii log/17/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/17/stdout1256 2> log/17/stderr1256 1256: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1256 ../src/curl -q --output log/17/curl1256.out --include --trace-ascii log/17/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/17/stdout1256 2> log/17/stderr1256 === End of file commands.log === Start of file http_server.log 05:47:48.893978 ====> Client connect 05:47:48.894044 accept_connection 3 returned 4 05:47:48.894061 accept_connection 3 returned 0 05:47:48.894076 Read 93 bytes 05:47:48.894085 Process 93 bytes request 05:47:48.894098 Got request: GET /verifiedserver HTTP/1.1 05:47:48.894106 Are-we-friendly question received 05:47:48.894129 Wrote request (93 bytes) input to log/17/server.input 05:47:48.894145 Identifying ourselves as friends 05:47:48.894242 Response sent (56 bytes) and written to log/17/server.response 05:47:48.894252 special request received, no persistency 05:47:48.894261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 35324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 1256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind1256 ==146800== ==146800== Process terminating with default action of signal 4 (SIGILL) ==146800== Illegal opcode at address 0x4014883 ==146800== at 0x4014883: getparameter (tool_getparam.c:2899) ==146800== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146800== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146800== by 0x4004208: main (tool_main.c:189) === End of file valgrind1256 test 1259...[HTTP URL with semicolon in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1259 ../src/curl -q --output log/1/curl1259.out --include --trace-ascii log/1/trace1259 --trace-time "http://user:pass;word@127.0.0.1:38765/we/want/1259" > log/1/stdout1259 2> log/1/stderr1259 1259: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1259 ../src/curl -q --output log/1/curl1259.out --include --trace-ascii log/1/trace1259 --trace-time "http://user:pass;word@127.0.0.1:38765/we/want/1259" > log/1/stdout1259 2> log/1/stderr1259 === End of file commands.log === Start of file http_server.log 05:47:49.279581 ====> Client connect 05:47:49.279611 accept_connection 3 returned 4 05:47:49.279628 accept_connection 3 returned 0 05:47:49.279641 Read 93 bytes 05:47:49.279651 Process 93 bytes request 05:47:49.279663 Got request: GET /verifiedserver HTTP/1.1 05:47:49.279674 Are-we-friendly question received 05:47:49.279698 Wrote request (93 bytes) input to log/1/server.input 05:47:49.279715 Identifying ourselves as friends 05:47:49.279776 Response sent (56 bytes) and written to log/1/server.response 05:47:49.279787 special request received, no persistency 05:47:49.279796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 40858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1259 ==147224== ==147224== Process terminating with default action of signal 4 (SIGILL) ==147224== Illegal opcode at address 0x4014883 ==147224== at 0x4014883: getparameter (tool_getparam.c:2899) ==147224== by 0x4004208: UnknownInlinedFun (tool_getparam.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1254 ../src/curl -q --output log/3/curl1254.out --include --trace-ascii log/3/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:39591 --noproxy "" > log/3/stdout1254 2> log/3/stderr1254 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/3/stdout1275 2> log/3/stderr1275 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1250 ../src/curl -q --output log/18/curl1250.out --include --trace-ascii log/18/trace1250 --trace-time http://user:secret@127.0.0.1:39913/1250 --noproxy 127.0.0.1 --max-time 5 > log/18/stdout1250 2> log/18/stderr1250 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1242 ../src/curl -q --output log/11/curl1242.out --include --trace-ascii log/11/trace1242 --trace-time tftp://127.0.0.1:35003//1242 --tftp-no-options > log/11/stdout1242 2> log/11/stderr1242 c:3082) ==147224== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147224== by 0x4004208: main (tool_main.c:189) === End of file valgrind1259 setenv NO_PROXY = example.com test 1254...[override NO_PROXY by --noproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1254 ../src/curl -q --output log/3/curl1254.out --include --trace-ascii log/3/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:39591 --noproxy "" > log/3/stdout1254 2> log/3/stderr1254 1254: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1254 ../src/curl -q --output log/3/curl1254.out --include --trace-ascii log/3/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:39591 --noproxy "" > log/3/stdout1254 2> log/3/stderr1254 === End of file commands.log === Start of file http_server.log 05:47:48.903734 ====> Client connect 05:47:48.903784 accept_connection 3 returned 4 05:47:48.903804 accept_connection 3 returned 0 05:47:48.903820 Read 93 bytes 05:47:48.903829 Process 93 bytes request 05:47:48.903843 Got request: GET /verifiedserver HTTP/1.1 05:47:48.903853 Are-we-friendly question received 05:47:48.903881 Wrote request (93 bytes) input to log/3/server.input 05:47:48.903900 Identifying ourselves as friends 05:47:48.903987 Response sent (56 bytes) and written to log/3/server.response 05:47:48.903999 special request received, no persistency 05:47:48.904007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 57972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1254 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1254 ==146869== ==146869== Process terminating with default action of signal 4 (SIGILL) ==146869== Illegal opcode at address 0x4014883 ==146869== at 0x4014883: getparameter (tool_getparam.c:2899) ==146869== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146869== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146869== by 0x4004208: main (tool_main.c:189) === End of file valgrind1254 test 1275...[Verify capital letters after period in markdown files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/3/stdout1275 2> log/3/stderr1275 valgrind SKIPPED -------e--- OK (1214 out of 1773, remaining: 01:08, took 0.048s, duration: 02:29) setenv http_proxy = http://dummy:[not running]/ test 1250...[Non-proxied host plus http_proxy env var and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1250 ../src/curl -q --output log/18/curl1250.out --include --trace-ascii log/18/trace1250 --trace-time http://user:secret@127.0.0.1:39913/1250 --noproxy 127.0.0.1 --max-time 5 > log/18/stdout1250 2> log/18/stderr1250 1250: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1250 ../src/curl -q --output log/18/curl1250.out --include --trace-ascii log/18/trace1250 --trace-time http://user:secret@127.0.0.1:39913/1250 --noproxy 127.0.0.1 --max-time 5 > log/18/stdout1250 2> log/18/stderr1250 === End of file commands.log === Start of file http_server.log 05:47:47.617905 ====> Client connect 05:47:47.617941 accept_connection 3 returned 4 05:47:47.617959 accept_connection 3 returned 0 05:47:47.617974 Read 93 bytes 05:47:47.617985 Process 93 bytes request 05:47:47.617999 Got request: GET /verifiedserver HTTP/1.1 05:47:47.618009 Are-we-friendly question received 05:47:47.618038 Wrote request (93 bytes) input to log/18/server.input 05:47:47.618058 Identifying ourselves as friends 05:47:47.618120 Response sent (56 bytes) and written to log/18/server.response 05:47:47.618132 special request received, no persistency 05:47:47.618142 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 56834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1250 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1250 ==146413== ==146413== Process terminating with default action of signal 4 (SIGILL) ==146413== Illegal opcode at address 0x4014883 ==146413== at 0x4014883: getparameter (tool_getparam.c:2899) ==146413== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146413== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146413== by 0x4004208: main (tool_main.c:189) === End of file valgrind1250 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/11/server/tftp_server.pid" --portfile "log/11/server/tftp_server.port" --logfile "log/11/tftp_server.log" --logdir "log/11" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 146082 port 35003 * pid tftp => 146082 146082 test 1242...[TFTP retrieve without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1242 ../src/curl -q --output log/11/curl1242.out --include --trace-ascii log/11/trace1242 --trace-time tftp://127.0.0.1:35003//1242 --tftp-no-options > log/11/stdout1242 2> log/11/stderr1242 1242: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1242 ../src/curl -q --output log/11/curl1242.out --include --trace-ascii log/11/trace1242 --trace-time tftp://127.0.0.1:35003//1242 --tftp-no-options > log/11/stdout1242 2> log/11/stderr1242 === End of file commands.log === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 05:47:47.024257 Wrote pid 146082 to log/11/server/tftp_server.pid 05:47:47.024326 Wrote port 35003 to log/11/seCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/3/stdout1276 2> log/3/stderr1276 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/3/stdout1279 2> log/3/stderr1279 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1253 ../src/curl -q --output log/2/curl1253.out --include --trace-ascii log/2/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:41799 --noproxy 127.0.0.1 > log/2/stdout1253 2> log/2/stderr1253 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1252 ../src/curl -q --output log/14/curl1252.out --include --trace-ascii log/14/trace1252 --trace-time http://127.0.0.1:35549/1252 --proxy http://127.0.0.1:35549 --noproxy 127.0.0.1 > log/14/stdout1252 2> log/14/stderr1252 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1255 ../src/curl -q --output log/16/curl1255.out --include --trace-ascii log/16/trace1255 --trace-time http://127.0.0.1:44673/1255 --noproxy 127.0.0.1 > log/16/stdout1255 2> log/16/stderr1255 rver/tftp_server.port 05:47:47.024339 Running IPv4 version on port UDP/35003 === End of file tftp_server.log === Start of file valgrind1242 ==146946== ==146946== Process terminating with default action of signal 4 (SIGILL) ==146946== Illegal opcode at address 0x4014883 ==146946== at 0x4014883: getparameter (tool_getparam.c:2899) ==146946== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146946== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146946== by 0x4004208: main (tool_main.c:189) === End of file valgrind1242 test 1276...[Verify lib/optiontable.pl] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/3/stdout1276 2> log/3/stderr1276 valgrind SKIPPED -------e--- OK (1215 out of 1773, remaining: 01:08, took 0.065s, duration: 02:29) test 1279...[Verify libcurl.def against CURL_EXTERN declarations] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/3/stdout1279 2> log/3/stderr1279 valgrind SKIPPED s------e--- OK (1218 out of 1773, remaining: 01:08, took 0.052s, duration: 02:29) setenv NO_PROXY = example.com test 1253...[--proxy, override NO_PROXY by --noproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1253 ../src/curl -q --output log/2/curl1253.out --include --trace-ascii log/2/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:41799 --noproxy 127.0.0.1 > log/2/stdout1253 2> log/2/stderr1253 1253: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1253 ../src/curl -q --output log/2/curl1253.out --include --trace-ascii log/2/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:41799 --noproxy 127.0.0.1 > log/2/stdout1253 2> log/2/stderr1253 === End of file commands.log === Start of file http_server.log 05:47:48.796642 ====> Client connect 05:47:48.796697 accept_connection 3 returned 4 05:47:48.796718 accept_connection 3 returned 0 05:47:48.796738 Read 93 bytes 05:47:48.796748 Process 93 bytes request 05:47:48.796762 Got request: GET /verifiedserver HTTP/1.1 05:47:48.796772 Are-we-friendly question received 05:47:48.796813 Wrote request (93 bytes) input to log/2/server.input 05:47:48.796839 Identifying ourselves as friends 05:47:48.796938 Response sent (56 bytes) and written to log/2/server.response 05:47:48.796951 special request received, no persistency 05:47:48.796971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1253 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1253 ==146674== ==146674== Process terminating with default action of signal 4 (SIGILL) ==146674== Illegal opcode at address 0x4014883 ==146674== at 0x4014883: getparameter (tool_getparam.c:2899) ==146674== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146674== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146674== by 0x4004208: main (tool_main.c:189) === End of file valgrind1253 setenv NO_PROXY = example.com test 1252...[--proxy, override NO_PROXY by --noproxy and access target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1252 ../src/curl -q --output log/14/curl1252.out --include --trace-ascii log/14/trace1252 --trace-time http://127.0.0.1:35549/1252 --proxy http://127.0.0.1:35549 --noproxy 127.0.0.1 > log/14/stdout1252 2> log/14/stderr1252 1252: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1252 ../src/curl -q --output log/14/curl1252.out --include --trace-ascii log/14/trace1252 --trace-time http://127.0.0.1:35549/1252 --proxy http://127.0.0.1:35549 --noproxy 127.0.0.1 > log/14/stdout1252 2> log/14/stderr1252 === End of file commands.log === Start of file http_server.log 05:47:48.812676 ====> Client connect 05:47:48.812706 accept_connection 3 returned 4 05:47:48.812721 accept_connection 3 returned 0 05:47:48.812733 Read 93 bytes 05:47:48.812742 Process 93 bytes request 05:47:48.812759 Got request: GET /verifiedserver HTTP/1.1 05:47:48.812768 Are-we-friendly question received 05:47:48.812789 Wrote request (93 bytes) input to log/14/server.input 05:47:48.812805 Identifying ourselves as friends 05:47:48.812860 Response sent (56 bytes) and written to log/14/server.response 05:47:48.812869 special request received, no persistency 05:47:48.812877 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 35740 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1252 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1252 ==146762== ==146762== Process terminating with default action of signal 4 (SIGILL) ==146762== Illegal opcode at address 0x4014883 ==146762== at 0x4014883: getparameter (tool_getparam.c:2899) ==146762== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146762== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146762== by 0x4004208: main (tool_main.c:189) === End of file valgrind1252 setenv http_proxy = http://127.0.0.1:44673 setenv NO_PROXY = example.com test 1255...[http_proxy, override NO_PROXY by --noproxy and access target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1255 ../src/curl -q --output log/16/curl1255.out --include --trace-ascii log/16/trace1255 --trace-time http://127.0.0.1:44673/1255 --noproxy 127.0.0.1 > log/16/stdout1255 2> log/16/stderr1255 1255: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1262 ../src/curl -q --output log/12/curl1262.out --include --trace-ascii log/12/trace1262 --trace-time ftp://127.0.0.1:33915/blalbla/1262 -z "-1 jan 2001" > log/12/stdout1262 2> log/12/stderr1262 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1260 ../src/curl -q --output log/19/curl1260.out --include --trace-ascii log/19/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/19/stdout1260 2> log/19/stderr1260 ind.supp --num-callers=16 --log-file=log/16/valgrind1255 ../src/curl -q --output log/16/curl1255.out --include --trace-ascii log/16/trace1255 --trace-time http://127.0.0.1:44673/1255 --noproxy 127.0.0.1 > log/16/stdout1255 2> log/16/stderr1255 === End of file commands.log === Start of file http_server.log 05:47:48.891488 ====> Client connect 05:47:48.891525 accept_connection 3 returned 4 05:47:48.891542 accept_connection 3 returned 0 05:47:48.891557 Read 93 bytes 05:47:48.891567 Process 93 bytes request 05:47:48.891580 Got request: GET /verifiedserver HTTP/1.1 05:47:48.891590 Are-we-friendly question received 05:47:48.891617 Wrote request (93 bytes) input to log/16/server.input 05:47:48.891635 Identifying ourselves as friends 05:47:48.891698 Response sent (56 bytes) and written to log/16/server.response 05:47:48.891710 special request received, no persistency 05:47:48.891720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 43732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1255 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1255 ==146827== ==146827== Process terminating with default action of signal 4 (SIGILL) ==146827== Illegal opcode at address 0x4014883 ==146827== at 0x4014883: getparameter (tool_getparam.c:2899) ==146827== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==146827== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==146827== by 0x4004208: main (tool_main.c:189) === End of file valgrind1255 test 1262...[FTP request and denied to download an older file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1262 ../src/curl -q --output log/12/curl1262.out --include --trace-ascii log/12/trace1262 --trace-time ftp://127.0.0.1:33915/blalbla/1262 -z "-1 jan 2001" > log/12/stdout1262 2> log/12/stderr1262 1262: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1262 ../src/curl -q --output log/12/curl1262.out --include --trace-ascii log/12/trace1262 --trace-time ftp://127.0.0.1:33915/blalbla/1262 -z "-1 jan 2001" > log/12/stdout1262 2> log/12/stderr1262 === End of file commands.log === Start of file ftp_server.log 05:47:49.356139 ====> Client connect 05:47:49.356375 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:49.356649 < "USER anonymous" 05:47:49.356690 > "331 We are happy you popped in![CR][LF]" 05:47:49.356863 < "PASS ftp@example.com" 05:47:49.356894 > "230 Welcome you silly person[CR][LF]" 05:47:49.357056 < "PWD" 05:47:49.357090 > "257 "/" is current directory[CR][LF]" 05:47:49.357276 < "EPSV" 05:47:49.357307 ====> Passive DATA channel requested by client 05:47:49.357324 DATA sockfilt for passive data channel starting... 05:47:49.359371 DATA sockfilt for passive data channel started (pid 147481) 05:47:49.359478 DATA sockfilt for passive data channel listens on port 44509 05:47:49.359522 > "229 Entering Passive Mode (|||44509|)[CR][LF]" 05:47:49.359539 Client has been notified that DATA conn will be accepted on port 44509 05:47:49.359748 Client connects to port 44509 05:47:49.359779 ====> Client established passive DATA connection on port 44509 05:47:49.359895 < "TYPE I" 05:47:49.362316 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:49.362589 < "SIZE verifiedserver" 05:47:49.362639 > "213 17[CR][LF]" 05:47:49.363093 < "RETR verifiedserver" 05:47:49.363139 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:49.363248 =====> Closing passive DATA connection... 05:47:49.363267 Server disconnects passive DATA connection 05:47:49.363552 Server disconnected passive DATA connection 05:47:49.363584 DATA sockfilt for passive data channel quits (pid 147481) 05:47:49.363886 DATA sockfilt for passive data channel quit (pid 147481) 05:47:49.363916 =====> Closed passive DATA connection 05:47:49.363948 > "226 File transfer complete[CR][LF]" 05:47:49.409284 < "QUIT" 05:47:49.409349 > "221 bye bye baby[CR][LF]" 05:47:49.416031 MAIN sockfilt said DISC 05:47:49.416094 ====> Client disconnected 05:47:49.416197 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:49.817462 ====> Client connect 05:47:49.817755 Received DATA (on stdin) 05:47:49.817776 > 146 bytes data, server => client 05:47:49.817845 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:49.817858 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:49.817868 '220 \___|\___/|_| \_\_____|\r\n' 05:47:49.817948 < 16 bytes data, client => server 05:47:49.817963 'USER anonymous\r\n' 05:47:49.818151 Received DATA (on stdin) 05:47:49.818163 > 33 bytes data, server => client 05:47:49.818173 '331 We are happy you popped in!\r\n' 05:47:49.818225 < 22 bytes data, client => server 05:47:49.818237 'PASS ftp@example.com\r\n' 05:47:49.818348 Received DATA (on stdin) 05:47:49.818359 > 30 bytes data, server => client 05:47:49.818369 '230 Welcome you silly person\r\n' 05:47:49.818419 < 5 bytes data, client => server 05:47:49.818430 'PWD\r\n' 05:47:49.818549 Received DATA (on stdin) 05:47:49.818562 > 30 bytes data, server => client 05:47:49.818573 '257 "/" is current directory\r\n' 05:47:49.818637 < 6 bytes data, client => server 05:47:49.818650 'EPSV\r\n' 05:47:49.820998 Received DATA (on stdin) 05:47:49.821010 > 39 bytes data, server => client 05:47:49.821020 '229 Entering Passive Mode (|||44509|)\r\n' 05:47:49.821250 < 8 bytes data, client => server 05:47:49.821261 'TYPE I\r\n' 05:47:49.823662 Received DATA (on stdin) 05:47:49.823703 > 33 bytes data, server => client 05:47:49.823808 '200 I modify TYPE as you wanted\r\n' 05:47:49.823910 < 21 bytes data, client => server 05:47:49.823923 'SIZE verifiedserver\r\n' 05:47:49.824095 Received DATA (on stdin) 05:47:49.824107 > 8 bytes data, server => client 05:47:49.824117 '213 17\r\n' 05:47:49.824173 < 21 bytes data, client => server 05:47:49.824187 'RETR verifiedserver\r\n' 05:47:49.824730 Received DATA (on stdin) 05:47:49.824744 > 29 bytes data, server => client 05:47:49.824755 '150 Binary junk (17 bytes).\r\n' 05:47:49.825405 Received DATA (on stdin) 05:47:49.825417 > 28 bytes data, server => client 05:47:49.825427 '226 File transfer complete\r\n' 05:47:49.870490 < 6 bytes data, client => server 05:47:49.870557 'QUIT\r\n' 05:47:49.870816 Received DATA (on stdin) 05:47:49.870830 > 18 bytes data, server => client 05:47:49.870841 '221 bye bye baby\r\n' 05:47:49.877007 ====> Client disconnect 05:47:49.877667 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:49.820518 Running IPv4 version 05:47:49.820595 Listening on port 44509 05:47:49.820634 Wrote pid 147481 to log/12/server/ftp_sockdata.pid 05:47:49.820768 Received PING (on stdin) 05:47:49.820848 Received PORT (on stdin) 05:47:49.821149 ====> Client connect 05:47:49.824790 Received DATA (on stdin) 05:47:49.824809 > 17 bytes data, server => client 05:47:49.824820 'WE ROOLZ: 81072\rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-time http://127.0.0.1:45623/we/want/1258 http://127.0.0.1:45623/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1243 ../src/curl -q --output log/10/curl1243.out --include --trace-ascii log/10/trace1243 --trace-time -T log/10/test1243.txt tftp://127.0.0.1:48519// --tftp-no-options > log/10/stdout1243 2> log/10/stderr1243 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1257 ../src/curl -q --output log/22/curl1257.out --include --trace-ascii log/22/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/22/stdout1257 2> log/22/stderr1257 \n' 05:47:49.824851 Received DISC (on stdin) 05:47:49.824866 ====> Client forcibly disconnected 05:47:49.825050 Received QUIT (on stdin) 05:47:49.825062 quits 05:47:49.825137 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==147499== ==147499== Process terminating with default action of signal 4 (SIGILL) ==147499== Illegal opcode at address 0x4014883 ==147499== at 0x4014883: getparameter (tool_getparam.c:2899) ==147499== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147499== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147499== by 0x4004208: main (tool_main.c:189) === End of file valgrind1262 test 1260...[HTTP URL with rubbish after port number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1260 ../src/curl -q --output log/19/curl1260.out --include --trace-ascii log/19/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/19/stdout1260 2> log/19/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/19/ directory after test 1260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1260 ../src/curl -q --output log/19/curl1260.out --include --trace-ascii log/19/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/19/stdout1260 2> log/19/stderr1260 === End of file commands.log === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==147179== ==147179== Process terminating with default action of signal 4 (SIGILL) ==147179== Illegal opcode at address 0x4014883 ==147179== at 0x4014883: getparameter (tool_getparam.c:2899) ==147179== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147179== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147179== by 0x4004208: main (tool_main.c:189) === End of file valgrind1260 test 1258...[HTTP, use cookies with localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-time http://127.0.0.1:45623/we/want/1258 http://127.0.0.1:45623/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 1258: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-time http://127.0.0.1:45623/we/want/1258 http://127.0.0.1:45623/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 === End of file commands.log === Start of file http_server.log 05:47:48.277049 ====> Client connect 05:47:48.277091 accept_connection 3 returned 4 05:47:48.277113 accept_connection 3 returned 0 05:47:48.277130 Read 93 bytes 05:47:48.277141 Process 93 bytes request 05:47:48.277156 Got request: GET /verifiedserver HTTP/1.1 05:47:48.277166 Are-we-friendly question received 05:47:48.277196 Wrote request (93 bytes) input to log/8/server.input 05:47:48.277217 Identifying ourselves as friends 05:47:48.277289 Response sent (56 bytes) and written to log/8/server.response 05:47:48.277302 special request received, no persistency 05:47:48.277311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 36744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1258 ==147203== ==147203== Process terminating with default action of signal 4 (SIGILL) ==147203== Illegal opcode at address 0x4014883 ==147203== at 0x4014883: getparameter (tool_getparam.c:2899) ==147203== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147203== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147203== by 0x4004208: main (tool_main.c:189) === End of file valgrind1258 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/10/server/tftp_server.pid" --portfile "log/10/server/tftp_server.port" --logfile "log/10/tftp_server.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 146117 port 48519 * pid tftp => 146117 146117 test 1243...[TFTP send without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1243 ../src/curl -q --output log/10/curl1243.out --include --trace-ascii log/10/trace1243 --trace-time -T log/10/test1243.txt tftp://127.0.0.1:48519// --tftp-no-options > log/10/stdout1243 2> log/10/stderr1243 1243: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1243 ../src/curl -q --output log/10/curl1243.out --include --trace-ascii log/10/trace1243 --trace-time -T log/10/test1243.txt tftp://127.0.0.1:48519// --tftp-no-options > log/10/stdout1243 2> log/10/stderr1243 === End of file commands.log === Start of file server.cmd Testnum 1243 === End of file server.cmd === Start of file test1243.txt a chunk of data sent to server === End of file test1243.txt === Start of file tftp_server.log 05:47:47.086924 Wrote pid 146117 to log/10/server/tftp_server.pid 05:47:47.088450 Wrote port 48519 to log/10/server/tftp_server.port 05:47:47.088466 Running IPv4 version on port UDP/48519 === End of file tftp_server.log === Start of file valgrind1243 ==147056== ==147056== Process terminating with default action of signal 4 (SIGILL) ==147056== Illegal opcode at address 0x4014883 ==147056== at 0x4014883: getparameter (tool_getparam.c:2899) ==147056== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147056== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147056== by 0x4004208: main (tool_main.c:189) === End of file valgrind1243 setenv http_proxy = http://127.0.0.1:41477 setenv NO_PROXY = example.com test 1257...[http_proxy, override NO_PROXY by --noproxy and target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1257 ../src/curl -q --output log/22/curl1257.out --include --trace-asciCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1261 ../src/curl -q --include --trace-ascii log/4/trace1261 --trace-time http://127.0.0.1:40253/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/4/stdout1261 2> log/4/stderr1261 i log/22/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/22/stdout1257 2> log/22/stderr1257 1257: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1257 ../src/curl -q --output log/22/curl1257.out --include --trace-ascii log/22/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/22/stdout1257 2> log/22/stderr1257 === End of file commands.log === Start of file http_server.log 05:47:49.200366 ====> Client connect 05:47:49.200403 accept_connection 3 returned 4 05:47:49.200421 accept_connection 3 returned 0 05:47:49.200437 Read 93 bytes 05:47:49.200447 Process 93 bytes request 05:47:49.200461 Got request: GET /verifiedserver HTTP/1.1 05:47:49.200471 Are-we-friendly question received 05:47:49.200503 Wrote request (93 bytes) input to log/22/server.input 05:47:49.200521 Identifying ourselves as friends 05:47:49.200590 Response sent (56 bytes) and written to log/22/server.response 05:47:49.200601 special request received, no persistency 05:47:49.200610 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 40442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1257 ==147134== ==147134== Process terminating with default action of signal 4 (SIGILL) ==147134== Illegal opcode at address 0x4014883 ==147134== at 0x4014883: getparameter (tool_getparam.c:2899) ==147134== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147134== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147134== by 0x4004208: main (tool_main.c:189) === End of file valgrind1257 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1263 ../src/curl -q --output log/24/curl1263.out --include --trace-ascii log/24/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/24/stdout1263 2> log/24/stderr1263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1264 ../src/curl -q --output log/7/curl1264.out --include --trace-ascii log/7/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/7/stdout1264 2> log/7/stderr1264 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:36581/1265 > log/9/stdout1265 2> log/9/stderr1265 test 1261...['redirect_url' with --location and --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1261 ../src/curl -q --include --trace-ascii log/4/trace1261 --trace-time http://127.0.0.1:40253/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/4/stdout1261 2> log/4/stderr1261 1261: stdout FAILED: --- log/4/check-expected 2026-03-14 05:47:51.514615987 +0000 +++ log/4/check-generated 2026-03-14 05:47:51.514615987 +0000 @@ -1,6 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -http://127.0.0.1:40253/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/4/ directory after test 1261 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] http://127.0.0.1:40253/we/want/our/data/10290002.txt?coolsite=yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1261 ../src/curl -q --include --trace-ascii log/4/trace1261 --trace-time http://127.0.0.1:40253/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/4/stdout1261 2> log/4/stderr1261 === End of file commands.log === Start of file http_server.log 05:47:48.480587 ====> Client connect 05:47:48.480625 accept_connection 3 returned 4 05:47:48.480645 accept_connection 3 returned 0 05:47:48.480659 Read 93 bytes 05:47:48.480669 Process 93 bytes request 05:47:48.480683 Got request: GET /verifiedserver HTTP/1.1 05:47:48.480692 Are-we-friendly question received 05:47:48.480715 Wrote request (93 bytes) input to log/4/server.input 05:47:48.480731 Identifying ourselves as friends 05:47:48.480786 Response sent (56 bytes) and written to log/4/server.response 05:47:48.480795 special request received, no persistency 05:47:48.480804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1261 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1261 ==147401== ==147401== Process terminating with default action of signal 4 (SIGILL) ==147401== Illegal opcode at address 0x4014883 ==147401== at 0x4014883: getparameter (tool_getparam.c:2899) ==147401== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147401== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147401== by 0x4004208: main (tool_main.c:189) === End of file valgrind1261 test 1263...[HTTP URL with rubbish after IPv6 bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1263 ../src/curl -q --output log/24/curl1263.out --include --trace-ascii log/24/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/24/stdout1263 2> log/24/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/24/ directory after test 1263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1263 ../src/curl -q --output log/24/curl1263.out --include --trace-ascii log/24/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/24/stdout1263 2> log/24/stderr1263 === End of file commands.log === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==147489== ==147489== Process terminating with default action of signal 4 (SIGILL) ==147489== Illegal opcode at address 0x4014883 ==147489== at 0x4014883: getparameter (tool_getparam.c:2899) ==147489== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147489== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147489== by 0x4004208: main (tool_main.c:189) === End of file valgrind1263 test 1264...[HTTP URL with space in hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1264 ../src/curl -q --output log/7/curl1264.out --include --trace-ascii log/7/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/7/stdout1264 2> log/7/stderr1264 curl returned 132, when expecting 3 1264: exit FAILED == Contents of files in the log/7/ directory after test 1264 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1264 ../src/curl -q --output log/7/curl1264.out --include --trace-ascii log/7/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/7/stdout1264 2> log/7/stderr1264 === End of file commands.log === Start of file server.cmd Testnum 1264 === End of file server.cmd === Start of file valgrind1264 ==147505== ==147505== Process terminating with default action of signal 4 (SIGILL) ==147505== Illegal opcode at address 0x4014883 ==147505== at 0x4014883: getparameter (tool_getparam.c:2899) ==147505== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147505== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147505== by 0x4004208: main (tool_main.c:189) === End of file valgrind1264 setenv http_proxy = http://127.0.0.1:33885 setenv NO_PROXY = ::1 test 1265...[NO_PROXY with IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:36581/1265 > log/9/stdout1265 2> log/9/stderr1265 1265: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1265 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:36581/1265 > log/9/stdout1265 2> log/9/stderr1265 === End of file commands.log === Start of file http_ipv6_server.log 05:47:49.465260 ====> Client connect 05:47:49.465289 accept_connection 3 returned 4 05:47:49.465303 accept_connection 3 returned 0 05:47:49.465315 Read 89 bytes 05:47:49.465323 Process 89 bytes request 05:47:49.465353 Got request: GET /verifiedserver HTTP/1.1 05:47:49.465361 Are-we-friendly question received 05:47:49.465381 Wrote request (89 bytes) input to log/9/server.input 05:47:49.465397 IdentifyiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1268 ../src/curl -q --output log/20/curl1268.out --include --trace-ascii log/20/trace1268 --trace-time --stderr log/20/moo1268 --unix-socket -q hej://moo > log/20/stdout1268 2> log/20/stderr1268 ng ourselves as friends 05:47:49.465447 Response sent (56 bytes) and written to log/9/server.response 05:47:49.465459 special request received, no persistency 05:47:49.465467 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:36581... * Established connection to ::1 (::1 port 36581) from ::1 port 55390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:36581 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1:36581 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 90160 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1265 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 90160 === End of file server.response === Start of file valgrind1265 ==147684== ==147684== Process terminating with default action of signal 4 (SIGILL) ==147684== Illegal opcode at address 0x4014883 ==147684== at 0x4014883: getparameter (tool_getparam.c:2899) ==147684== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147684== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147684== by 0x4004208: main (tool_main.c:189) === End of file valgrind1265 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1266 ../src/curl -q --output log/13/curl1266.out --include --trace-ascii log/13/trace1266 --trace-time http://127.0.0.1:45359/1266 --http0.9 > log/13/stdout1266 2> log/13/stderr1266 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1270 ../src/curl -q --include --trace-ascii log/21/trace1270 --trace-time http://127.0.0.1:42891/we/want/our/1270 -w '%{redirect_url}\n' -s > log/21/stdout1270 2> log/21/stderr1270 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1269 ../src/curl -q --output log/5/curl1269.out --include --trace-ascii log/5/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/5/stdout1269 2> log/5/stderr1269 test 1268...[filename argument looks like a flag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1268 ../src/curl -q --output log/20/curl1268.out --include --trace-ascii log/20/trace1268 --trace-time --stderr log/20/moo1268 --unix-socket -q hej://moo > log/20/stdout1268 2> log/20/stderr1268 1268: output (log/20/moo1268) FAILED: --- log/20/check-expected 2026-03-14 05:47:52.391282654 +0000 +++ log/20/check-generated 2026-03-14 05:47:52.391282654 +0000 @@ -1,2 +0,0 @@ -Warning: The filename argument '-q' looks like a flag.[CR][LF] -curl: (1) Protocol "hej" not supported[CR][LF] == Contents of files in the log/20/ directory after test 1268 === Start of file check-expected Warning: The filename argument '-q' looks like a flag.[CR][LF] curl: (1) Protocol "hej" not supported[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1268 ../src/curl -q --output log/20/curl1268.out --include --trace-ascii log/20/trace1268 --trace-time --stderr log/20/moo1268 --unix-socket -q hej://moo > log/20/stdout1268 2> log/20/stderr1268 === End of file commands.log === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==147822== ==147822== Process terminating with default action of signal 4 (SIGILL) ==147822== Illegal opcode at address 0x4014883 ==147822== at 0x4014883: getparameter (tool_getparam.c:2899) ==147822== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147822== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147822== by 0x4004208: main (tool_main.c:189) === End of file valgrind1268 test 1266...[HTTP GET with a single-byte HTTP/0.9 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1266 ../src/curl -q --output log/13/curl1266.out --include --trace-ascii log/13/trace1266 --trace-time http://127.0.0.1:45359/1266 --http0.9 > log/13/stdout1266 2> log/13/stderr1266 1266: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1266 ../src/curl -q --output log/13/curl1266.out --include --trace-ascii log/13/trace1266 --trace-time http://127.0.0.1:45359/1266 --http0.9 > log/13/stdout1266 2> log/13/stderr1266 === End of file commands.log === Start of file http_server.log 05:47:50.572202 ====> Client connect 05:47:50.572249 accept_connection 3 returned 4 05:47:50.572270 accept_connection 3 returned 0 05:47:50.572287 Read 93 bytes 05:47:50.572297 Process 93 bytes request 05:47:50.572311 Got request: GET /verifiedserver HTTP/1.1 05:47:50.572320 Are-we-friendly question received 05:47:50.572346 Wrote request (93 bytes) input to log/13/server.input 05:47:50.572363 Identifying ourselves as friends 05:47:50.572445 Response sent (56 bytes) and written to log/13/server.response 05:47:50.572456 special request received, no persistency 05:47:50.572465 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 38702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1266 ==147756== ==147756== Process terminating with default action of signal 4 (SIGILL) ==147756== Illegal opcode at address 0x4014883 ==147756== at 0x4014883: getparameter (tool_getparam.c:2899) ==147756== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147756== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147756== by 0x4004208: main (tool_main.c:189) === End of file valgrind1266 test 1269...[too large --retry-delay value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1269 ../src/curl -q --output log/5/curl1269.out --include --trace-ascii log/5/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/5/stdout1269 2> log/5/stderr1269 curl returned 132, when expecting 2 1269: exit FAILED == Contents of files in the log/5/ directory after test 1269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1269 ../src/curl -q --output log/5/curl1269.out --include --trace-ascii log/5/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/5/stdout1269 2> log/5/stderr1269 === End of file commands.log === Start of file server.cmd Testnum 1269 === End of file server.cmd === Start of file valgrind1269 ==147929== ==147929== Process terminating with default action of signal 4 (SIGILL) ==147929== Illegal opcode at address 0x4014883 ==147929== at 0x4014883: getparameter (tool_getparam.c:2899) ==147929== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147929== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147929== by 0x4004208: main (tool_main.c:189) === End of file valgrind1269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1271 ../src/curl -q --output log/23/curl1271.out --include --trace-ascii log/23/trace1271 --trace-time http://127.0.0.1:33217/we/want/our/1271 -w @log/23/blank1271 > log/23/stdout1271 2> log/23/stderr1271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1273 ../src/curl -q --output log/17/curl1273.out --include --trace-ascii log/17/trace1273 --trace-time http://127.0.0.1:41505/1273 -C - -f > log/17/stdout1273 2> log/17/stderr1273 RUN: Process with pid 74789 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1278 ../src/curl -q --include --trace-ascii log/11/trace1278 --trace-time http://127.0.0.1:34551/1278 --no-progress-meter -o log/11/out1278 --no-remote-name -w '%{stderr}yes\n' > log/11/stdout1278 2> log/11/stderr1278 test 1270...[Basic 'redirect_url'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1270 ../src/curl -q --include --trace-ascii log/21/trace1270 --trace-time http://127.0.0.1:42891/we/want/our/1270 -w '%{redirect_url}\n' -s > log/21/stdout1270 2> log/21/stderr1270 1270: stdout FAILED: --- log/21/check-expected 2026-03-14 05:47:52.894615987 +0000 +++ log/21/check-generated 2026-03-14 05:47:52.894615987 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 Captive Portal[CR][LF] -Server: ohlala/2000[CR][LF] -Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] -Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] -Location: https://moo.moo.moo[CR][LF] -Content-Type: text/html; charset=utf-8[CR][LF] -X-Frame-Options: SAMEORIGIN[CR][LF] -Strict-Transport-Security: max-age=604800[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -https://moo.moo.moo/[LF] == Contents of files in the log/21/ directory after test 1270 === Start of file check-expected HTTP/1.1 302 Captive Portal[CR][LF] Server: ohlala/2000[CR][LF] Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] Location: https://moo.moo.moo[CR][LF] Content-Type: text/html; charset=utf-8[CR][LF] X-Frame-Options: SAMEORIGIN[CR][LF] Strict-Transport-Security: max-age=604800[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] https://moo.moo.moo/[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1270 ../src/curl -q --include --trace-ascii log/21/trace1270 --trace-time http://127.0.0.1:42891/we/want/our/1270 -w '%{redirect_url}\n' -s > log/21/stdout1270 2> log/21/stderr1270 === End of file commands.log === Start of file http_server.log 05:47:50.020162 ====> Client connect 05:47:50.020210 accept_connection 3 returned 4 05:47:50.020230 accept_connection 3 returned 0 05:47:50.020247 Read 93 bytes 05:47:50.020257 Process 93 bytes request 05:47:50.020272 Got request: GET /verifiedserver HTTP/1.1 05:47:50.020282 Are-we-friendly question received 05:47:50.020328 Wrote request (93 bytes) input to log/21/server.input 05:47:50.020345 Identifying ourselves as friends 05:47:50.020422 Response sent (56 bytes) and written to log/21/server.response 05:47:50.020434 special request received, no persistency 05:47:50.020443 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1270 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1270 ==147980== ==147980== Process terminating with default action of signal 4 (SIGILL) ==147980== Illegal opcode at address 0x4014883 ==147980== at 0x4014883: getparameter (tool_getparam.c:2899) ==147980== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147980== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147980== by 0x4004208: main (tool_main.c:189) === End of file valgrind1270 test 1271...[--write-out from file with empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1271 ../src/curl -q --output log/23/curl1271.out --include --trace-ascii log/23/trace1271 --trace-time http://127.0.0.1:33217/we/want/our/1271 -w @log/23/blank1271 > log/23/stdout1271 2> log/23/stderr1271 1271: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1271 ../src/curl -q --output log/23/curl1271.out --include --trace-ascii log/23/trace1271 --trace-time http://127.0.0.1:33217/we/want/our/1271 -w @log/23/blank1271 > log/23/stdout1271 2> log/23/stderr1271 === End of file commands.log === Start of file http_server.log 05:47:51.140196 ====> Client connect 05:47:51.140239 accept_connection 3 returned 4 05:47:51.140257 accept_connection 3 returned 0 05:47:51.140272 Read 93 bytes 05:47:51.140282 Process 93 bytes request 05:47:51.140318 Got request: GET /verifiedserver HTTP/1.1 05:47:51.140328 Are-we-friendly question received 05:47:51.140359 Wrote request (93 bytes) input to log/23/server.input 05:47:51.140376 Identifying ourselves as friends 05:47:51.140444 Response sent (56 bytes) and written to log/23/server.response 05:47:51.140455 special request received, no persistency 05:47:51.140464 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 46840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1271 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1271 ==148071== ==148071== Process terminating with default action of signal 4 (SIGILL) ==148071== Illegal opcode at address 0x4014883 ==148071== at 0x4014883: getparameter (tool_getparam.c:2899) ==148071== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148071== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148071== by 0x4004208: main (tool_main.c:189) === End of file valgrind1271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1282 ../src/curl -q --output log/14/curl1282.out --include --trace-ascii log/14/trace1282 --trace-time ftp://127.0.0.1:46299/1282 > log/14/stdout1282 2> log/14/stderr1282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1274 ../src/curl -q --output log/1/curl1274.out --include --trace-ascii log/1/trace1274 --trace-time http://127.0.0.1:38765/1274 -D log/1/out1274 > log/1/stdout1274 2> log/1/stderr1274 test 1278...[verify extra --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1278 ../src/curl -q --include --trace-ascii log/11/trace1278 --trace-time http://127.0.0.1:34551/1278 --no-progress-meter -o log/11/out1278 --no-remote-name -w '%{stderr}yes\n' > log/11/stdout1278 2> log/11/stderr1278 1278: stderr FAILED: --- log/11/check-expected 2026-03-14 05:47:53.034615986 +0000 +++ log/11/check-generated 2026-03-14 05:47:53.034615986 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/11/ directory after test 1278 === Start of file check-expected yes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1278 ../src/curl -q --include --trace-ascii log/11/trace1278 --trace-time http://127.0.0.1:34551/1278 --no-progress-meter -o log/11/out1278 --no-remote-name -w '%{stderr}yes\n' > log/11/stdout1278 2> log/11/stderr1278 === End of file commands.log === Start of file http_server.log 05:47:51.427039 ====> Client connect 05:47:51.427074 accept_connection 3 returned 4 05:47:51.427091 accept_connection 3 returned 0 05:47:51.427106 Read 93 bytes 05:47:51.427116 Process 93 bytes request 05:47:51.427127 Got request: GET /verifiedserver HTTP/1.1 05:47:51.427136 Are-we-friendly question received 05:47:51.427161 Wrote request (93 bytes) input to log/11/server.input 05:47:51.427178 Identifying ourselves as friends 05:47:51.427252 Response sent (56 bytes) and written to log/11/server.response 05:47:51.427263 special request received, no persistency 05:47:51.427272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 56942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1278 ==148289== ==148289== Process terminating with default action of signal 4 (SIGILL) ==148289== Illegal opcode at address 0x4014883 ==148289== at 0x4014883: getparameter (tool_getparam.c:2899) ==148289== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148289== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148289== by 0x4004208: main (tool_main.c:189) === End of file valgrind1278 test 1274...[HTTP header line folding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1274 ../src/curl -q --output log/1/curl1274.out --include --trace-ascii log/1/trace1274 --trace-time http://127.0.0.1:38765/1274 -D log/1/out1274 > log/1/stdout1274 2> log/1/stderr1274 1274: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1274 ../src/curl -q --output log/1/curl1274.out --include --trace-ascii log/1/trace1274 --trace-time http://127.0.0.1:38765/1274 -D log/1/out1274 > log/1/stdout1274 2> log/1/stderr1274 === End of file commands.log === Start of file http_server.log 05:47:51.199896 ====> Client connect 05:47:51.199926 accept_connection 3 returned 4 05:47:51.199943 accept_connection 3 returned 0 05:47:51.199958 Read 93 bytes 05:47:51.199967 Process 93 bytes request 05:47:51.199981 Got request: GET /verifiedserver HTTP/1.1 05:47:51.199990 Are-we-friendly question received 05:47:51.200012 Wrote request (93 bytes) input to log/1/server.input 05:47:51.200029 Identifying ourselves as friends 05:47:51.200086 Response sent (56 bytes) and written to log/1/server.response 05:47:51.200096 special request received, no persistency 05:47:51.200105 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 40868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1274 ==148108== ==148108== Process terminating with default action of signal 4 (SIGILL) ==148108== Illegal opcode at address 0x4014883 ==148108== at 0x4014883: getparameter (tool_getparam.c:2899) ==148108== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148108== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148108== by 0x4004208: main (tool_main.c:189) === End of file valgrind1274 test 1282...[FTP with 633 response to auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1282 ../src/curl -q --output log/14/curl1282.out --include --trace-ascii log/14/trace1282 --trace-time ftp://127.0.0.1:46299/1282 > log/14/stdout1282 2> log/14/stderr1282 1282: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1282 ../src/curl -q --output log/14/curl1282.out --include --trace-ascii log/14/trace1282 --trace-time ftp://127.0.0.1:46299/1282 > log/14/stdout1282 2> log/14/stderr1282 === End of file commands.log === Start of file ftp_server.log 05:47:51.165584 ====> Client connect 05:47:51.168902 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:51.175805 < "USER anonymous" 05:47:51.175872 > "331 We are happy you popped in![CR][LF]" 05:47:51.176125 < "PASS ftp@example.com" 05:47:51.176159 > "230 Welcome you silly person[CR][LF]" 05:47:51.176344 < "PWD" 05:47:51.176384 > "257 "/" is current directory[CR][LF]" 05:47:51.176585 < "EPSV" 05:47:51.176616 ====> Passive DATA channel requested by client 05:47:51.176635 DATA sockfilt for passive data channel starting... 05:47:51.180236 DATA sockfilt for passive data channel started (pid 148473) 05:47:51.180350 DATA sockfilt for passive data channel listens on port 36943 05:47:51.180395 > "229 Entering Passive Mode (|||36943|)[CR][LF]" 05:47:51.180412 Client has been notified that DATA conn will be accepted on port 36943 05:47:51.188952 Client connects to port 36943 05:47:51.189026 ====> Client established passive DATA connection on port 36943 05:47:51.189157 < "TYPE I" 05:47:51.189200 > "200 I modifyRUN: Process with pid 74789 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1267 ../src/curl -q --output log/15/curl1267.out --include --trace-ascii log/15/trace1267 --trace-time http://127.0.0.1:43413/1267 --http0.9 > log/15/stdout1267 2> log/15/stderr1267 TYPE as you wanted[CR][LF]" 05:47:51.197944 < "SIZE verifiedserver" 05:47:51.198032 > "213 17[CR][LF]" 05:47:51.198279 < "RETR verifiedserver" 05:47:51.198315 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:51.198412 =====> Closing passive DATA connection... 05:47:51.198428 Server disconnects passive DATA connection 05:47:51.198704 Server disconnected passive DATA connection 05:47:51.198730 DATA sockfilt for passive data channel quits (pid 148473) 05:47:51.199099 DATA sockfilt for passive data channel quit (pid 148473) 05:47:51.199132 =====> Closed passive DATA connection 05:47:51.199166 > "226 File transfer complete[CR][LF]" 05:47:51.249094 < "QUIT" 05:47:51.249156 > "221 bye bye baby[CR][LF]" 05:47:51.251088 MAIN sockfilt said DISC 05:47:51.251126 ====> Client disconnected 05:47:51.251218 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:50.623672 ====> Client connect 05:47:50.630409 Received DATA (on stdin) 05:47:50.630433 > 146 bytes data, server => client 05:47:50.630445 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:50.630455 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:50.630464 '220 \___|\___/|_| \_\_____|\r\n' 05:47:50.636999 < 16 bytes data, client => server 05:47:50.637031 'USER anonymous\r\n' 05:47:50.637339 Received DATA (on stdin) 05:47:50.637354 > 33 bytes data, server => client 05:47:50.637365 '331 We are happy you popped in!\r\n' 05:47:50.637470 < 22 bytes data, client => server 05:47:50.637488 'PASS ftp@example.com\r\n' 05:47:50.637618 Received DATA (on stdin) 05:47:50.637632 > 30 bytes data, server => client 05:47:50.637643 '230 Welcome you silly person\r\n' 05:47:50.637700 < 5 bytes data, client => server 05:47:50.637715 'PWD\r\n' 05:47:50.637845 Received DATA (on stdin) 05:47:50.637858 > 30 bytes data, server => client 05:47:50.637869 '257 "/" is current directory\r\n' 05:47:50.637939 < 6 bytes data, client => server 05:47:50.637955 'EPSV\r\n' 05:47:50.641872 Received DATA (on stdin) 05:47:50.641886 > 39 bytes data, server => client 05:47:50.641896 '229 Entering Passive Mode (|||36943|)\r\n' 05:47:50.647177 < 8 bytes data, client => server 05:47:50.647213 'TYPE I\r\n' 05:47:50.653661 Received DATA (on stdin) 05:47:50.653697 > 33 bytes data, server => client 05:47:50.653708 '200 I modify TYPE as you wanted\r\n' 05:47:50.653820 < 21 bytes data, client => server 05:47:50.653830 'SIZE verifiedserver\r\n' 05:47:50.659499 Received DATA (on stdin) 05:47:50.659518 > 8 bytes data, server => client 05:47:50.659528 '213 17\r\n' 05:47:50.659626 < 21 bytes data, client => server 05:47:50.659637 'RETR verifiedserver\r\n' 05:47:50.659883 Received DATA (on stdin) 05:47:50.659893 > 29 bytes data, server => client 05:47:50.659904 '150 Binary junk (17 bytes).\r\n' 05:47:50.660626 Received DATA (on stdin) 05:47:50.660639 > 28 bytes data, server => client 05:47:50.660649 '226 File transfer complete\r\n' 05:47:50.710345 < 6 bytes data, client => server 05:47:50.710381 'QUIT\r\n' 05:47:50.710621 Received DATA (on stdin) 05:47:50.710635 > 18 bytes data, server => client 05:47:50.710645 '221 bye bye baby\r\n' 05:47:50.712484 ====> Client disconnect 05:47:50.712684 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:51.641379 Running IPv4 version 05:47:51.641444 Listening on port 36943 05:47:51.641480 Wrote pid 148473 to log/14/server/ftp_sockdata.pid 05:47:51.641632 Received PING (on stdin) 05:47:51.641715 Received PORT (on stdin) 05:47:51.650322 ====> Client connect 05:47:51.659979 Received DATA (on stdin) 05:47:51.659998 > 17 bytes data, server => client 05:47:51.660008 'WE ROOLZ: 81045\r\n' 05:47:51.660036 Received DISC (on stdin) 05:47:51.660048 ====> Client forcibly disconnected 05:47:51.660189 Received QUIT (on stdin) 05:47:51.660204 quits 05:47:51.660271 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 633 XXXXXXXX\x00\x00XXXXXXXX Testnum 1282 === End of file server.cmd === Start of file valgrind1282 ==148543== ==148543== Process terminating with default action of signal 4 (SIGILL) ==148543== Illegal opcode at address 0x4014883 ==148543== at 0x4014883: getparameter (tool_getparam.c:2899) ==148543== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148543== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148543== by 0x4004208: main (tool_main.c:189) === End of file valgrind1282 test 1273...[-f and resume transfer of an entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1273 ../src/curl -q --output log/17/curl1273.out --include --trace-ascii log/17/trace1273 --trace-time http://127.0.0.1:41505/1273 -C - -f > log/17/stdout1273 2> log/17/stderr1273 1273: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1273 ../src/curl -q --output log/17/curl1273.out --include --trace-ascii log/17/trace1273 --trace-time http://127.0.0.1:41505/1273 -C - -f > log/17/stdout1273 2> log/17/stderr1273 === End of file commands.log === Start of file curl1273.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1273.out === Start of file http_server.log 05:47:51.225119 ====> Client connect 05:47:51.225156 accept_connection 3 returned 4 05:47:51.225173 accept_connection 3 returned 0 05:47:51.225188 Read 93 bytes 05:47:51.225198 Process 93 bytes request 05:47:51.225213 Got request: GET /verifiedserver HTTP/1.1 05:47:51.225222 Are-we-friendly question received 05:47:51.225248 Wrote request (93 bytes) input to log/17/server.input 05:47:51.225267 Identifying ourselves as friends 05:47:51.225334 Response sent (56 bytes) and written to log/17/server.response 05:47:51.225345 special request received, no persistency 05:47:51.225353 ====> Client disconnect 0 exit_signal_handler: called 05:47:53.481707 signalled to die 05:47:53.481803 ========> IPv4 sws (port 41505 pid: 74789) exits with signal (15) 05:47:53.481817 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41505... * Established connection to 127.0.0.1 (127.0.0.1 port 41505) from 127.0.0.1 port 35326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41505 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41505 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74789 === End of file http_verify.out === Start of file server.cmd Testnum 1273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74789 === End of file server.response === Start of file valgrind1273 ==148129== ==148129== Process terminating with default action of signal 4 (SIGILL) ==148129== Illegal opcode at address 0x4014883 ==148129== at 0x4014883: getparameter (tool_getparam.c:2899) ==148129== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148129== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148129== by 0x4004208: main (tool_main.c:189) === End of file valgrind1273 test 1267...[HTTP GET with an invalid HTTP/1 response line start] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1267 ../src/curl -q --output log/15/curl1267.out --include --trace-ascii log/15/trace1267 --trace-time httpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1286 ../src/curl -q --output log/8/curl1286.out --include --trace-ascii log/8/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:45623/1286 > log/8/stdout1286 2> log/8/stderr1286 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:39913/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 ://127.0.0.1:43413/1267 --http0.9 > log/15/stdout1267 2> log/15/stderr1267 1267: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1267 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1267 ../src/curl -q --output log/15/curl1267.out --include --trace-ascii log/15/trace1267 --trace-time http://127.0.0.1:43413/1267 --http0.9 > log/15/stdout1267 2> log/15/stderr1267 === End of file commands.log === Start of file http_server.log 05:47:50.792887 ====> Client connect 05:47:50.792923 accept_connection 3 returned 4 05:47:50.792939 accept_connection 3 returned 0 05:47:50.792954 Read 93 bytes 05:47:50.792963 Process 93 bytes request 05:47:50.792977 Got request: GET /verifiedserver HTTP/1.1 05:47:50.792985 Are-we-friendly question received 05:47:50.793009 Wrote request (93 bytes) input to log/15/server.input 05:47:50.793025 Identifying ourselves as friends 05:47:50.793076 Response sent (56 bytes) and written to log/15/server.response 05:47:50.793084 special request received, no persistency 05:47:50.793092 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 57558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1267 ==147842== ==147842== Process terminating with default action of signal 4 (SIGILL) ==147842== Illegal opcode at address 0x4014883 ==147842== at 0x4014883: getparameter (tool_getparam.c:2899) ==147842== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==147842== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==147842== by 0x4004208: main (tool_main.c:189) === End of file valgrind1267 test 1286...[HTTP GET --digest increasing nonce-count] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1286 ../src/curl -q --output log/8/curl1286.out --include --trace-ascii log/8/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:45623/1286 > log/8/stdout1286 2> log/8/stderr1286 1286: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1286 ../src/curl -q --output log/8/curl1286.out --include --trace-ascii log/8/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:45623/1286 > log/8/stdout1286 2> log/8/stderr1286 === End of file commands.log === Start of file http_server.log 05:47:50.848172 ====> Client connect 05:47:50.848204 accept_connection 3 returned 4 05:47:50.848219 accept_connection 3 returned 0 05:47:50.848234 Read 93 bytes 05:47:50.848244 Process 93 bytes request 05:47:50.848258 Got request: GET /verifiedserver HTTP/1.1 05:47:50.848267 Are-we-friendly question received 05:47:50.848290 Wrote request (93 bytes) input to log/8/server.input 05:47:50.848306 Identifying ourselves as friends 05:47:50.848358 Response sent (56 bytes) and written to log/8/server.response 05:47:50.848368 special request received, no persistency 05:47:50.848376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 36760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1286 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1286 ==148673== ==148673== Process terminating with default action of signal 4 (SIGILL) ==148673== Illegal opcode at address 0x4014883 ==148673== at 0x4014883: getparameter (tool_getparam.c:2899) ==148673== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148673== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148673== by 0x4004208: main (tool_main.c:189) === End of file valgrind1286 test 1277...[HTTP GET with both content and transfer encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:39913/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 1277: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:39913/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 === End of file commands.log === Start of file http_server.log 05:47:50.423303 ====> Client connect 05:47:50.423346 accept_connection 3 returned 4 05:47:50.423364 accept_connection 3 returned 0 05:47:50.423380 Read 93 bytes 05:47:50.423390 Process 93 bytes request 05:47:50.423403 Got request: GET /verifiedserver HTTP/1.1 05:47:50.423413 Are-we-friendly question received 05:47:50.423439 Wrote request (93 bytes) input to log/18/server.input 05:47:50.423458 Identifying ourselves as friends 05:47:50.423541 Response sent (56 bytes) and written to log/18/server.response 05:47:50.423554 special request received, no persistency 05:47:50.423562 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 56836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1277 ==148309== ==148309== Process terminating with default action of signal 4 (SIGILL) ==148309== Illegal opcode at address 0x4014883 ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1280 ../src/curl -q --output log/3/curl1280.out --include --trace-ascii log/3/trace1280 --trace-time http://127.0.0.1:39591/[a-d]/1280 > log/3/stdout1280 2> log/3/stderr1280 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1281 ../src/curl -q --output log/2/curl1281.out --include --trace-ascii log/2/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/2/stdout1281 2> log/2/stderr1281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1285 ../src/curl -q --output log/19/curl1285.out --include --trace-ascii log/19/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/19/put1285 http://127.0.0.1:35701/1285 > log/19/stdout1285 2> log/19/stderr1285 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1284 ../src/curl -q --output log/12/curl1284.out --include --trace-ascii log/12/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36353/1284 > log/12/stdout1284 2> log/12/stderr1284 148309== at 0x4014883: getparameter (tool_getparam.c:2899) ==148309== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148309== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148309== by 0x4004208: main (tool_main.c:189) === End of file valgrind1277 test 1280...[simple [a-d] globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1280 ../src/curl -q --output log/3/curl1280.out --include --trace-ascii log/3/trace1280 --trace-time http://127.0.0.1:39591/[a-d]/1280 > log/3/stdout1280 2> log/3/stderr1280 1280: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1280 ../src/curl -q --output log/3/curl1280.out --include --trace-ascii log/3/trace1280 --trace-time http://127.0.0.1:39591/[a-d]/1280 > log/3/stdout1280 2> log/3/stderr1280 === End of file commands.log === Start of file http_server.log 05:47:51.487180 ====> Client connect 05:47:51.487215 accept_connection 3 returned 4 05:47:51.487232 accept_connection 3 returned 0 05:47:51.487247 Read 93 bytes 05:47:51.487256 Process 93 bytes request 05:47:51.487270 Got request: GET /verifiedserver HTTP/1.1 05:47:51.487280 Are-we-friendly question received 05:47:51.487304 Wrote request (93 bytes) input to log/3/server.input 05:47:51.487321 Identifying ourselves as friends 05:47:51.487373 Response sent (56 bytes) and written to log/3/server.response 05:47:51.487382 special request received, no persistency 05:47:51.487389 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 57986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1280 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1280 ==148325== ==148325== Process terminating with default action of signal 4 (SIGILL) ==148325== Illegal opcode at address 0x4014883 ==148325== at 0x4014883: getparameter (tool_getparam.c:2899) ==148325== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148325== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148325== by 0x4004208: main (tool_main.c:189) === End of file valgrind1280 test 1281...[reject non-numerical port number in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1281 ../src/curl -q --output log/2/curl1281.out --include --trace-ascii log/2/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/2/stdout1281 2> log/2/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/2/ directory after test 1281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1281 ../src/curl -q --output log/2/curl1281.out --include --trace-ascii log/2/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/2/stdout1281 2> log/2/stderr1281 === End of file commands.log === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==148385== ==148385== Process terminating with default action of signal 4 (SIGILL) ==148385== Illegal opcode at address 0x4014883 ==148385== at 0x4014883: getparameter (tool_getparam.c:2899) ==148385== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148385== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148385== by 0x4004208: main (tool_main.c:189) === End of file valgrind1281 test 1285...[HTTP PUT --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1285 ../src/curl -q --output log/19/curl1285.out --include --trace-ascii log/19/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/19/put1285 http://127.0.0.1:35701/1285 > log/19/stdout1285 2> log/19/stderr1285 1285: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1285 ../src/curl -q --output log/19/curl1285.out --include --trace-ascii log/19/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/19/put1285 http://127.0.0.1:35701/1285 > log/19/stdout1285 2> log/19/stderr1285 === End of file commands.log === Start of file http_server.log 05:47:50.883242 ====> Client connect 05:47:50.883276 accept_connection 3 returned 4 05:47:50.883290 accept_connection 3 returned 0 05:47:50.883731 Read 93 bytes 05:47:50.883745 Process 93 bytes request 05:47:50.883761 Got request: GET /verifiedserver HTTP/1.1 05:47:50.883769 Are-we-friendly question received 05:47:50.883796 Wrote request (93 bytes) input to log/19/server.input 05:47:50.883812 Identifying ourselves as friends 05:47:50.883860 Response sent (56 bytes) and written to log/19/server.response 05:47:50.883869 special request received, no persistency 05:47:50.883876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 45752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file put1285 This is data we upload with PUT a second line line three four is the number of lines === End of file put1285 === Start of file server.cmd Testnum 1285 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1285 ==148699== ==148699== Process terminating with default action of signal 4 (SIGILL) ==148699== Illegal opcode at address 0x4014883 ==148699== at 0x4014883: getparameter (tool_getparam.c:2899) ==148699== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148699== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148699== by 0x4004208: main (tool_main.c:189) === End of file valgrind1285 test 1284...[HTTP POST --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1284 ../src/curl -q --output log/12/curl1284.out --include --trace-ascii log/12/trace1284 --trace-time -H "Content-Length: 11" -u auser:apCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1289 ../src/curl -q --output log/4/curl1289.out --include --trace-ascii log/4/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/4/stdout1289 2> log/4/stderr1289 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1283 ../src/curl -q --include --trace-ascii log/16/trace1283 --trace-time http://127.0.0.1:44673/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/16/outfile1283_#1#2#3#4.dump" > log/16/stdout1283 2> log/16/stderr1283 asswd --digest -d "junkelijunk" http://127.0.0.1:36353/1284 > log/12/stdout1284 2> log/12/stderr1284 1284: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1284 ../src/curl -q --output log/12/curl1284.out --include --trace-ascii log/12/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36353/1284 > log/12/stdout1284 2> log/12/stderr1284 === End of file commands.log === Start of file http_server.log 05:47:51.853766 ====> Client connect 05:47:51.853818 accept_connection 3 returned 4 05:47:51.853839 accept_connection 3 returned 0 05:47:51.853857 Read 93 bytes 05:47:51.853869 Process 93 bytes request 05:47:51.853884 Got request: GET /verifiedserver HTTP/1.1 05:47:51.853894 Are-we-friendly question received 05:47:51.853920 Wrote request (93 bytes) input to log/12/server.input 05:47:51.853940 Identifying ourselves as friends 05:47:51.854029 Response sent (56 bytes) and written to log/12/server.response 05:47:51.854041 special request received, no persistency 05:47:51.854050 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 53860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1284 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1284 ==148715== ==148715== Process terminating with default action of signal 4 (SIGILL) ==148715== Illegal opcode at address 0x4014883 ==148715== at 0x4014883: getparameter (tool_getparam.c:2899) ==148715== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148715== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148715== by 0x4004208: main (tool_main.c:189) === End of file valgrind1284 test 1289...[globbing with overflow and bad syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1289 ../src/curl -q --output log/4/curl1289.out --include --trace-ascii log/4/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/4/stdout1289 2> log/4/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/4/ directory after test 1289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1289 ../src/curl -q --output log/4/curl1289.out --include --trace-ascii log/4/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/4/stdout1289 2> log/4/stderr1289 === End of file commands.log === Start of file http_server.log 05:47:51.061692 ====> Client connect 05:47:51.061722 accept_connection 3 returned 4 05:47:51.061738 accept_connection 3 returned 0 05:47:51.061753 Read 93 bytes 05:47:51.061762 Process 93 bytes request 05:47:51.061776 Got request: GET /verifiedserver HTTP/1.1 05:47:51.061785 Are-we-friendly question received 05:47:51.061810 Wrote request (93 bytes) input to log/4/server.input 05:47:51.061826 Identifying ourselves as friends 05:47:51.061879 Response sent (56 bytes) and written to log/4/server.response 05:47:51.061889 special request received, no persistency 05:47:51.061898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1289 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1289 ==148875== ==148875== Process terminating with default action of signal 4 (SIGILL) ==148875== Illegal opcode at address 0x4014883 ==148875== at 0x4014883: getparameter (tool_getparam.c:2899) ==148875== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148875== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148875== by 0x4004208: main (tool_main.c:189) === End of file valgrind1289 test 1283...[globbing range with same start and stop] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1283 ../src/curl -q --include --trace-ascii log/16/trace1283 --trace-time http://127.0.0.1:44673/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/16/outfile1283_#1#2#3#4.dump" > log/16/stdout1283 2> log/16/stderr1283 1283: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1283 ../src/curl -q --include --trace-ascii log/16/trace1283 --trace-time http://127.0.0.1:44673/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/16/outfile1283_#1#2#3#4.dump" > log/16/stdout1283 2> log/16/stderr1283 === End of file commands.log === Start of file http_server.log 05:47:51.686307 ====> Client connect 05:47:51.686344 accept_connection 3 returned 4 05:47:51.686360 accept_connection 3 returned 0 05:47:51.686375 Read 93 bytes 05:47:51.686384 Process 93 bytes request 05:47:51.686399 Got request: GET /verifiedserver HTTP/1.1 05:47:51.686408 Are-we-friendly question received 05:47:51.686432 Wrote request (93 bytes) input to log/16/server.input 05:47:51.686449 Identifying ourselves as friends 05:47:51.686510 Response sent (56 bytes) and written to log/16/server.response 05:47:51.686522 special request received, no persistency 05:47:51.686531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 43746 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1283 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1283 ==148523== ==148523== Process terminating with default action of signal 4 (SIGILL) ==148523== Illegal opcode at address 0x4014883 ==148523== at 0x4014883: getparameter (tool_getparam.c:2899) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1292 ../src/curl -q --output log/9/curl1292.out --include --trace-ascii log/9/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:33885/1292 > log/9/stdout1292 2> log/9/stderr1292 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1291 ../src/curl -q --output log/7/curl1291.out --include --trace-ascii log/7/trace1291 --trace-time -K log/7/cmd1291 --fail-early > log/7/stdout1291 2> log/7/stderr1291 148523== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148523== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148523== by 0x4004208: main (tool_main.c:189) === End of file valgrind1283 test 1292...[Replaced internal headers with a blank one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1292 ../src/curl -q --output log/9/curl1292.out --include --trace-ascii log/9/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:33885/1292 > log/9/stdout1292 2> log/9/stderr1292 1292: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1292 ../src/curl -q --output log/9/curl1292.out --include --trace-ascii log/9/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:33885/1292 > log/9/stdout1292 2> log/9/stderr1292 === End of file commands.log === Start of file http_server.log 05:47:51.373749 ====> Client connect 05:47:51.373785 accept_connection 3 returned 4 05:47:51.373802 accept_connection 3 returned 0 05:47:51.373817 Read 93 bytes 05:47:51.373827 Process 93 bytes request 05:47:51.373842 Got request: GET /verifiedserver HTTP/1.1 05:47:51.373850 Are-we-friendly question received 05:47:51.373873 Wrote request (93 bytes) input to log/9/server.input 05:47:51.373890 Identifying ourselves as friends 05:47:51.373952 Response sent (56 bytes) and written to log/9/server.response 05:47:51.373962 special request received, no persistency 05:47:51.373971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 60502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1292 ==149060== ==149060== Process terminating with default action of signal 4 (SIGILL) ==149060== Illegal opcode at address 0x4014883 ==149060== at 0x4014883: getparameter (tool_getparam.c:2899) ==149060== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149060== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149060== by 0x4004208: main (tool_main.c:189) === End of file valgrind1292 prechecked /usr/bin/perl -e 'for(1 .. 1000) { printf("upload-file=log/7/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/7/cmd1291; test 1291...[Attempt to upload 1000 files but fail immediately] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1291 ../src/curl -q --output log/7/curl1291.out --include --trace-ascii log/7/trace1291 --trace-time -K log/7/cmd1291 --fail-early > log/7/stdout1291 2> log/7/stderr1291 curl returned 132, when expecting 1 1291: exit FAILED == Contents of files in the log/7/ directory after test 1291 === Start of file cmd1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this === File too long: 599 lines omitted here upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.hCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1290 ../src/curl -q --output log/24/curl1290.out --include --trace-ascii log/24/trace1290 --trace-time "http://127.0.0.1:33593/we/want/[]/page/1290" > log/24/stdout1290 2> log/24/stderr1290 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1304 ./unit/units unit1304 log/15/netrc1304 > log/15/stdout1304 2> log/15/stderr1304 axx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 === End of file cmd1291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1291 ../src/curl -q --output log/7/curl1291.out --include --trace-ascii log/7/trace1291 --trace-time -K log/7/cmd1291 --fail-early > log/7/stdout1291 2> log/7/stderr1291 === End of file commands.log === Start of file server.cmd Testnum 1291 === End of file server.cmd === Start of file upload-this XXXXXXXx === End of file upload-this === Start of file valgrind1291 ==148945== ==148945== Process terminating with default action of signal 4 (SIGILL) ==148945== Illegal opcode at address 0x4014883 ==148945== at 0x4014883: getparameter (tool_getparam.c:2899) ==148945== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148945== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148945== by 0x4004208: main (tool_main.c:189) === End of file valgrind1291 test 1290...[Verify URL globbing ignores []] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1290 ../src/curl -q --output log/24/curl1290.out --include --trace-ascii log/24/trace1290 --trace-time "http://127.0.0.1:33593/we/want/[]/page/1290" > log/24/stdout1290 2> log/24/stderr1290 1290: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1290 ../src/curl -q --output log/24/curl1290.out --include --trace-ascii log/24/trace1290 --trace-time "http://127.0.0.1:33593/we/want/[]/page/1290" > log/24/stdout1290 2> log/24/stderr1290 === End of file commands.log === Start of file http_server.log 05:47:52.153753 ====> Client connect 05:47:52.153802 accept_connection 3 returned 4 05:47:52.153821 accept_connection 3 returned 0 05:47:52.153838 Read 93 bytes 05:47:52.153848 Process 93 bytes request 05:47:52.153862 Got request: GET /verifiedserver HTTP/1.1 05:47:52.153871 Are-we-friendly question received 05:47:52.153896 Wrote request (93 bytes) input to log/24/server.input 05:47:52.153912 Identifying ourselves as friends 05:47:52.153995 Response sent (56 bytes) and written to log/24/server.response 05:47:52.154004 special request received, no persistency 05:47:52.154013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1302 ./unit/units unit1302 - > log/5/stdout1302 2> log/5/stderr1302 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1293 ../src/curl -q --output log/20/curl1293.out --include --trace-ascii log/20/trace1293 --trace-time http://0 http://127.0.0.1:38929/1293 -F= > log/20/stdout1293 2> log/20/stderr1293 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1306 ./unit/units unit1305 - > log/18/stdout1306 2> log/18/stderr1306 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1301 ./libtest/libtests lib1301 - > log/1/stdout1301 2> log/1/stderr1301 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1287 ../src/curl -q --output log/10/curl1287.out --include --trace-ascii log/10/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:33529 http://test.1287:46741/we/want/that/page/1287 > log/10/stdout1287 2> log/10/stderr1287 * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1290 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1290 ==148938== ==148938== Process terminating with default action of signal 4 (SIGILL) ==148938== Illegal opcode at address 0x4014883 ==148938== at 0x4014883: getparameter (tool_getparam.c:2899) ==148938== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==148938== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==148938== by 0x4004208: main (tool_main.c:189) === End of file valgrind1290 test 1304...[netrc parsing unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1304 ./unit/units unit1304 log/15/netrc1304 > log/15/stdout1304 2> log/15/stderr1304 -------e-v- OK (1241 out of 1773, remaining: 01:05, took 1.039s, duration: 02:33) test 1302...[base64 encode/decode unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1302 ./unit/units unit1302 - > log/5/stdout1302 2> log/5/stderr1302 units returned 132, when expecting 0 1302: exit FAILED == Contents of files in the log/5/ directory after test 1302 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1302 ./unit/units unit1302 - > log/5/stdout1302 2> log/5/stderr1302 === End of file commands.log === Start of file server.cmd Testnum 1302 === End of file server.cmd === Start of file stderr1302 URL: - === End of file stderr1302 === Start of file valgrind1302 ==149470== ==149470== Process terminating with default action of signal 4 (SIGILL) ==149470== Illegal opcode at address 0x40A27A3 ==149470== at 0x40A27A3: UnknownInlinedFun (string_fortified.h:59) ==149470== by 0x40A27A3: curlx_base64_decode (base64.c:105) ==149470== by 0x400C369: test_unit1302.lto_priv.0 (unit1302.c:146) ==149470== by 0x400B145: main (first.c:279) ==149470== 2 bytes in 1 blocks are definitely lost in loss record 1 of 14 ==149470== at 0x499D7A8: malloc (vg_replace_malloc.c:446) ==149470== by 0x40A2788: curlx_base64_decode (base64.c:99) ==149470== by 0x400C369: test_unit1302.lto_priv.0 (unit1302.c:146) ==149470== by 0x400B145: main (first.c:279) ==149470== === End of file valgrind1302 test 1293...[Multipart formpost to two URLs, the first failing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1293 ../src/curl -q --output log/20/curl1293.out --include --trace-ascii log/20/trace1293 --trace-time http://0 http://127.0.0.1:38929/1293 -F= > log/20/stdout1293 2> log/20/stderr1293 1293: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1293 ../src/curl -q --output log/20/curl1293.out --include --trace-ascii log/20/trace1293 --trace-time http://0 http://127.0.0.1:38929/1293 -F= > log/20/stdout1293 2> log/20/stderr1293 === End of file commands.log === Start of file http_server.log 05:47:52.000368 ====> Client connect 05:47:52.000415 accept_connection 3 returned 4 05:47:52.000435 accept_connection 3 returned 0 05:47:52.000452 Read 93 bytes 05:47:52.000461 Process 93 bytes request 05:47:52.000474 Got request: GET /verifiedserver HTTP/1.1 05:47:52.000483 Are-we-friendly question received 05:47:52.000520 Wrote request (93 bytes) input to log/20/server.input 05:47:52.000537 Identifying ourselves as friends 05:47:52.000621 Response sent (56 bytes) and written to log/20/server.response 05:47:52.000632 special request received, no persistency 05:47:52.000640 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 39248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1293 ==149237== ==149237== Process terminating with default action of signal 4 (SIGILL) ==149237== Illegal opcode at address 0x4014883 ==149237== at 0x4014883: getparameter (tool_getparam.c:2899) ==149237== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149237== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149237== by 0x4004208: main (tool_main.c:189) === End of file valgrind1293 test 1306...[internal hash create/add/destroy testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1306 ./unit/units unit1305 - > log/18/stdout1306 2> log/18/stderr1306 -------e-v- OK (1243 out of 1773, remaining: 01:05, took 1.132s, duration: 02:33) test 1301...[curl_strequal tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1301 ./libtest/libtests lib1301 - > log/1/stdout1301 2> log/1/stderr1301 -------e-v- OK (1238 out of 1773, remaining: 01:06, took 1.426s, duration: 02:33) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/10/server/http2_server.pid" --logfile "log/10/http2_server.log" --logdir "log/10" --portfile log/10/server/http2_server.port --config log/10/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 148672 port 33529 * pid http-proxy => 148672 148672 test 1287...[HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1287 ../src/curl -q --output log/10/curl1287.out --include --trace-ascii log/10/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:33529 http://test.1287:46741/we/want/that/page/1287 > log/10/stdout1287 2> log/10/stderr1287 1287: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1287 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1296 ../src/curl -q --output log/13/curl1296.out --include --trace-ascii log/13/trace1296 --trace-time http://user%0aname:password@127.0.0.1:45359/1296 > log/13/stdout1296 2> log/13/stderr1296 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1300 ./unit/units unit1300 - > log/14/stdout1300 2> log/14/stderr1300 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1303 ./unit/units unit1303 - > log/17/stdout1303 2> log/17/stderr1303 RUN: Process with pid 137393 forced to die with SIGKILL 87 ../src/curl -q --output log/10/curl1287.out --include --trace-ascii log/10/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:33529 http://test.1287:46741/we/want/that/page/1287 > log/10/stdout1287 2> log/10/stderr1287 === End of file commands.log === Start of file http2_server.log 05:47:51.921026 Run as proxy, CONNECT to host 127.0.0.1 05:47:51.921176 Running HTTP IPv4 version on port 33529 05:47:51.921220 Wrote pid 148672 to log/10/server/http2_server.pid 05:47:51.921249 Wrote port 33529 to log/10/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:47:50.858172 ====> Client connect 05:47:50.858235 accept_connection 3 returned 4 05:47:50.858253 accept_connection 3 returned 0 05:47:50.858267 Read 93 bytes 05:47:50.858278 Process 93 bytes request 05:47:50.858291 Got request: GET /verifiedserver HTTP/1.1 05:47:50.858301 Are-we-friendly question received 05:47:50.858327 Wrote request (93 bytes) input to log/10/server.input 05:47:50.858344 Identifying ourselves as friends 05:47:50.858402 Response sent (56 bytes) and written to log/10/server.response 05:47:50.858412 special request received, no persistency 05:47:50.858421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 48912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1287 ==149174== ==149174== Process terminating with default action of signal 4 (SIGILL) ==149174== Illegal opcode at address 0x4014883 ==149174== at 0x4014883: getparameter (tool_getparam.c:2899) ==149174== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149174== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149174== by 0x4004208: main (tool_main.c:189) === End of file valgrind1287 test 1296...[HTTP URL with %0a in name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1296 ../src/curl -q --output log/13/curl1296.out --include --trace-ascii log/13/trace1296 --trace-time http://user%0aname:password@127.0.0.1:45359/1296 > log/13/stdout1296 2> log/13/stderr1296 1296: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1296 ../src/curl -q --output log/13/curl1296.out --include --trace-ascii log/13/trace1296 --trace-time http://user%0aname:password@127.0.0.1:45359/1296 > log/13/stdout1296 2> log/13/stderr1296 === End of file commands.log === Start of file http_server.log 05:47:52.955925 ====> Client connect 05:47:52.955962 accept_connection 3 returned 4 05:47:52.955980 accept_connection 3 returned 0 05:47:52.955996 Read 93 bytes 05:47:52.956007 Process 93 bytes request 05:47:52.956020 Got request: GET /verifiedserver HTTP/1.1 05:47:52.956029 Are-we-friendly question received 05:47:52.956057 Wrote request (93 bytes) input to log/13/server.input 05:47:52.956076 Identifying ourselves as friends 05:47:52.956140 Response sent (56 bytes) and written to log/13/server.response 05:47:52.956152 special request received, no persistency 05:47:52.956161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 38710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1296 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1296 ==149208== ==149208== Process terminating with default action of signal 4 (SIGILL) ==149208== Illegal opcode at address 0x4014883 ==149208== at 0x4014883: getparameter (tool_getparam.c:2899) ==149208== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149208== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149208== by 0x4004208: main (tool_main.c:189) === End of file valgrind1296 test 1300...[llist unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1300 ./unit/units unit1300 - > log/14/stdout1300 2> log/14/stderr1300 units returned 132, when expecting 0 1300: exit FAILED == Contents of files in the log/14/ directory after test 1300 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1300 ./unit/units unit1300 - > log/14/stdout1300 2> log/14/stderr1300 === End of file commands.log === Start of file server.cmd Testnum 1300 === End of file server.cmd === Start of file stderr1300 URL: - === End of file stderr1300 === Start of file valgrind1300 ==149452== ==149452== Process terminating with default action of signal 4 (SIGILL) ==149452== Illegal opcode at address 0x400B4BE ==149452== at 0x400B4BE: UnknownInlinedFun (llist.c:80) ==149452== by 0x400B4BE: test_unit1300.lto_priv.0 (unit1300.c:125) ==149452== by 0x400B145: main (first.c:279) === End of file valgrind1300 test 1303...[Curl_timeleft_ms unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1303 ./unit/units unit1303 - > log/17/stdout1303 2> log/17/stderr1303 units returned 132, when expecting 0 1303: exit FAILED == Contents of files in the log/17/ directory after test 1303 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1303 ./unit/units unit1303 - > log/17/stdout1303 2> log/17/stderr1303 === End of file commands.log === Start of file server.cmd Testnum 1303 === End of file server.cmd === Start of file stderr1303 URL: - === End of file stderr1303 === Start of file valgrind1303 ==149566== ==149566== Process terminating with default action of signal 4 (SIGILL) ==149566== Illegal opcode at address 0x4080273 ==149566== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==149566== by 0x4080273: UnknownInlinedFun (request.c:40) ==149566== by 0x4080273: Curl_open (url.c:503) ==149566== by 0x40401A5: curl_easy_init (easy.c:350) ==149566== by 0x400C76B: UnknownInlinedFun (unit1303.c:34) ==149566== by 0x400C76B: test_unit1303.lto_priv.0 (unit1303.c:71) ==149566== by 0x400B145: main (first.c:279) === End of file valgrind1303 test 1238...[slow TFTP retrieve cancel due to -Y and -y] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-chCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1288 ../src/curl -q --include --trace-ascii log/22/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:38725 http://127.0.0.1:41477/we/want/that/page/1288 > log/22/stdout1288 2> log/22/stderr1288 eck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1238 ../src/curl -q --output log/6/curl1238.out --include --trace-ascii log/6/trace1238 --trace-time tftp://127.0.0.1:44616//1238 -Y1000 -y2 > log/6/stdout1238 2> log/6/stderr1238 1238: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1238 ../src/curl -q --output log/6/curl1238.out --include --trace-ascii log/6/trace1238 --trace-time tftp://127.0.0.1:44616//1238 -Y1000 -y2 > log/6/stdout1238 2> log/6/stderr1238 === End of file commands.log === Start of file server.cmd writedelay: 2000 Testnum 1238 === End of file server.cmd === Start of file tftp_server.log 05:47:47.221019 trying to get file: verifiedserver mode 1 05:47:47.221043 Are-we-friendly question received 05:47:47.221058 write 05:47:47.221090 read 05:47:47.222159 read: 4 05:47:47.222218 end of one transfer exit_signal_handler: called === End of file tftp_server.log === Start of file valgrind1238 ==145830== ==145830== Process terminating with default action of signal 4 (SIGILL) ==145830== Illegal opcode at address 0x4014883 ==145830== at 0x4014883: getparameter (tool_getparam.c:2899) ==145830== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==145830== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==145830== by 0x4004208: main (tool_main.c:189) === End of file valgrind1238 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1305 ./unit/units unit1305 1305 > log/8/stdout1305 2> log/8/stderr1305 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1308 ./libtest/libtests lib1308 log/3/test-1308 > log/3/stdout1308 2> log/3/stderr1308 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1309 ./unit/units unit1309 - > log/2/stdout1309 2> log/2/stderr1309 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/22/server/http2_server.pid" --logfile "log/22/http2_server.log" --logdir "log/22" --portfile log/22/server/http2_server.port --config log/22/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 148868 port 38725 * pid http-proxy => 148868 148868 test 1288...[Suppress proxy CONNECT response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1288 ../src/curl -q --include --trace-ascii log/22/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:38725 http://127.0.0.1:41477/we/want/that/page/1288 > log/22/stdout1288 2> log/22/stderr1288 1288: stdout FAILED: --- log/22/check-expected 2026-03-14 05:47:55.027949319 +0000 +++ log/22/check-generated 2026-03-14 05:47:55.027949319 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -[CR][LF] -contents[LF] -[LF] -CONNECT CODE: 200[LF] -RECEIVED HEADER BYTE TOTAL: 231[LF] == Contents of files in the log/22/ directory after test 1288 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] [CR][LF] contents[LF] [LF] CONNECT CODE: 200[LF] RECEIVED HEADER BYTE TOTAL: 231[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1288 ../src/curl -q --include --trace-ascii log/22/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:38725 http://127.0.0.1:41477/we/want/that/page/1288 > log/22/stdout1288 2> log/22/stderr1288 === End of file commands.log === Start of file http2_server.log 05:47:51.122641 Run as proxy, CONNECT to host 127.0.0.1 05:47:51.122776 Running HTTP IPv4 version on port 38725 05:47:51.122829 Wrote pid 148868 to log/22/server/http2_server.pid 05:47:51.122865 Wrote port 38725 to log/22/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:47:52.063704 ====> Client connect 05:47:52.063739 accept_connection 3 returned 4 05:47:52.063758 accept_connection 3 returned 0 05:47:52.063774 Read 93 bytes 05:47:52.063784 Process 93 bytes request 05:47:52.063795 Got request: GET /verifiedserver HTTP/1.1 05:47:52.063804 Are-we-friendly question received 05:47:52.063831 Wrote request (93 bytes) input to log/22/server.input 05:47:52.063848 Identifying ourselves as friends 05:47:52.065623 Response sent (56 bytes) and written to log/22/server.response 05:47:52.065639 special request received, no persistency 05:47:52.065648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 40456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1288 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1288 ==149290== ==149290== Process terminating with default action of signal 4 (SIGILL) ==149290== Illegal opcode at address 0x4014883 ==149290== at 0x4014883: getparameter (tool_getparam.c:2899) ==149290== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149290== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149290== by 0x4004208: main (tool_main.c:189) === End of file valgrind1288 test 1305...[internal hash create/destroy testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1305 ./unit/units unit1305 1305 > log/8/stdout1305 2> log/8/stderr1305 -------e-v- OK (1242 out of 1773, remaining: 01:05, took 1.768s, duration: 02:33) test 1308...[formpost tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1308 ./libtest/libtests lib1308 log/3/test-1308 > log/3/stdout1308 2> log/3/stderr1308 libtests returned 132, when expecting 0 1308: exit FAILED == Contents of files in the log/3/ directory after test 1308 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1308 ./libtest/libtests lib1308 log/3/test-1308 > log/3/stdout1308 2> log/3/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file stderr1308 URL: log/3/test-1308 === End of file stderr1308 === Start of file test-1308 Piece of the file that is to uploaded as a formpost === End of file test-1308 === Start of file valgrind1308 ==149769== ==149769== Process terminating with default action of signal 4 (SIGILL) ==149769== Illegal opcode at address 0x518B915 ==149769== at 0x518B915: UnknownInlinedFun (string_fortified.h:59) ==149769== by 0x518B915: curl_mime_init (mime.c:1191) ==149769== by 0x5157308: Curl_getformdata.part.0 (formdata.c:731) ==149769== by 0x5157812: UnknownInlinedFun (formdata.c:728) ==149769== by 0x5157812: curl_formget (formdata.c:637) ==149769== by 0x4024C04: test_lib1308.lto_priv.0 (lib1308.c:72) ==149769== by 0x40034B5: main (first.c:279) ==149769== 96 bytes in 1 blocks are definitely lost in loss record 647 of 796 ==149769== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==149769== by 0x518B8EF: curl_mime_init (mime.c:1184) ==149769== by 0x5157308: Curl_getformdata.part.0 (formdata.c:731) ==149769== by 0x5157812: UnknownInlinedFun (formdata.c:728) ==149769== by 0x5157812: curl_formget (formdata.c:637) ==149769== by 0x4024C04: test_lib1308.lto_priv.0 (lib1308.c:72) ==149769== by 0x40034B5: main (first.c:279) ==149769== === End of file valgrind1308 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1298 ../src/curl -q --output log/23/curl1298.out --include --trace-ascii log/23/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:33217/" -H "Testno: 1298" > log/23/stdout1298 2> log/23/stderr1298 test 1309...[splay unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1309 ./unit/units unit1309 - > log/2/stdout1309 2> log/2/stderr1309 1309: stdout FAILED: --- log/2/check-expected 2026-03-14 05:47:55.277949319 +0000 +++ log/2/check-generated 2026-03-14 05:47:55.271282652 +0000 @@ -1,1537 +0,0 @@ -Result:[LF] - 0.1013[3][LF] - 0.1003[2][LF] - 0.954[3][LF] - 0.944[1][LF] -0.934[0][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[9][LF] - 0.757[8][LF] - 0.718[7][LF] - 0.708[10][LF] - 0.698[9][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[6][LF] - 0.531[9][LF] - 0.521[10][LF] - 0.472[8][LF] - 0.462[9][LF] - 0.413[7][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -Tree look:[LF] - 0.1013[3][LF] - 0.1003[2][LF] - 0.954[3][LF] - 0.944[1][LF] -0.934[0][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[9][LF] - 0.757[8][LF] - 0.718[7][LF] - 0.708[10][LF] - 0.698[9][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[6][LF] - 0.531[9][LF] - 0.521[10][LF] - 0.472[8][LF] - 0.462[9][LF] - 0.413[7][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -remove pointer 7, payload 718[LF] -Tree look:[LF] - 0.1013[5][LF] - 0.1003[4][LF] - 0.954[5][LF] - 0.944[3][LF] - 0.934[2][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[2][LF] - 0.826[5][LF] - 0.816[4][LF] - 0.777[3][LF] - 0.767[5][LF] - 0.757[4][LF] -0.708[0][LF] - 0.698[2][LF] - 0.659[3][LF] - 0.649[4][LF] - 0.639[5][LF] - 0.600[7][LF] - 0.590[8][LF] - 0.580[6][LF] - 0.541[1][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.472[4][LF] - 0.462[5][LF] - 0.413[3][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -remove pointer 8, payload 236[LF] -Tree look:[LF] - 0.1013[7][LF] - 0.1003[6][LF] - 0.954[7][LF] - 0.944[5][LF] - 0.934[4][LF] - 0.895[3][LF] - 0.885[6][LF] - 0.875[5][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[7][LF] - 0.757[6][LF] - 0.708[2][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[1][LF] - 0.531[6][LF] - 0.521[7][LF] - 0.472[5][LF] - 0.462[6][LF] - 0.413[4][LF] - 0.403[3][LF] - 0.393[2][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[3][LF] - 0.295[6][LF] - 0.285[5][LF] - 0.275[4][LF] -0.226[0][LF] - 0.216[1][LF] - 0.177[3][LF] - 0.167[4][LF] - 0.157[2][LF] - 0.118[3][LF] - 0.108[5][LF] - 0.98[4][LF] - 0.59[5][LF] - 0.49[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove pointer 9, payload 777[LF] -Tree look:[LF] - 0.1013[6][LF] - 0.1003[5][LF] - 0.954[6][LF] - 0.944[4][LF] - 0.934[3][LF] - 0.895[2][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[1][LF] - 0.826[3][LF] - 0.816[2][LF] -0.767[0][LF] - 0.757[2][LF] - 0.708[1][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[2][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] - 0.354[7][LF] - 0.344[6][LF] - 0.334[5][LF] - 0.295[8][LF] - 0.285[7][LF] - 0.275[6][LF] - 0.226[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.167[7][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[8][LF] - 0.49[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 10, payload 295[LF] -Tree look:[LF] - 0.1013[8][LF] - 0.1003[7][LF] - 0.954[8][LF] - 0.944[6][LF] - 0.934[5][LF] - 0.895[4][LF] - 0.885[6][LF] - 0.875[5][LF] - 0.836[3][LF] - 0.826[5][LF] - 0.816[4][LF] - 0.767[2][LF] - 0.757[3][LF] - 0.708[1][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[2][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] - 0.354[6][LF] - 0.344[5][LF] - 0.334[3][LF] -0.285[0][LF] - 0.275[2][LF] - 0.226[1][LF] - 0.216[2][LF] - 0.177[4][LF] - 0.167[5][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.108[6][LF] - 0.98[5][LF] - 0.59[6][LF] - 0.49[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 11, payload 836[LF] -Tree look:[LF] - 0.1013[5][LF] - 0.1003[4][LF] - 0.954[5][LF] - 0.944[3][LF] - 0.934[2][LF] - 0.895[1][LF] - 0.885[3][LF] - 0.875[2][LF] -0.826[0][LF] - 0.816[2][LF] - 0.767[1][LF] - 0.757[3][LF] - 0.708[2][LF] - 0.698[5][LF] - 0.659[6][LF] - 0.649[7][LF] - 0.639[8][LF] - 0.600[10][LF] - 0.590[11][LF] - 0.580[9][LF] - 0.541[4][LF] - 0.531[10][LF] - 0.521[11][LF] - 0.472[9][LF] - 0.462[10][LF] - 0.413[8][LF] - 0.403[7][LF] - 0.393[6][LF] - 0.354[8][LF] - 0.344[7][LF] - 0.334[5][LF] - 0.285[3][LF] - 0.275[5][LF] - 0.226[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.108[9][LF] - 0.98[8][LF] - 0.59[9][LF] - 0.49[11][LF] - 0.39[10][LF] - 0.0[11][LF] -remove pointer 12, payload 354[LF] -Tree look:[LF] - 0.1013[7][LF] - 0.1003[6][LF] - 0.954[7][LF] - 0.944[5][LF] - 0.934[4][LF] - 0.895[3][LF] - 0.885[5][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[3][LF] - 0.767[1][LF] - 0.757[3][LF] - 0.708[2][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.649[6][LF] - 0.639[7][LF] - 0.600[9][LF] - 0.590[10][LF] - 0.580[8][LF] - 0.541[3][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] -0.344[0][LF] - 0.334[1][LF] - 0.285[2][LF] - 0.275[4][LF] - 0.226[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.167[7][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[8][LF] - 0.49[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 13, payload 895[LF] -Tree look:[LF] - 0.1013[4][LF] - 0.1003[3][LF] - 0.954[4][LF] - 0.944[2][LF] - 0.934[1][LF] -0.885[0][LF] - 0.875[2][LF] - 0.826[1][LF] - 0.816[3][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[5][LF] - 0.531[10][LF] - 0.521[11][LF] - 0.472[9][LF] - 0.462[10][LF] - 0.413[8][LF] - 0.403[7][LF] - 0.393[6][LF] - 0.344[3][LF] - 0.334[4][LF] - 0.285[5][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[9][LF] - 0.108[11][LF] - 0.98[10][LF] - 0.59[11][LF] - 0.49[13][LF] - 0.39[12][LF] - 0.0[13][LF] -remove pointer 14, payload 413[LF] -Tree look:[LF] - 0.1013[6][LF] - 0.1003[5][LF] - 0.954[6][LF] - 0.944[4][LF] - 0.934[3][LF] - 0.885[2][LF] - 0.875[3][LF] - 0.826[1][LF] - 0.816[3][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[5][LF] - 0.659[6][LF] - 0.649[7][LF] - 0.639[8][LF] - 0.600[10][LF] - 0.590[11][LF] - 0.580[9][LF] - 0.541[3][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.472[4][LF] - 0.462[5][LF] -0.403[0][LF] - 0.393[2][LF] - 0.344[1][LF] - 0.334[2][LF] - 0.285[3][LF] - 0.275[5][LF] - 0.226[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.108[9][LF] - 0.98[8][LF] - 0.59[9][LF] - 0.49[11][LF] - 0.39[10][LF] - 0.0[11][LF] -remove pointer 15, payload 954[LF] -Tree look:[LF] - 0.1013[2][LF] - 0.1003[1][LF] -0.944[0][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[7][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[5][LF] - 0.531[7][LF] - 0.521[8][LF] - 0.472[6][LF] - 0.462[7][LF] - 0.403[3][LF] - 0.393[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[6][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[8][LF] - 0.177[10][LF] - 0.167[11][LF] - 0.157[9][LF] - 0.118[10][LF] - 0.108[12][LF] - 0.98[11][LF] - 0.59[12][LF] - 0.49[14][LF] - 0.39[13][LF] - 0.0[14][LF] -remove pointer 16, payload 472[LF] -Tree look:[LF] - 0.1013[4][LF] - 0.1003[3][LF] - 0.944[2][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[3][LF] - 0.531[4][LF] - 0.521[5][LF] -0.462[0][LF] - 0.403[1][LF] - 0.393[3][LF] - 0.344[2][LF] - 0.334[3][LF] - 0.285[4][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[6][LF] - 0.177[8][LF] - 0.167[9][LF] - 0.157[7][LF] - 0.118[8][LF] - 0.108[10][LF] - 0.98[9][LF] - 0.59[10][LF] - 0.49[12][LF] - 0.39[11][LF] - 0.0[12][LF] -remove pointer 17, payload 1013[LF] -Tree look:[LF] -0.1003[0][LF] - 0.944[2][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[6][LF] - 0.767[5][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[7][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[4][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.462[2][LF] - 0.403[3][LF] - 0.393[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[6][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[8][LF] - 0.177[10][LF] - 0.167[11][LF] - 0.157[9][LF] - 0.118[10][LF] - 0.108[12][LF] - 0.98[11][LF] - 0.59[12][LF] - 0.49[14][LF] - 0.39[13][LF] - 0.0[14][LF] -remove pointer 18, payload 531[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[2][LF] -0.521[0][LF] - 0.462[1][LF] - 0.403[2][LF] - 0.393[4][LF] - 0.344[3][LF] - 0.334[4][LF] - 0.285[5][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[9][LF] - 0.108[11][LF] - 0.98[10][LF] - 0.59[11][LF] - 0.49[13][LF] - 0.39[12][LF] - 0.0[13][LF] -remove pointer 19, payload 49[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[7][LF] - 0.767[6][LF] - 0.757[8][LF] - 0.708[7][LF] - 0.698[8][LF] - 0.659[9][LF] - 0.649[10][LF] - 0.639[11][LF] - 0.600[13][LF] - 0.590[14][LF] - 0.580[12][LF] - 0.541[4][LF] - 0.521[2][LF] - 0.462[1][LF] - 0.403[3][LF] - 0.393[4][LF] - 0.344[2][LF] - 0.334[4][LF] - 0.285[3][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[4][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[5][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[6][LF] -0.39[0][LF] - 0.0[1][LF] -remove pointer 20, payload 590[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[3][LF] - 0.659[5][LF] - 0.649[4][LF] - 0.639[5][LF] - 0.600[6][LF] -0.580[0][LF] - 0.541[2][LF] - 0.521[1][LF] - 0.462[2][LF] - 0.403[5][LF] - 0.393[6][LF] - 0.344[4][LF] - 0.334[6][LF] - 0.285[5][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[6][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[7][LF] - 0.108[10][LF] - 0.98[9][LF] - 0.59[8][LF] - 0.39[3][LF] - 0.0[4][LF] -remove pointer 21, payload 108[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[4][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.649[6][LF] - 0.639[7][LF] - 0.600[8][LF] - 0.580[2][LF] - 0.541[3][LF] - 0.521[1][LF] - 0.462[2][LF] - 0.403[5][LF] - 0.393[6][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[3][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[4][LF] -0.98[0][LF] - 0.59[2][LF] - 0.39[1][LF] - 0.0[2][LF] -remove pointer 22, payload 649[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.944[4][LF] - 0.934[2][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[1][LF] - 0.757[4][LF] - 0.708[3][LF] - 0.698[2][LF] - 0.659[3][LF] -0.639[0][LF] - 0.600[2][LF] - 0.580[1][LF] - 0.541[3][LF] - 0.521[2][LF] - 0.462[4][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] - 0.285[5][LF] - 0.275[9][LF] - 0.226[8][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[6][LF] - 0.98[3][LF] - 0.59[5][LF] - 0.39[4][LF] - 0.0[5][LF] -remove pointer 23, payload 167[LF] -Tree look:[LF] - 0.1003[5][LF] - 0.944[6][LF] - 0.934[4][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[3][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.639[2][LF] - 0.600[3][LF] - 0.580[1][LF] - 0.541[3][LF] - 0.521[2][LF] - 0.462[4][LF] - 0.403[6][LF] - 0.393[7][LF] - 0.344[5][LF] - 0.334[6][LF] - 0.285[3][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[4][LF] - 0.177[5][LF] -0.157[0][LF] - 0.118[1][LF] - 0.98[2][LF] - 0.59[4][LF] - 0.39[3][LF] - 0.0[4][LF] -remove pointer 24, payload 708[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.944[4][LF] - 0.934[2][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[1][LF] - 0.757[2][LF] -0.698[0][LF] - 0.659[2][LF] - 0.639[1][LF] - 0.600[3][LF] - 0.580[2][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[6][LF] - 0.403[8][LF] - 0.393[9][LF] - 0.344[7][LF] - 0.334[8][LF] - 0.285[5][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[6][LF] - 0.177[7][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.98[5][LF] - 0.59[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove pointer 25, payload 226[LF] -Tree look:[LF] - 0.1003[5][LF] - 0.944[6][LF] - 0.934[4][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[3][LF] - 0.757[4][LF] - 0.698[2][LF] - 0.659[3][LF] - 0.639[1][LF] - 0.600[3][LF] - 0.580[2][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[5][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] - 0.285[3][LF] - 0.275[4][LF] -0.216[0][LF] - 0.177[2][LF] - 0.157[1][LF] - 0.118[2][LF] - 0.98[3][LF] - 0.59[5][LF] - 0.39[4][LF] - 0.0[5][LF] -remove pointer 26, payload 767[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[3][LF] -0.757[0][LF] - 0.698[1][LF] - 0.659[3][LF] - 0.639[2][LF] - 0.600[5][LF] - 0.580[4][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[7][LF] - 0.403[9][LF] - 0.393[10][LF] - 0.344[8][LF] - 0.334[9][LF] - 0.285[5][LF] - 0.275[6][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 27, payload 285[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[5][LF] - 0.875[6][LF] - 0.826[4][LF] - 0.816[5][LF] - 0.757[2][LF] - 0.698[1][LF] - 0.659[3][LF] - 0.639[2][LF] - 0.600[4][LF] - 0.580[3][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[5][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] -0.275[0][LF] - 0.216[1][LF] - 0.177[3][LF] - 0.157[2][LF] - 0.118[3][LF] - 0.98[4][LF] - 0.59[6][LF] - 0.39[5][LF] - 0.0[6][LF] -remove pointer 28, payload 826[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[2][LF] - 0.875[3][LF] -0.816[0][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[6][LF] - 0.580[5][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[7][LF] - 0.403[9][LF] - 0.393[10][LF] - 0.344[8][LF] - 0.334[9][LF] - 0.275[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.98[7][LF] - 0.59[9][LF] - 0.39[8][LF] - 0.0[9][LF] -remove pointer 29, payload 344[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.816[2][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[5][LF] - 0.580[3][LF] - 0.541[6][LF] - 0.521[5][LF] - 0.462[4][LF] - 0.403[5][LF] - 0.393[6][LF] -0.334[0][LF] - 0.275[1][LF] - 0.216[2][LF] - 0.177[4][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.98[5][LF] - 0.59[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove pointer 30, payload 885[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] -0.875[0][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[4][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[5][LF] - 0.541[8][LF] - 0.521[7][LF] - 0.462[6][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 31, payload 403[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[3][LF] - 0.541[6][LF] - 0.521[5][LF] - 0.462[4][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 32, payload 944[LF] -Tree look:[LF] - 0.1003[1][LF] -0.934[0][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[4][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[5][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 33, payload 462[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[2][LF] - 0.541[4][LF] - 0.521[3][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 34, payload 1003[LF] -Tree look:[LF] -0.934[0][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[4][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[3][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove pointer 35, payload 521[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[2][LF] - 0.541[3][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove pointer 36, payload 39[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.757[5][LF] - 0.698[6][LF] - 0.659[8][LF] - 0.639[7][LF] - 0.600[8][LF] - 0.580[4][LF] - 0.541[5][LF] - 0.393[2][LF] - 0.334[1][LF] - 0.275[3][LF] - 0.216[2][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[3][LF] - 0.98[4][LF] - 0.59[5][LF] -0.0[0][LF] -remove pointer 37, payload 580[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[3][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[5][LF] -0.541[0][LF] - 0.393[1][LF] - 0.334[2][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[7][LF] - 0.0[3][LF] -remove pointer 38, payload 98[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.757[4][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.541[2][LF] - 0.393[1][LF] - 0.334[2][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.157[5][LF] - 0.118[3][LF] -0.59[0][LF] - 0.0[1][LF] -remove pointer 39, payload 639[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.816[2][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[3][LF] -0.600[0][LF] - 0.541[1][LF] - 0.393[2][LF] - 0.334[4][LF] - 0.275[7][LF] - 0.216[6][LF] - 0.177[8][LF] - 0.157[7][LF] - 0.118[5][LF] - 0.59[3][LF] - 0.0[4][LF] -remove pointer 40, payload 157[LF] -Tree look:[LF] - 0.934[5][LF] - 0.875[6][LF] - 0.816[4][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.600[2][LF] - 0.541[1][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[5][LF] -0.118[0][LF] - 0.59[1][LF] - 0.0[2][LF] -remove pointer 41, payload 698[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.816[2][LF] - 0.757[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[4][LF] - 0.334[5][LF] - 0.275[7][LF] - 0.216[6][LF] - 0.177[7][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 42, payload 216[LF] -Tree look:[LF] - 0.934[5][LF] - 0.875[6][LF] - 0.816[4][LF] - 0.757[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[4][LF] - 0.334[3][LF] - 0.275[4][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 43, payload 757[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[5][LF] - 0.334[4][LF] - 0.275[5][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 44, payload 275[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[4][LF] - 0.334[2][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 45, payload 816[LF] -Tree look:[LF] - 0.934[1][LF] - 0.875[2][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[4][LF] - 0.393[5][LF] - 0.334[3][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 46, payload 334[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[3][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 47, payload 875[LF] -Tree look:[LF] - 0.934[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[4][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 48, payload 393[LF] -Tree look:[LF] - 0.934[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove pointer 49, payload 934[LF] -Tree look:[LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove pointer 0, payload 0[LF] -Tree look:[LF] - 0.659[1][LF] -0.600[0][LF] - 0.541[3][LF] - 0.177[2][LF] - 0.118[1][LF] - 0.59[2][LF] -remove pointer 1, payload 541[LF] -Tree look:[LF] - 0.659[2][LF] - 0.600[1][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] -remove pointer 2, payload 59[LF] -Tree look:[LF] - 0.659[3][LF] - 0.600[2][LF] - 0.177[1][LF] -0.118[0][LF] -remove pointer 3, payload 600[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] - 0.118[1][LF] -remove pointer 4, payload 118[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] -remove pointer 5, payload 659[LF] -Tree look:[LF] -0.177[0][LF] -remove pointer 6, payload 177[LF] -Removing nodes not larger than 0[LF] -removed payload 0[0][LF] -Removing nodes not larger than 100[LF] -removed payload 39[0][LF] -removed payload 49[0][LF] -removed payload 49[1][LF] -removed payload 59[0][LF] -removed payload 59[1][LF] -removed payload 59[2][LF] -removed payload 98[0][LF] -removed payload 98[1][LF] -removed payload 98[2][LF] -Removing nodes not larger than 200[LF] -removed payload 108[0][LF] -removed payload 118[0][LF] -removed payload 118[1][LF] -removed payload 157[0][LF] -removed payload 157[1][LF] -removed payload 167[0][LF] -removed payload 167[1][LF] -removed payload 167[2][LF] -removed payload 177[0][LF] -Removing nodes not larger than 300[LF] -removed payload 216[0][LF] -removed payload 226[0][LF] -removed payload 226[1][LF] -removed payload 236[0][LF] -removed payload 236[1][LF] -removed payload 236[2][LF] -removed payload 275[0][LF] -removed payload 275[1][LF] -removed payload 275[2][LF] -removed payload 285[0][LF] -removed payload 295[0][LF] -removed payload 295[1][LF] -Removing nodes not larger than 400[LF] -removed payload 334[0][LF] -removed payload 334[1][LF] -removed payload 344[0][LF] -removed payload 344[1][LF] -removed payload 344[2][LF] -removed payload 354[0][LF] -removed payload 393[0][LF] -Removing nodes not larger than 500[LF] -removed payload 403[0][LF] -removed payload 403[1][LF] -removed payload 413[0][LF] -removed payload 413[1][LF] -removed payload 413[2][LF] -removed payload 462[0][LF] -removed payload 472[0][LF] -removed payload 472[1][LF] -Removing nodes not larger than 600[LF] -removed payload 521[0][LF] -removed payload 521[1][LF] -removed payload 521[2][LF] -removed payload 531[0][LF] -removed payload 541[0][LF] -removed payload 541[1][LF] -removed payload 580[0][LF] -removed payload 580[1][LF] -removed payload 590[0][LF] -removed payload 590[1][LF] -removed payload 590[2][LF] -removed payload 600[0][LF] -Removing nodes not larger than 700[LF] -removed payload 639[0][LF] -removed payload 649[0][LF] -removed payload 649[1][LF] -removed payload 659[0][LF] -removed payload 659[1][LF] -removed payload 659[2][LF] -removed payload 698[0][LF] -removed payload 698[1][LF] -removed payload 698[2][LF] -Removing nodes not larger than 800[LF] -removed payload 708[0][LF] -removed payload 718[0][LF] -removed payload 718[1][LF] -removed payload 757[0][LF] -removed payload 757[1][LF] -removed payload 767[0][LF] -removed payload 767[1][LF] -removed payload 767[2][LF] -removed payload 777[0][LF] -Removing nodes not larger than 900[LF] -removed payload 816[0][LF] -removed payload 826[0][LF] -removed payload 826[1][LF] -removed payload 836[0][LF] -removed payload 836[1][LF] -removed payload 836[2][LF] -removed payload 875[0][LF] -removed payload 875[1][LF] -removed payload 875[2][LF] -removed payload 885[0][LF] -removed payload 895[0][LF] -removed payload 895[1][LF] -Removing nodes not larger than 1000[LF] -removed payload 934[0][LF] -removed payload 934[1][LF] -removed payload 944[0][LF] -removed payload 944[1][LF] -removed payload 944[2][LF] -removed payload 954[0][LF] -Removing nodes not larger than 1100[LF] -removed payload 1003[0][LF] -removed payload 1003[1][LF] -removed payload 1013[0][LF] -removed payload 1013[1][LF] -removed payload 1013[2][LF] == Contents of files in the log/2/ directory after test 1309 === Start of file check-expected Result:[LF] 0.1013[3][LF] 0.1003[2][LF] 0.954[3][LF] 0.944[1][LF] 0.934[0][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[9][LF] 0.757[8][LF] 0.718[7][LF] 0.708[10][LF] 0.698[9][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[6][LF] 0.531[9][LF] 0.521[10][LF] 0.472[8][LF] 0.462[9][LF] 0.413[7][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] Tree look:[LF] 0.1013[3][LF] 0.1003[2][LF] 0.954[3][LF] 0.944[1][LF] 0.934[0][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[9][LF] 0.757[8][LF] 0.718[7][LF] 0.708[10][LF] 0.698[9][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[6][LF] 0.531[9][LF] 0.521[10][LF] 0.472[8][LF] 0.462[9][LF] 0.413[7][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] remove pointer 7, payload 718[LF] Tree look:[LF] 0.1013[5][LF] 0.1003[4][LF] 0.954[5][LF] 0.944[3][LF] 0.934[2][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[2][LF] 0.826[5][LF] 0.816[4][LF] 0.777[3][LF] 0.767[5][LF] 0.757[4][LF] 0.708[0][LF] 0.698[2][LF] 0.659[3][LF] 0.649[4][LF] 0.639[5][LF] 0.600[7][LF] 0.590[8][LF] 0.580[6][LF] 0.541[1][LF] 0.531[5][LF] 0.521[6][LF] 0.472[4][LF] 0.462[5][LF] 0.413[3][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] remove pointer 8, payload 236[LF] Tree look:[LF] 0.1013[7][LF] 0.1003[6][LF] 0.954[7][LF] 0.944[5][LF] 0.934[4][LF] 0.895[3][LF] 0.885[6][LF] 0.875[5][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[7][LF] 0.757[6][LF] 0.708[2][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[1][LF] 0.531[6][LF] 0.521[7][LF] 0.472[5][LF] 0.462[6][LF] 0.413[4][LF] 0.403[3][LF] 0.393[2][LF] 0.354[5][LF] 0.344[4][LF] 0.334[3][LF] 0.295[6][LF] 0.285[5][LF] 0.275[4][LF] 0.226[0][LF] 0.216[1][LF] 0.177[3][LF] 0.167[4][LF] 0.157[2][LF] 0.118[3][LF] 0.108[5][LF] 0.98[4][LF] 0.59[5][LF] 0.49[7][LF] 0.39[6][LF] 0.0[7][LF] remove pointer 9, payload 777[LF] Tree look:[LF] 0.1013[6][LF] 0.1003[5][LF] 0.954[6][LF] 0.944[4][LF] 0.934[3][LF] 0.895[2][LF] 0.885[4][LF] 0.875[3][LF] 0.836[1][LF] 0.826[3][LF] 0.816[2][LF] 0.767[0][LF] 0.757[2][LF] 0.708[1][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[2][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.354[7][LF] 0.344[6][LF] 0.334[5][LF] 0.295[8][LF] 0.285[7][LF] 0.275[6][LF] 0.226[3][LF] 0.216[4][LF] 0.177[6][LF] 0.167[7][LF] 0.157[5][LF] 0.118[6][LF] 0.108[8][LF] 0.98[7][LF] 0.59[8][LF] 0.49[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 10, payload 295[LF] Tree look:[LF] 0.1013[8][LF] 0.1003[7][LF] 0.954[8][LF] 0.944[6][LF] 0.934[5][LF] 0.895[4][LF] 0.885[6][LF] 0.875[5][LF] 0.836[3][LF] 0.826[5][LF] 0.816[4][LF] 0.767[2][LF] 0.757[3][LF] 0.708[1][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[2][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.354[6][LF] 0.344[5][LF] 0.334[3][LF] 0.285[0][LF] 0.275[2][LF] 0.226[1][LF] 0.216[2][LF] 0.177[4][LF] 0.167[5][LF] 0.157[3][LF] 0.118[4][LF] 0.108[6][LF] 0.98[5][LF] 0.59[6][LF] 0.49[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 11, payload 836[LF] Tree look:[LF] 0.1013[5][LF] 0.1003[4][LF] 0.954[5][LF] 0.944[3][LF] 0.934[2][LF] 0.895[1][LF] 0.885[3][LF] 0.875[2][LF] 0.826[0][LF] 0.816[2][LF] 0.767[1][LF] 0.757[3][LF] 0.708[2][LF] 0.698[5][LF] 0.659[6][LF] 0.649[7][LF] 0.639[8][LF] 0.600[10][LF] 0.590[11][LF] 0.580[9][LF] 0.541[4][LF] 0.531[10][LF] 0.521[11][LF] 0.472[9][LF] 0.462[10][LF] 0.413[8][LF] 0.403[7][LF] 0.393[6][LF] 0.354[8][LF] 0.344[7][LF] 0.334[5][LF] 0.285[3][LF] 0.275[5][LF] 0.226[4][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[7][LF] 0.108[9][LF] 0.98[8][LF] 0.59[9][LF] 0.49[11][LF] 0.39[10][LF] 0.0[11][LF] remove pointer 12, payload 354[LF] Tree look:[LF] 0.1013[7][LF] 0.1003[6][LF] 0.954[7][LF] 0.944[5][LF] 0.934[4][LF] 0.895[3][LF] 0.885[5][LF] 0.875[4][LF] 0.826[2][LF] 0.816[3][LF] 0.767[1][LF] 0.757[3][LF] 0.708[2][LF] 0.698[4][LF] 0.659[5][LF] 0.649[6][LF] 0.639[7][LF] 0.600[9][LF] 0.590[10][LF] 0.580[8][LF] 0.541[3][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.344[0][LF] 0.334[1][LF] 0.285[2][LF] 0.275[4][LF] 0.226[3][LF] 0.216[4][LF] 0.177[6][LF] 0.167[7][LF] 0.157[5][LF] 0.118[6][LF] 0.108[8][LF] 0.98[7][LF] 0.59[8][LF] 0.49[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 13, payload 895[LF] Tree look:[LF] 0.1013[4][LF] 0.1003[3][LF] 0.954[4][LF] 0.944[2][LF] 0.934[1][LF] 0.885[0][LF] 0.875[2][LF] 0.826[1][LF] 0.816[3][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[5][LF] 0.531[10][LF] 0.521[11][LF] 0.472[9][LF] 0.462[10][LF] 0.413[8][LF] 0.403[7][LF] 0.393[6][LF] 0.344[3][LF] 0.334[4][LF] 0.285[5][LF] 0.275[7][LF] 0.226[6][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[9][LF] 0.108[11][LF] 0.98[10][LF] 0.59[11][LF] 0.49[13][LF] 0.39[12][LF] 0.0[13][LF] remove pointer 14, payload 413[LF] Tree look:[LF] 0.1013[6][LF] 0.1003[5][LF] 0.954[6][LF] 0.944[4][LF] 0.934[3][LF] 0.885[2][LF] 0.875[3][LF] 0.826[1][LF] 0.816[3][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[5][LF] 0.659[6][LF] 0.649[7][LF] 0.639[8][LF] 0.600[10][LF] 0.590[11][LF] 0.580[9][LF] 0.541[3][LF] 0.531[5][LF] 0.521[6][LF] 0.472[4][LF] 0.462[5][LF] 0.403[0][LF] 0.393[2][LF] 0.344[1][LF] 0.334[2][LF] 0.285[3][LF] 0.275[5][LF] 0.226[4][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[7][LF] 0.108[9][LF] 0.98[8][LF] 0.59[9][LF] 0.49[11][LF] 0.39[10][LF] 0.0[11][LF] remove pointer 15, payload 954[LF] Tree look:[LF] 0.1013[2][LF] 0.1003[1][LF] 0.944[0][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[5][LF] 0.767[4][LF] 0.757[7][LF] 0.708[6][LF] 0.698[7][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[5][LF] 0.531[7][LF] 0.521[8][LF] 0.472[6][LF] 0.462[7][LF] 0.403[3][LF] 0.393[5][LF] 0.344[4][LF] 0.334[5][LF] 0.285[6][LF] 0.275[8][LF] 0.226[7][LF] 0.216[8][LF] 0.177[10][LF] 0.167[11][LF] 0.157[9][LF] 0.118[10][LF] 0.108[12][LF] 0.98[11][LF] 0.59[12][LF] 0.49[14][LF] 0.39[13][LF] 0.0[14][LF] remove pointer 16, payload 472[LF] Tree look:[LF] 0.1013[4][LF] 0.1003[3][LF] 0.944[2][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[5][LF] 0.767[4][LF] 0.757[6][LF] 0.708[5][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[3][LF] 0.531[4][LF] 0.521[5][LF] 0.462[0][LF] 0.403[1][LF] 0.393[3][LF] 0.344[2][LF] 0.334[3][LF] 0.285[4][LF] 0.275[6][LF] 0.226[5][LF] 0.216[6][LF] 0.177[8][LF] 0.167[9][LF] 0.157[7][LF] 0.118[8][LF] 0.108[10][LF] 0.98[9][LF] 0.59[10][LF] 0.49[12][LF] 0.39[11][LF] 0.0[12][LF] remove pointer 17, payload 1013[LF] Tree look:[LF] 0.1003[0][LF] 0.944[2][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[6][LF] 0.767[5][LF] 0.757[7][LF] 0.708[6][LF] 0.698[7][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[4][LF] 0.531[5][LF] 0.521[6][LF] 0.462[2][LF] 0.403[3][LF] 0.393[5][LF] 0.344[4][LF] 0.334[5][LF] 0.285[6][LF] 0.275[8][LF] 0.226[7][LF] 0.216[8][LF] 0.177[10][LF] 0.167[11][LF] 0.157[9][LF] 0.118[10][LF] 0.108[12][LF] 0.98[11][LF] 0.59[12][LF] 0.49[14][LF] 0.39[13][LF] 0.0[14][LF] remove pointer 18, payload 531[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[5][LF] 0.767[4][LF] 0.757[6][LF] 0.708[5][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[2][LF] 0.521[0][LF] 0.462[1][LF] 0.403[2][LF] 0.393[4][LF] 0.344[3][LF] 0.334[4][LF] 0.285[5][LF] 0.275[7][LF] 0.226[6][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[9][LF] 0.108[11][LF] 0.98[10][LF] 0.59[11][LF] 0.49[13][LF] 0.39[12][LF] 0.0[13][LF] remove pointer 19, payload 49[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[7][LF] 0.767[6][LF] 0.757[8][LF] 0.708[7][LF] 0.698[8][LF] 0.659[9][LF] 0.649[10][LF] 0.639[11][LF] 0.600[13][LF] 0.590[14][LF] 0.580[12][LF] 0.541[4][LF] 0.521[2][LF] 0.462[1][LF] 0.403[3][LF] 0.393[4][LF] 0.344[2][LF] 0.334[4][LF] 0.285[3][LF] 0.275[6][LF] 0.226[5][LF] 0.216[4][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[5][LF] 0.108[8][LF] 0.98[7][LF] 0.59[6][LF] 0.39[0][LF] 0.0[1][LF] remove pointer 20, payload 590[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[3][LF] 0.659[5][LF] 0.649[4][LF] 0.639[5][LF] 0.600[6][LF] 0.580[0][LF] 0.541[2][LF] 0.521[1][LF] 0.462[2][LF] 0.403[5][LF] 0.393[6][LF] 0.344[4][LF] 0.334[6][LF] 0.285[5][LF] 0.275[8][LF] 0.226[7][LF] 0.216[6][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[7][LF] 0.108[10][LF] 0.98[9][LF] 0.59[8][LF] 0.39[3][LF] 0.0[4][LF] remove pointer 21, payload 108[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[4][LF] 0.757[7][LF] 0.708[6][LF] 0.698[5][LF] 0.659[7][LF] 0.649[6][LF] 0.639[7][LF] 0.600[8][LF] 0.580[2][LF] 0.541[3][LF] 0.521[1][LF] 0.462[2][LF] 0.403[5][LF] 0.393[6][LF] 0.344[4][LF] 0.334[5][LF] 0.285[3][LF] 0.275[7][LF] 0.226[6][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[4][LF] 0.98[0][LF] 0.59[2][LF] 0.39[1][LF] 0.0[2][LF] remove pointer 22, payload 649[LF] Tree look:[LF] 0.1003[3][LF] 0.944[4][LF] 0.934[2][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[1][LF] 0.757[4][LF] 0.708[3][LF] 0.698[2][LF] 0.659[3][LF] 0.639[0][LF] 0.600[2][LF] 0.580[1][LF] 0.541[3][LF] 0.521[2][LF] 0.462[4][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.285[5][LF] 0.275[9][LF] 0.226[8][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[6][LF] 0.98[3][LF] 0.59[5][LF] 0.39[4][LF] 0.0[5][LF] remove pointer 23, payload 167[LF] Tree look:[LF] 0.1003[5][LF] 0.944[6][LF] 0.934[4][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[3][LF] 0.757[6][LF] 0.708[5][LF] 0.698[4][LF] 0.659[5][LF] 0.639[2][LF] 0.600[3][LF] 0.580[1][LF] 0.541[3][LF] 0.521[2][LF] 0.462[4][LF] 0.403[6][LF] 0.393[7][LF] 0.344[5][LF] 0.334[6][LF] 0.285[3][LF] 0.275[6][LF] 0.226[5][LF] 0.216[4][LF] 0.177[5][LF] 0.157[0][LF] 0.118[1][LF] 0.98[2][LF] 0.59[4][LF] 0.39[3][LF] 0.0[4][LF] remove pointer 24, payload 708[LF] Tree look:[LF] 0.1003[3][LF] 0.944[4][LF] 0.934[2][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[1][LF] 0.757[2][LF] 0.698[0][LF] 0.659[2][LF] 0.639[1][LF] 0.600[3][LF] 0.580[2][LF] 0.541[5][LF] 0.521[4][LF] 0.462[6][LF] 0.403[8][LF] 0.393[9][LF] 0.344[7][LF] 0.334[8][LF] 0.285[5][LF] 0.275[8][LF] 0.226[7][LF] 0.216[6][LF] 0.177[7][LF] 0.157[3][LF] 0.118[4][LF] 0.98[5][LF] 0.59[7][LF] 0.39[6][LF] 0.0[7][LF] remove pointer 25, payload 226[LF] Tree look:[LF] 0.1003[5][LF] 0.944[6][LF] 0.934[4][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[3][LF] 0.757[4][LF] 0.698[2][LF] 0.659[3][LF] 0.639[1][LF] 0.600[3][LF] 0.580[2][LF] 0.541[5][LF] 0.521[4][LF] 0.462[5][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.285[3][LF] 0.275[4][LF] 0.216[0][LF] 0.177[2][LF] 0.157[1][LF] 0.118[2][LF] 0.98[3][LF] 0.59[5][LF] 0.39[4][LF] 0.0[5][LF] remove pointer 26, payload 767[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[3][LF] 0.757[0][LF] 0.698[1][LF] 0.659[3][LF] 0.639[2][LF] 0.600[5][LF] 0.580[4][LF] 0.541[7][LF] 0.521[6][LF] 0.462[7][LF] 0.403[9][LF] 0.393[10][LF] 0.344[8][LF] 0.334[9][LF] 0.285[5][LF] 0.275[6][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 27, payload 285[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[5][LF] 0.875[6][LF] 0.826[4][LF] 0.816[5][LF] 0.757[2][LF] 0.698[1][LF] 0.659[3][LF] 0.639[2][LF] 0.600[4][LF] 0.580[3][LF] 0.541[5][LF] 0.521[4][LF] 0.462[5][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.275[0][LF] 0.216[1][LF] 0.177[3][LF] 0.157[2][LF] 0.118[3][LF] 0.98[4][LF] 0.59[6][LF] 0.39[5][LF] 0.0[6][LF] remove pointer 28, payload 826[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[2][LF] 0.875[3][LF] 0.816[0][LF] 0.757[1][LF] 0.698[2][LF] 0.659[5][LF] 0.639[4][LF] 0.600[6][LF] 0.580[5][LF] 0.541[7][LF] 0.521[6][LF] 0.462[7][LF] 0.403[9][LF] 0.393[10][LF] 0.344[8][LF] 0.334[9][LF] 0.275[3][LF] 0.216[4][LF] 0.177[6][LF] 0.157[5][LF] 0.118[6][LF] 0.98[7][LF] 0.59[9][LF] 0.39[8][LF] 0.0[9][LF] remove pointer 29, payload 344[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[4][LF] 0.875[5][LF] 0.816[2][LF] 0.757[1][LF] 0.698[2][LF] 0.659[5][LF] 0.639[4][LF] 0.600[5][LF] 0.580[3][LF] 0.541[6][LF] 0.521[5][LF] 0.462[4][LF] 0.403[5][LF] 0.393[6][LF] 0.334[0][LF] 0.275[1][LF] 0.216[2][LF] 0.177[4][LF] 0.157[3][LF] 0.118[4][LF] 0.98[5][LF] 0.59[7][LF] 0.39[6][LF] 0.0[7][LF] remove pointer 30, payload 885[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.875[0][LF] 0.816[1][LF] 0.757[2][LF] 0.698[4][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[5][LF] 0.541[8][LF] 0.521[7][LF] 0.462[6][LF] 0.403[7][LF] 0.393[8][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 31, payload 403[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.875[2][LF] 0.816[1][LF] 0.757[2][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[3][LF] 0.541[6][LF] 0.521[5][LF] 0.462[4][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 32, payload 944[LF] Tree look:[LF] 0.1003[1][LF] 0.934[0][LF] 0.875[2][LF] 0.816[1][LF] 0.757[3][LF] 0.698[5][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[4][LF] 0.541[7][LF] 0.521[6][LF] 0.462[5][LF] 0.393[2][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 33, payload 462[LF] Tree look:[LF] 0.1003[3][LF] 0.934[2][LF] 0.875[3][LF] 0.816[1][LF] 0.757[3][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[2][LF] 0.541[4][LF] 0.521[3][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 34, payload 1003[LF] Tree look:[LF] 0.934[0][LF] 0.875[2][LF] 0.816[1][LF] 0.757[4][LF] 0.698[5][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[3][LF] 0.541[5][LF] 0.521[4][LF] 0.393[2][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove pointer 35, payload 521[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] 0.816[1][LF] 0.757[3][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[2][LF] 0.541[3][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove pointer 36, payload 39[LF] Tree look:[LF] 0.934[4][LF] 0.875[5][LF] 0.816[3][LF] 0.757[5][LF] 0.698[6][LF] 0.659[8][LF] 0.639[7][LF] 0.600[8][LF] 0.580[4][LF] 0.541[5][LF] 0.393[2][LF] 0.334[1][LF] 0.275[3][LF] 0.216[2][LF] 0.177[5][LF] 0.157[4][LF] 0.118[3][LF] 0.98[4][LF] 0.59[5][LF] 0.0[0][LF] remove pointer 37, payload 580[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] === File too long: 136 lines omitted here remove pointer 45, payload 816[LF] Tree look:[LF] 0.934[1][LF] 0.875[2][LF] 0.659[0][LF] 0.600[1][LF] 0.541[4][LF] 0.393[5][LF] 0.334[3][LF] 0.177[2][LF] 0.118[3][LF] 0.59[4][LF] 0.0[5][LF] remove pointer 46, payload 334[LF] Tree look:[LF] 0.934[3][LF] 0.875[4][LF] 0.659[2][LF] 0.600[1][LF] 0.541[2][LF] 0.393[3][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] 0.0[3][LF] remove pointer 47, payload 875[LF] Tree look:[LF] 0.934[1][LF] 0.659[0][LF] 0.600[1][LF] 0.541[3][LF] 0.393[4][LF] 0.177[2][LF] 0.118[3][LF] 0.59[4][LF] 0.0[5][LF] remove pointer 48, payload 393[LF] Tree look:[LF] 0.934[3][LF] 0.659[2][LF] 0.600[1][LF] 0.541[2][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] 0.0[3][LF] remove pointer 49, payload 934[LF] Tree look:[LF] 0.659[0][LF] 0.600[1][LF] 0.541[3][LF] 0.177[2][LF] 0.118[3][LF] 0.59[4][LF] 0.0[5][LF] remove pointer 0, payload 0[LF] Tree look:[LF] 0.659[1][LF] 0.600[0][LF] 0.541[3][LF] 0.177[2][LF] 0.118[1][LF] 0.59[2][LF] remove pointer 1, payload 541[LF] Tree look:[LF] 0.659[2][LF] 0.600[1][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] remove pointer 2, payload 59[LF] Tree look:[LF] 0.659[3][LF] 0.600[2][LF] 0.177[1][LF] 0.118[0][LF] remove pointer 3, payload 600[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] 0.118[1][LF] remove pointer 4, payload 118[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] remove pointer 5, payload 659[LF] Tree look:[LF] 0.177[0][LF] remove pointer 6, payload 177[LF] Removing nodes not larger than 0[LF] removed payload 0[0][LF] Removing nodes not larger than 100[LF] removed payload 39[0][LF] removed payload 49[0][LF] removed payload 49[1][LF] removed payload 59[0][LF] removed payload 59[1][LF] removed payload 59[2][LF] removed payload 98[0][LF] removed payload 98[1][LF] removed payload 98[2][LF] Removing nodes not larger than 200[LF] removed payload 108[0][LF] removed payload 118[0][LF] removed payload 118[1][LF] removed payload 157[0][LF] removed payload 157[1][LF] removed payload 167[0][LF] removed payload 167[1][LF] removed payload 167[2][LF] removed payload 177[0][LF] Removing nodes not larger than 300[LF] removed payload 216[0][LF] removed payload 226[0][LF] removed payload 226[1][LF] removed payload 236[0][LF] removed payload 236[1][LF] removed payload 236[2][LF] removed payload 275[0][LF] removed payload 275[1][LF] removed payload 275[2][LF] removed payload 285[0][LF] removed payload 295[0][LF] removed payload 295[1][LF] Removing nodes not larger than 400[LF] removed payload 334[0][LF] removed payload 334[1][LF] removed payload 344[0][LF] removed payload 344[1][LF] removed payload 344[2][LF] removed payload 354[0][LF] removed payload 393[0][LF] Removing nodes not larger than 500[LF] removed payload 403[0][LF] removed payload 403[1][LF] removed payload 413[0][LF] removed payload 413[1][LF] removed payload 413[2][LF] removed payload 462[0][LF] removed payload 472[0][LF] removed payload 472[1][LF] Removing nodes not larger than 600[LF] removed payload 521[0][LF] removed payload 521[1][LF] removed payload 521[2][LF] removed payload 531[0][LF] removed payload 541[0][LF] removed payload 541[1][LF] removed payload 580[0][LF] removed payload 580[1][LF] removed payload 590[0][LF] removed payload 590[1][LF] removed payload 590[2][LF] removed payload 600[0][LF] Removing nodes not larger than 700[LF] removed payload 639[0][LF] removed payload 649[0][LF] removed payload 649[1][LF] removed payload 659[0][LF] removed payload 659[1][LF] removed payload 659[2][LF] removed payload 698[0][LF] removed payload 698[1][LF] removed payload 698[2][LF] Removing nodes not larger than 800[LF] removed payload 708[0][LF] removed payload 718[0][LF] removed payload 718[1][LF] removed payload 757[0][LF] removed payload 757[1][LF] removed payload 767[0][LF] removed payload 767[1][LF] removed payload 767[2][LF] removed payload 777[0][LF] Removing nodes not larger than 900[LF] removed payload 816[0][LF] removed payload 826[0][LF] removed payload 826[1][LF] removed payload 836[0][LF] removed payload 836[1][LF] removed payload 836[2][LF] removed payload 875[0][LF] removed payload 875[1][LF] removed payload 875[2][LF] removed payload 885[0][LF] removed payload 895[0][LF] removed payload 895[1][LF] Removing nodes not larger than 1000[LF] removed payload 934[0][LF] removed payload 934[1][LF] removed payload 944[0][LF] removed payload 944[1][LF] removed payload 944[2][LF] removed payload 954[0][LF] Removing nodes not larger than 1100[LF] removed payload 1003[CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1299 ../src/curl -q --output log/11/curl1299.out --include --trace-ascii log/11/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:34551/ -H "Testno: 1299" > log/11/stdout1299 2> log/11/stderr1299 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1311 ../src/curl -q --trace-ascii log/12/trace1311 --trace-time http://127.0.0.1:36353/1311 -J -O --output-dir log/12 > log/12/stdout1311 2> log/12/stderr1311 0][LF] removed payload 1003[1][LF] removed payload 1013[0][LF] removed payload 1013[1][LF] removed payload 1013[2][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1309 ./unit/units unit1309 - > log/2/stdout1309 2> log/2/stderr1309 === End of file commands.log === Start of file server.cmd Testnum 1309 === End of file server.cmd === Start of file stderr1309 URL: - === End of file stderr1309 === Start of file valgrind1309 ==150022== ==150022== Process terminating with default action of signal 4 (SIGILL) ==150022== Illegal opcode at address 0x400E24C ==150022== at 0x400E24C: test_unit1309.lto_priv.0 (unit1309.c:77) ==150022== by 0x400B145: main (first.c:279) === End of file valgrind1309 test 1298...[HTTP GET special path with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1298 ../src/curl -q --output log/23/curl1298.out --include --trace-ascii log/23/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:33217/" -H "Testno: 1298" > log/23/stdout1298 2> log/23/stderr1298 1298: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1298 ../src/curl -q --output log/23/curl1298.out --include --trace-ascii log/23/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:33217/" -H "Testno: 1298" > log/23/stdout1298 2> log/23/stderr1298 === End of file commands.log === Start of file http_server.log 05:47:53.480085 ====> Client connect 05:47:53.480124 accept_connection 3 returned 4 05:47:53.480140 accept_connection 3 returned 0 05:47:53.480155 Read 93 bytes 05:47:53.480165 Process 93 bytes request 05:47:53.480178 Got request: GET /verifiedserver HTTP/1.1 05:47:53.480187 Are-we-friendly question received 05:47:53.480214 Wrote request (93 bytes) input to log/23/server.input 05:47:53.480232 Identifying ourselves as friends 05:47:53.480311 Response sent (56 bytes) and written to log/23/server.response 05:47:53.480323 special request received, no persistency 05:47:53.480331 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 46848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1298 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1298 ==149461== ==149461== Process terminating with default action of signal 4 (SIGILL) ==149461== Illegal opcode at address 0x4014883 ==149461== at 0x4014883: getparameter (tool_getparam.c:2899) ==149461== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149461== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149461== by 0x4004208: main (tool_main.c:189) === End of file valgrind1298 test 1299...[Send "OPTIONS *" with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1299 ../src/curl -q --output log/11/curl1299.out --include --trace-ascii log/11/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:34551/ -H "Testno: 1299" > log/11/stdout1299 2> log/11/stderr1299 1299: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1299 ../src/curl -q --output log/11/curl1299.out --include --trace-ascii log/11/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:34551/ -H "Testno: 1299" > log/11/stdout1299 2> log/11/stderr1299 === End of file commands.log === Start of file http_server.log 05:47:53.597902 ====> Client connect 05:47:53.597944 accept_connection 3 returned 4 05:47:53.597959 accept_connection 3 returned 0 05:47:53.597974 Read 93 bytes 05:47:53.597983 Process 93 bytes request 05:47:53.597996 Got request: GET /verifiedserver HTTP/1.1 05:47:53.598005 Are-we-friendly question received 05:47:53.598030 Wrote request (93 bytes) input to log/11/server.input 05:47:53.598048 Identifying ourselves as friends 05:47:53.598109 Response sent (56 bytes) and written to log/11/server.response 05:47:53.598121 special request received, no persistency 05:47:53.598130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 56950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1299 ==149567== ==149567== Process terminating with default action of signal 4 (SIGILL) ==149567== Illegal opcode at address 0x4014883 ==149567== at 0x4014883: getparameter (tool_getparam.c:2899) ==149567== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149567== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149567== by 0x4004208: main (tool_main.c:189) === End of file valgrind1299 test 1311...[HTTP GET with -J and Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1311 ../src/curl -q --trace-ascii log/12/trace1311 --trace-time http://127.0.0.1:36353/1311 -J -O --output-dir log/12 > log/12/stdout1311 2> log/12/stderr1311 1311: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1311 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1311 ../src/curl -q --trace-ascii log/12/trace1311 --trace-time http://127.0.0.1:36353/1311 -J -O --output-dir log/12 > log/12/stdout1311 2> log/12/stderr1311 === End of file commands.log === Start of file http_server.log 05:47:54.243884 ====> Client connect 05:47:54.243919 accept_connection 3 returned 4 05:47:54.243935 accept_connection 3 returned 0 05:47:54.243949 Read 93 bytes 05:47:54.243958 Process 93 bytes request 05:47:54.243971 Got request: GET /verifiedserver HTTP/1.1 05:47:54.243980 Are-we-friendly quCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1323 ./unit/units unit1323 - > log/10/stdout1323 2> log/10/stderr1323 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1310 ../src/curl -q --trace-ascii log/19/trace1310 --trace-time http://127.0.0.1:35701/junk -J -O --show-headers --output-dir log/19 > log/19/stdout1310 2> log/19/stderr1310 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1314 ../src/curl -q --output log/9/curl1314.out --include --trace-ascii log/9/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:33885 > log/9/stdout1314 2> log/9/stderr1314 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1312 ../src/curl -q --trace-ascii log/4/trace1312 --trace-time 127.0.0.1:40253/1312 -J -O --output-dir log/4 > log/4/stdout1312 2> log/4/stderr1312 estion received 05:47:54.244003 Wrote request (93 bytes) input to log/12/server.input 05:47:54.244019 Identifying ourselves as friends 05:47:54.244070 Response sent (56 bytes) and written to log/12/server.response 05:47:54.244079 special request received, no persistency 05:47:54.244088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 53872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1311 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1311 ==149959== ==149959== Process terminating with default action of signal 4 (SIGILL) ==149959== Illegal opcode at address 0x4014883 ==149959== at 0x4014883: getparameter (tool_getparam.c:2899) ==149959== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149959== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149959== by 0x4004208: main (tool_main.c:189) === End of file valgrind1311 test 1323...[curlx_tvdiff] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1323 ./unit/units unit1323 - > log/10/stdout1323 2> log/10/stderr1323 -------e-v- OK (1258 out of 1773, remaining: 01:03, took 1.122s, duration: 02:34) test 1310...[HTTP GET with -J + --show-headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1310 ../src/curl -q --trace-ascii log/19/trace1310 --trace-time http://127.0.0.1:35701/junk -J -O --show-headers --output-dir log/19 > log/19/stdout1310 2> log/19/stderr1310 1310: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1310 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1310 ../src/curl -q --trace-ascii log/19/trace1310 --trace-time http://127.0.0.1:35701/junk -J -O --show-headers --output-dir log/19 > log/19/stdout1310 2> log/19/stderr1310 === End of file commands.log === Start of file http_server.log 05:47:53.093814 ====> Client connect 05:47:53.093843 accept_connection 3 returned 4 05:47:53.093857 accept_connection 3 returned 0 05:47:53.093870 Read 93 bytes 05:47:53.093878 Process 93 bytes request 05:47:53.093891 Got request: GET /verifiedserver HTTP/1.1 05:47:53.093898 Are-we-friendly question received 05:47:53.093918 Wrote request (93 bytes) input to log/19/server.input 05:47:53.093932 Identifying ourselves as friends 05:47:53.093980 Response sent (56 bytes) and written to log/19/server.response 05:47:53.093988 special request received, no persistency 05:47:53.093996 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 45762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1310 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1310 ==149892== ==149892== Process terminating with default action of signal 4 (SIGILL) ==149892== Illegal opcode at address 0x4014883 ==149892== at 0x4014883: getparameter (tool_getparam.c:2899) ==149892== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==149892== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==149892== by 0x4004208: main (tool_main.c:189) === End of file valgrind1310 test 1314...[HTTP Location: following a // prefixed url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1314 ../src/curl -q --output log/9/curl1314.out --include --trace-ascii log/9/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:33885 > log/9/stdout1314 2> log/9/stderr1314 1314: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1314 ../src/curl -q --output log/9/curl1314.out --include --trace-ascii log/9/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:33885 > log/9/stdout1314 2> log/9/stderr1314 === End of file commands.log === Start of file http_server.log 05:47:53.576933 ====> Client connect 05:47:53.577013 accept_connection 3 returned 4 05:47:53.577032 accept_connection 3 returned 0 05:47:53.577047 Read 93 bytes 05:47:53.577057 Process 93 bytes request 05:47:53.577070 Got request: GET /verifiedserver HTTP/1.1 05:47:53.577079 Are-we-friendly question received 05:47:53.577105 Wrote request (93 bytes) input to log/9/server.input 05:47:53.577122 Identifying ourselves as friends 05:47:53.577177 Response sent (56 bytes) and written to log/9/server.response 05:47:53.577187 special request received, no persistency 05:47:53.577195 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 60518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1314 ==150195== ==150195== Process terminating with default action of signal 4 (SIGILL) ==150195== Illegal opcode at address 0x4014883 ==150195== at 0x4014883: getparameter (tool_getparam.c:2899) ==150195== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150195== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150195== by 0x4004208: main (tool_main.c:189) === End of file valgrind1314 test 1312...[HTTP GET with -J, Content-Disposition and ; in filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1312 ../src/curl -q --trace-ascii log/4/trace1312 --trace-time 127.0.0.1:40253/1312 -J -O --output-dir log/4 > log/4/stdout1312 2> log/4/stderr1312 1312: protocol FAILED! There was no content at all in theCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1297 ../src/curl -q --output log/21/curl1297.out --include --trace-ascii log/21/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:41609 http://127.0.0.1:42891/we/want/that/page/1297 > log/21/stdout1297 2> log/21/stderr1297 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1315 ../src/curl -q --output log/7/curl1315.out --include --trace-ascii log/7/trace1315 --trace-time http://127.0.0.1:39013/we/want/1315 -F name=value -F 'file=@log/7/test1315.txt,log/7/test1315.txt;type=magic/content,log/7/test1315.txt' > log/7/stdout1315 2> log/7/stderr1315 file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1312 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1312 ../src/curl -q --trace-ascii log/4/trace1312 --trace-time 127.0.0.1:40253/1312 -J -O --output-dir log/4 > log/4/stdout1312 2> log/4/stderr1312 === End of file commands.log === Start of file http_server.log 05:47:53.365058 ====> Client connect 05:47:53.365093 accept_connection 3 returned 4 05:47:53.365109 accept_connection 3 returned 0 05:47:53.365123 Read 93 bytes 05:47:53.365133 Process 93 bytes request 05:47:53.365146 Got request: GET /verifiedserver HTTP/1.1 05:47:53.365155 Are-we-friendly question received 05:47:53.365179 Wrote request (93 bytes) input to log/4/server.input 05:47:53.365195 Identifying ourselves as friends 05:47:53.365250 Response sent (56 bytes) and written to log/4/server.response 05:47:53.365259 special request received, no persistency 05:47:53.365268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1312 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1312 ==150014== ==150014== Process terminating with default action of signal 4 (SIGILL) ==150014== Illegal opcode at address 0x4014883 ==150014== at 0x4014883: getparameter (tool_getparam.c:2899) ==150014== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150014== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150014== by 0x4004208: main (tool_main.c:189) === End of file valgrind1312 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/21/server/http2_server.pid" --logfile "log/21/http2_server.log" --logdir "log/21" --portfile log/21/server/http2_server.port --config log/21/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 149444 port 41609 * pid http-proxy => 149444 149444 test 1297...[CONNECT to peer that returns nothing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1297 ../src/curl -q --output log/21/curl1297.out --include --trace-ascii log/21/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:41609 http://127.0.0.1:42891/we/want/that/page/1297 > log/21/stdout1297 2> log/21/stderr1297 1297: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1297 ../src/curl -q --output log/21/curl1297.out --include --trace-ascii log/21/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:41609 http://127.0.0.1:42891/we/want/that/page/1297 > log/21/stdout1297 2> log/21/stderr1297 === End of file commands.log === Start of file http2_server.log 05:47:53.530729 Run as proxy, CONNECT to host 127.0.0.1 05:47:53.530832 Running HTTP IPv4 version on port 41609 05:47:53.530868 Wrote pid 149444 to log/21/server/http2_server.pid 05:47:53.530892 Wrote port 41609 to log/21/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:47:52.483699 ====> Client connect 05:47:52.483733 accept_connection 3 returned 4 05:47:52.483749 accept_connection 3 returned 0 05:47:52.483763 Read 93 bytes 05:47:52.483772 Process 93 bytes request 05:47:52.483784 Got request: GET /verifiedserver HTTP/1.1 05:47:52.483793 Are-we-friendly question received 05:47:52.483817 Wrote request (93 bytes) input to log/21/server.input 05:47:52.483832 Identifying ourselves as friends 05:47:52.483896 Response sent (56 bytes) and written to log/21/server.response 05:47:52.483905 special request received, no persistency 05:47:52.483913 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1297 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1297 ==150137== ==150137== Process terminating with default action of signal 4 (SIGILL) ==150137== Illegal opcode at address 0x4014883 ==150137== at 0x4014883: getparameter (tool_getparam.c:2899) ==150137== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150137== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150137== by 0x4004208: main (tool_main.c:189) === End of file valgrind1297 test 1315...[HTTP RFC1867-type formposting - -F with three files, one with explicit type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1315 ../src/curl -q --output log/7/curl1315.out --include --trace-ascii log/7/trace1315 --trace-time http://127.0.0.1:39013/we/want/1315 -F name=value -F 'file=@log/7/test1315.txt,log/7/test1315.txt;type=magic/content,log/7/test1315.txt' > log/7/stdout1315 2> log/7/stderr1315 1315: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1315 ../src/curl -q --output log/7/curl1315.out --include --trace-ascii log/7/trace1315 --trace-time http://127.0.0.1:39013/we/want/1315 -F name=value -F 'file=@log/7/test1315.txt,log/7/test1315.txt;type=magic/content,log/7/test1315.txt' > log/7/stdout1315 2> log/7/stderr1315 === End of file commands.log === Start of file http_server.log 05:47:53.607025 ====> Client connect 05:47:53.607063 accept_connection 3 returned 4 05:47:53.607081 accept_connection 3 returned 0 05:47:53.607097 Read 93 bytes 05:47:53.607105 Process 93 bytes request 05:47:53.607118 Got request: GET /verifiedserver HTTP/1.1 05:47:53.607126 Are-we-friendly question received 05:47:53.607151 Wrote request (93 bytes) input to log/7/server.input 05:47:53.607165 Identifying ourselves as friends 05:47:53.607233 Response sent (56 bytes) and written to log/7/server.response 05:47:53.607241 special request received, no persistency 05:47:53.607249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1313 ../src/curl -q --trace-ascii log/16/trace1313 --trace-time http://127.0.0.1:44673/1313 -J -O --output-dir log/16 > log/16/stdout1313 2> log/16/stderr1313 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1318 ../src/curl -q --output log/15/curl1318.out --include --trace-ascii log/15/trace1318 --trace-time --resolve MiXeDcAsE.cOm:43413:127.0.0.1 http://MiXeDcAsE.cOm:43413/1318 http://mixedcase.com:43413/13180001 > log/15/stdout1318 2> log/15/stderr1318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1322 ../src/curl -q --output log/1/curl1322.out --include --trace-ascii log/1/trace1322 --trace-time --ipv4 --resolve example.com.:38765:127.0.0.1 http://example.com.:38765/1322 > log/1/stdout1322 2> log/1/stderr1322 (127.0.0.1 port 39013) from 127.0.0.1 port 45536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==150267== ==150267== Process terminating with default action of signal 4 (SIGILL) ==150267== Illegal opcode at address 0x4014883 ==150267== at 0x4014883: getparameter (tool_getparam.c:2899) ==150267== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150267== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150267== by 0x4004208: main (tool_main.c:189) === End of file valgrind1315 test 1318...[HTTP with --resolve and same hostname using different cases] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1318 ../src/curl -q --output log/15/curl1318.out --include --trace-ascii log/15/trace1318 --trace-time --resolve MiXeDcAsE.cOm:43413:127.0.0.1 http://MiXeDcAsE.cOm:43413/1318 http://mixedcase.com:43413/13180001 > log/15/stdout1318 2> log/15/stderr1318 1318: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1318 ../src/curl -q --output log/15/curl1318.out --include --trace-ascii log/15/trace1318 --trace-time --resolve MiXeDcAsE.cOm:43413:127.0.0.1 http://MiXeDcAsE.cOm:43413/1318 http://mixedcase.com:43413/13180001 > log/15/stdout1318 2> log/15/stderr1318 === End of file commands.log === Start of file http_server.log 05:47:54.812276 ====> Client connect 05:47:54.812310 accept_connection 3 returned 4 05:47:54.812326 accept_connection 3 returned 0 05:47:54.812339 Read 93 bytes 05:47:54.812349 Process 93 bytes request 05:47:54.812362 Got request: GET /verifiedserver HTTP/1.1 05:47:54.812371 Are-we-friendly question received 05:47:54.812396 Wrote request (93 bytes) input to log/15/server.input 05:47:54.812412 Identifying ourselves as friends 05:47:54.812466 Response sent (56 bytes) and written to log/15/server.response 05:47:54.812475 special request received, no persistency 05:47:54.812484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 57570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1318 ==150383== ==150383== Process terminating with default action of signal 4 (SIGILL) ==150383== Illegal opcode at address 0x4014883 ==150383== at 0x4014883: getparameter (tool_getparam.c:2899) ==150383== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150383== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150383== by 0x4004208: main (tool_main.c:189) === End of file valgrind1318 test 1313...[HTTP GET with -J, Content-Disposition, uneven quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1313 ../src/curl -q --trace-ascii log/16/trace1313 --trace-time http://127.0.0.1:44673/1313 -J -O --output-dir log/16 > log/16/stdout1313 2> log/16/stderr1313 1313: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1313 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1313 ../src/curl -q --trace-ascii log/16/trace1313 --trace-time http://127.0.0.1:44673/1313 -J -O --output-dir log/16 > log/16/stdout1313 2> log/16/stderr1313 === End of file commands.log === Start of file http_server.log 05:47:54.499934 ====> Client connect 05:47:54.499965 accept_connection 3 returned 4 05:47:54.499978 accept_connection 3 returned 0 05:47:54.499990 Read 93 bytes 05:47:54.499998 Process 93 bytes request 05:47:54.500011 Got request: GET /verifiedserver HTTP/1.1 05:47:54.500018 Are-we-friendly question received 05:47:54.500037 Wrote request (93 bytes) input to log/16/server.input 05:47:54.500050 Identifying ourselves as friends 05:47:54.500097 Response sent (56 bytes) and written to log/16/server.response 05:47:54.500105 special request received, no persistency 05:47:54.500112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 43748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1313 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1313 ==150106== ==150106== Process terminating with default action of signal 4 (SIGILL) ==150106== Illegal opcode at address 0x4014883 ==150106== at 0x4014883: getparameter (tool_getparam.c:2899) ==150106== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150106== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150106== by 0x4004208: main (tool_main.c:189) === End of file valgrind1313 test 1322...[HTTP with --resolve and hostname with trailing dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1322 ../src/curl -q --output log/1/curl1322.out --include --trace-ascii log/1/trace1322 --trace-time --ipv4 --resolve example.com.:38765:127.0.0.1 http://example.com.:38765/1322 > log/1/stdout1322 2> log/1/stderr1322 1322: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1322 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1322 ../src/curl -q --output log/1/curl1322.out --include --trace-ascii log/1/trace1322 --trace-time --ipv4 --resolve example.com.:38765:127.0.0.1 http://example.com.:38765/1322 > log/1/stdout1322 2> log/1/stderr1322 === End of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1317 ../src/curl -q --output log/24/curl1317.out --include --trace-ascii log/24/trace1317 --trace-time --resolve example.com:33593:127.0.0.1 http://example.com:33593/1317 > log/24/stdout1317 2> log/24/stderr1317 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1325 ../src/curl -q --output log/14/curl1325.out --include --trace-ascii log/14/trace1325 --trace-time http://127.0.0.1:35549/we/1325 -L -d "moo" > log/14/stdout1325 2> log/14/stderr1325 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1327 ../src/curl -q --include --trace-ascii log/6/trace1327 --trace-time telnet://127.0.0.1:33035 -T log/6/1327.txt log/6/stdout1327 2> log/6/stderr1327 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1328 ../src/curl -q --output log/22/curl1328.out --include --trace-ascii log/22/trace1328 --trace-time -f 'http://127.0.0.1:41477/[13280000-13280001]' -o log/22/#1 > log/22/stdout1328 2> log/22/stderr1328 file commands.log === Start of file http_server.log 05:47:55.033867 ====> Client connect 05:47:55.033903 accept_connection 3 returned 4 05:47:55.033919 accept_connection 3 returned 0 05:47:55.039858 Read 93 bytes 05:47:55.039882 Process 93 bytes request 05:47:55.039895 Got request: GET /verifiedserver HTTP/1.1 05:47:55.039905 Are-we-friendly question received 05:47:55.039944 Wrote request (93 bytes) input to log/1/server.input 05:47:55.039963 Identifying ourselves as friends 05:47:55.040024 Response sent (56 bytes) and written to log/1/server.response 05:47:55.040036 special request received, no persistency 05:47:55.040044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 40884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1322 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1322 ==150577== ==150577== Process terminating with default action of signal 4 (SIGILL) ==150577== Illegal opcode at address 0x4014883 ==150577== at 0x4014883: getparameter (tool_getparam.c:2899) ==150577== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150577== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150577== by 0x4004208: main (tool_main.c:189) === End of file valgrind1322 test 1317...[HTTP with --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1317 ../src/curl -q --output log/24/curl1317.out --include --trace-ascii log/24/trace1317 --trace-time --resolve example.com:33593:127.0.0.1 http://example.com:33593/1317 > log/24/stdout1317 2> log/24/stderr1317 1317: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1317 ../src/curl -q --output log/24/curl1317.out --include --trace-ascii log/24/trace1317 --trace-time --resolve example.com:33593:127.0.0.1 http://example.com:33593/1317 > log/24/stdout1317 2> log/24/stderr1317 === End of file commands.log === Start of file http_server.log 05:47:54.813711 ====> Client connect 05:47:54.813753 accept_connection 3 returned 4 05:47:54.813771 accept_connection 3 returned 0 05:47:54.813787 Read 93 bytes 05:47:54.813798 Process 93 bytes request 05:47:54.813811 Got request: GET /verifiedserver HTTP/1.1 05:47:54.813820 Are-we-friendly question received 05:47:54.813848 Wrote request (93 bytes) input to log/24/server.input 05:47:54.813867 Identifying ourselves as friends 05:47:54.813949 Response sent (56 bytes) and written to log/24/server.response 05:47:54.813960 special request received, no persistency 05:47:54.813970 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1317 ==150388== ==150388== Process terminating with default action of signal 4 (SIGILL) ==150388== Illegal opcode at address 0x4014883 ==150388== at 0x4014883: getparameter (tool_getparam.c:2899) ==150388== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150388== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150388== by 0x4004208: main (tool_main.c:189) === End of file valgrind1317 test 1325...[HTTP 308-redirect with POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1325 ../src/curl -q --output log/14/curl1325.out --include --trace-ascii log/14/trace1325 --trace-time http://127.0.0.1:35549/we/1325 -L -d "moo" > log/14/stdout1325 2> log/14/stderr1325 1325: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1325 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1325 ../src/curl -q --output log/14/curl1325.out --include --trace-ascii log/14/trace1325 --trace-time http://127.0.0.1:35549/we/1325 -L -d "moo" > log/14/stdout1325 2> log/14/stderr1325 === End of file commands.log === Start of file http_server.log 05:47:55.209271 ====> Client connect 05:47:55.209308 accept_connection 3 returned 4 05:47:55.209326 accept_connection 3 returned 0 05:47:55.209342 Read 93 bytes 05:47:55.209352 Process 93 bytes request 05:47:55.209365 Got request: GET /verifiedserver HTTP/1.1 05:47:55.209374 Are-we-friendly question received 05:47:55.209402 Wrote request (93 bytes) input to log/14/server.input 05:47:55.209419 Identifying ourselves as friends 05:47:55.209481 Response sent (56 bytes) and written to log/14/server.response 05:47:55.209494 special request received, no persistency 05:47:55.209503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 35742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1325 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1325 ==150661== ==150661== Process terminating with default action of signal 4 (SIGILL) ==150661== Illegal opcode at address 0x4014883 ==150661== at 0x4014883: getparameter (tool_getparam.c:2899) ==150661== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150661== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150661== by 0x4004208: main (tool_main.c:189) === End of file valgrind1325 test 1327...[TELNET check of upload with stdout redirected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1327 ../src/curl -q --include --trace-ascii log/6/trace1327 --trace-time telnet://127.0.0.1:33035 -T log/6/1327.txt log/6/stdout1327 2> log/6/stderr1327 1327: protocol FAILED! There was no cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1334 ../src/curl -q --trace-ascii log/11/trace1334 --trace-time http://127.0.0.1:34551/1334 -O -D log/11/heads1334 --output-dir log/11 > log/11/stdout1334 2> log/11/stderr1334 ontent at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1327 === Start of file 1327.txt GET /we/want/1327 HTTP/1.0 === End of file 1327.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1327 ../src/curl -q --include --trace-ascii log/6/trace1327 --trace-time telnet://127.0.0.1:33035 -T log/6/1327.txt log/6/stdout1327 2> log/6/stderr1327 === End of file commands.log === Start of file http_server.log 05:47:54.520376 ====> Client connect 05:47:54.520418 accept_connection 3 returned 4 05:47:54.520440 accept_connection 3 returned 0 05:47:54.520456 Read 93 bytes 05:47:54.520468 Process 93 bytes request 05:47:54.520482 Got request: GET /verifiedserver HTTP/1.1 05:47:54.520492 Are-we-friendly question received 05:47:54.520520 Wrote request (93 bytes) input to log/6/server.input 05:47:54.520542 Identifying ourselves as friends 05:47:54.520616 Response sent (56 bytes) and written to log/6/server.response 05:47:54.520628 special request received, no persistency 05:47:54.520638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 59142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file stdin-for-1327 GET /ignore/for/1327 HTTP/1.0 === End of file stdin-for-1327 === Start of file valgrind1327 ==150763== ==150763== Process terminating with default action of signal 4 (SIGILL) ==150763== Illegal opcode at address 0x4014883 ==150763== at 0x4014883: getparameter (tool_getparam.c:2899) ==150763== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150763== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150763== by 0x4004208: main (tool_main.c:189) === End of file valgrind1327 test 1328...[HTTP GET a globbed range with -f] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1328 ../src/curl -q --output log/22/curl1328.out --include --trace-ascii log/22/trace1328 --trace-time -f 'http://127.0.0.1:41477/[13280000-13280001]' -o log/22/#1 > log/22/stdout1328 2> log/22/stderr1328 1328: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1328 ../src/curl -q --output log/22/curl1328.out --include --trace-ascii log/22/trace1328 --trace-time -f 'http://127.0.0.1:41477/[13280000-13280001]' -o log/22/#1 > log/22/stdout1328 2> log/22/stderr1328 === End of file commands.log === Start of file http_server.log 05:47:55.580414 ====> Client connect 05:47:55.580474 accept_connection 3 returned 4 05:47:55.580496 accept_connection 3 returned 0 05:47:55.580515 Read 93 bytes 05:47:55.580525 Process 93 bytes request 05:47:55.580539 Got request: GET /verifiedserver HTTP/1.1 05:47:55.580548 Are-we-friendly question received 05:47:55.580575 Wrote request (93 bytes) input to log/22/server.input 05:47:55.580592 Identifying ourselves as friends 05:47:55.580683 Response sent (56 bytes) and written to log/22/server.response 05:47:55.580696 special request received, no persistency 05:47:55.580705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 40470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1328 ==150806== ==150806== Process terminating with default action of signal 4 (SIGILL) ==150806== Illegal opcode at address 0x4014883 ==150806== at 0x4014883: getparameter (tool_getparam.c:2899) ==150806== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150806== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150806== by 0x4004208: main (tool_main.c:189) === End of file valgrind1328 test 1334...[HTTP GET with -O without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1334 ../src/curl -q --trace-ascii log/11/trace1334 --trace-time http://127.0.0.1:34551/1334 -O -D log/11/heads1334 --output-dir log/11 > log/11/stdout1334 2> log/11/stderr1334 1334: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1334 ../src/curl -q --trace-ascii log/11/trace1334 --trace-time http://127.0.0.1:34551/1334 -O -D log/11/heads1334 --output-dir log/11 > log/11/stdout1334 2> log/11/stderr1334 === End of file commands.log === Start of file http_server.log 05:47:55.962855 ====> Client connect 05:47:55.962892 accept_connection 3 returned 4 05:47:55.962910 accept_connection 3 returned 0 05:47:55.962927 Read 93 bytes 05:47:55.962937 Process 93 bytes request 05:47:55.962951 Got request: GET /verifiedserver HTTP/1.1 05:47:55.962960 Are-we-friendly question received 05:47:55.962987 Wrote request (93 bytes) input to log/11/server.input 05:47:55.963006 Identifying ourselves as friends 05:47:55.963068 Response sent (56 bytes) and written to log/11/server.response 05:47:55.963079 special request received, no persistency 05:47:55.963088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 56956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1334 ==151109== ==151109== Process terminating with default action of signal 4 (SIGILL) ==151109== Illegal opcode at address 0x4014883 ==151109CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1321 ../src/curl -q --output log/18/curl1321.out --include --trace-ascii log/18/trace1321 --trace-time 'imap://imap.1321:44071/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:36441 > log/18/stdout1321 2> log/18/stderr1321 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1329 ../src/curl -q --output log/8/curl1329.out --include --trace-ascii log/8/trace1329 --trace-time http://127.0.0.1:45623/we/want/that/page/1329 -x "/server" > log/8/stdout1329 2> log/8/stderr1329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1332 ../src/curl -q --output log/2/curl1332.out --include --trace-ascii log/2/trace1332 --trace-time http://127.0.0.1:41799/blah/1332 -L -d "moo" --post303 > log/2/stdout1332 2> log/2/stderr1332 == at 0x4014883: getparameter (tool_getparam.c:2899) ==151109== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151109== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151109== by 0x4004208: main (tool_main.c:189) === End of file valgrind1334 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/18/server/http2_server.pid" --logfile "log/18/http2_server.log" --logdir "log/18" --portfile log/18/server/http2_server.port --config log/18/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150578 port 36441 * pid http-proxy => 150578 150578 test 1321...[IMAP FETCH tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1321 ../src/curl -q --output log/18/curl1321.out --include --trace-ascii log/18/trace1321 --trace-time 'imap://imap.1321:44071/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:36441 > log/18/stdout1321 2> log/18/stderr1321 1321: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1321 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1321 ../src/curl -q --output log/18/curl1321.out --include --trace-ascii log/18/trace1321 --trace-time 'imap://imap.1321:44071/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:36441 > log/18/stdout1321 2> log/18/stderr1321 === End of file commands.log === Start of file http2_server.log 05:47:54.105794 Run as proxy, CONNECT to host 127.0.0.1 05:47:54.105940 Running HTTP IPv4 version on port 36441 05:47:54.105989 Wrote pid 150578 to log/18/server/http2_server.pid 05:47:54.106021 Wrote port 36441 to log/18/server/http2_server.port === End of file http2_server.log === Start of file imap_server.log 05:47:54.557646 ====> Client connect 05:47:54.557794 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:47:54.558077 < "A001 CAPABILITY" 05:47:54.558109 > "A001 BAD Command[CR][LF]" 05:47:54.558263 < "A002 LIST "verifiedserver" *" 05:47:54.558288 LIST_imap got "verifiedserver" * 05:47:54.558311 > "* LIST () "/" "WE ROOLZ: 119831"[CR][LF]" 05:47:54.558327 > "A002 OK LIST Completed[CR][LF]" 05:47:54.558340 return proof we are we 05:47:54.605498 < "A003 LOGOUT" 05:47:54.605581 > "* BYE curl IMAP server signing off[CR][LF]" 05:47:54.605608 > "A003 OK LOGOUT completed[CR][LF]" 05:47:54.615983 MAIN sockfilt said DISC 05:47:54.616076 ====> Client disconnected 05:47:54.616169 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:47:54.018978 ====> Client connect 05:47:54.019256 Received DATA (on stdin) 05:47:54.019268 > 164 bytes data, server => client 05:47:54.019279 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:54.019289 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:54.019297 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:47:54.019379 < 17 bytes data, client => server 05:47:54.019389 'A001 CAPABILITY\r\n' 05:47:54.019560 Received DATA (on stdin) 05:47:54.019570 > 18 bytes data, server => client 05:47:54.019579 'A001 BAD Command\r\n' 05:47:54.019636 < 30 bytes data, client => server 05:47:54.019646 'A002 LIST "verifiedserver" *\r\n' 05:47:54.019788 Received DATA (on stdin) 05:47:54.019798 > 34 bytes data, server => client 05:47:54.019807 '* LIST () "/" "WE ROOLZ: 119831"\r\n' 05:47:54.019824 Received DATA (on stdin) 05:47:54.019833 > 24 bytes data, server => client 05:47:54.019842 'A002 OK LIST Completed\r\n' 05:47:54.066755 < 13 bytes data, client => server 05:47:54.066786 'A003 LOGOUT\r\n' 05:47:54.067066 Received DATA (on stdin) 05:47:54.067080 > 36 bytes data, server => client 05:47:54.067092 '* BYE curl IMAP server signing off\r\n' 05:47:54.067125 Received DATA (on stdin) 05:47:54.067137 > 26 bytes data, server => client 05:47:54.067147 'A003 OK LOGOUT completed\r\n' 05:47:54.068215 ====> Client disconnect 05:47:54.080317 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1321 === End of file server.cmd === Start of file valgrind1321 ==151216== ==151216== Process terminating with default action of signal 4 (SIGILL) ==151216== Illegal opcode at address 0x4014883 ==151216== at 0x4014883: getparameter (tool_getparam.c:2899) ==151216== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151216== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151216== by 0x4004208: main (tool_main.c:189) === End of file valgrind1321 test 1332...[HTTP POST with 303 redirect and --post303] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1332 ../src/curl -q --output log/2/curl1332.out --include --trace-ascii log/2/trace1332 --trace-time http://127.0.0.1:41799/blah/1332 -L -d "moo" --post303 > log/2/stdout1332 2> log/2/stderr1332 1332: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1332 ../src/curl -q --output log/2/curl1332.out --include --trace-ascii log/2/trace1332 --trace-time http://127.0.0.1:41799/blah/1332 -L -d "moo" --post303 > log/2/stdout1332 2> log/2/stderr1332 === End of file commands.log === Start of file http_server.log 05:47:55.822568 ====> Client connect 05:47:55.822610 accept_connection 3 returned 4 05:47:55.822628 accept_connection 3 returned 0 05:47:55.830473 Read 93 bytes 05:47:55.830499 Process 93 bytes request 05:47:55.830513 Got request: GET /verifiedserver HTTP/1.1 05:47:55.830523 Are-we-friendly question received 05:47:55.830570 Wrote request (93 bytes) input to log/2/server.input 05:47:55.830588 Identifying ourselves as friends 05:47:55.830643 Response sent (56 bytes) and written to log/2/server.response 05:47:55.830653 special request received, no persistency 05:47:55.830662 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1332 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1332 ==150997== ==150997== Process terminating with default action of signal 4 (SIGILL) ==150997== Illegal opcode at address 0x4014883 ==150997== at 0x4014883: getparameter (tool_getparam.c:2899) ==150997== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150997== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150997== by 0x4004208: main (tool_main.c:189) === End of file valgrind1332 test 1329...[/-prefixed proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/staCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1331 ../src/curl -q --output log/3/curl1331.out --include --trace-ascii log/3/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:39591 http://z.x.com/1331 --proxy-anyauth -c log/3/dump1331 > log/3/stdout1331 2> log/3/stderr1331 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1335 ../src/curl -q --trace-ascii log/12/trace1335 --trace-time http://127.0.0.1:36353/1335 -O -D - --output-dir="log/12" > log/12/stdout1335 2> log/12/stderr1335 rtdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1329 ../src/curl -q --output log/8/curl1329.out --include --trace-ascii log/8/trace1329 --trace-time http://127.0.0.1:45623/we/want/that/page/1329 -x "/server" > log/8/stdout1329 2> log/8/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/8/ directory after test 1329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1329 ../src/curl -q --output log/8/curl1329.out --include --trace-ascii log/8/trace1329 --trace-time http://127.0.0.1:45623/we/want/that/page/1329 -x "/server" > log/8/stdout1329 2> log/8/stderr1329 === End of file commands.log === Start of file http_server.log 05:47:54.630401 ====> Client connect 05:47:54.630447 accept_connection 3 returned 4 05:47:54.630466 accept_connection 3 returned 0 05:47:54.630482 Read 93 bytes 05:47:54.630492 Process 93 bytes request 05:47:54.630505 Got request: GET /verifiedserver HTTP/1.1 05:47:54.630514 Are-we-friendly question received 05:47:54.630538 Wrote request (93 bytes) input to log/8/server.input 05:47:54.630555 Identifying ourselves as friends 05:47:54.630635 Response sent (56 bytes) and written to log/8/server.response 05:47:54.630645 special request received, no persistency 05:47:54.630653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 36764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1329 ==150822== ==150822== Process terminating with default action of signal 4 (SIGILL) ==150822== Illegal opcode at address 0x4014883 ==150822== at 0x4014883: getparameter (tool_getparam.c:2899) ==150822== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150822== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150822== by 0x4004208: main (tool_main.c:189) === End of file valgrind1329 test 1331...[HTTP --proxy-anyauth and 407 with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1331 ../src/curl -q --output log/3/curl1331.out --include --trace-ascii log/3/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:39591 http://z.x.com/1331 --proxy-anyauth -c log/3/dump1331 > log/3/stdout1331 2> log/3/stderr1331 1331: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1331 ../src/curl -q --output log/3/curl1331.out --include --trace-ascii log/3/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:39591 http://z.x.com/1331 --proxy-anyauth -c log/3/dump1331 > log/3/stdout1331 2> log/3/stderr1331 === End of file commands.log === Start of file http_server.log 05:47:55.788025 ====> Client connect 05:47:55.788056 accept_connection 3 returned 4 05:47:55.788071 accept_connection 3 returned 0 05:47:55.788083 Read 93 bytes 05:47:55.788093 Process 93 bytes request 05:47:55.788105 Got request: GET /verifiedserver HTTP/1.1 05:47:55.788114 Are-we-friendly question received 05:47:55.788140 Wrote request (93 bytes) input to log/3/server.input 05:47:55.788154 Identifying ourselves as friends 05:47:55.788205 Response sent (56 bytes) and written to log/3/server.response 05:47:55.788214 special request received, no persistency 05:47:55.788222 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 57988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1331 ==150983== ==150983== Process terminating with default action of signal 4 (SIGILL) ==150983== Illegal opcode at address 0x4014883 ==150983== at 0x4014883: getparameter (tool_getparam.c:2899) ==150983== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150983== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150983== by 0x4004208: main (tool_main.c:189) === End of file valgrind1331 test 1335...[HTTP GET with -O without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1335 ../src/curl -q --trace-ascii log/12/trace1335 --trace-time http://127.0.0.1:36353/1335 -O -D - --output-dir="log/12" > log/12/stdout1335 2> log/12/stderr1335 1335: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1335 ../src/curl -q --trace-ascii log/12/trace1335 --trace-time http://127.0.0.1:36353/1335 -O -D - --output-dir="log/12" > log/12/stdout1335 2> log/12/stderr1335 === End of file commands.log === Start of file http_server.log 05:47:56.117279 ====> Client connect 05:47:56.117384 accept_connection 3 returned 4 05:47:56.117404 accept_connection 3 returned 0 05:47:56.117419 Read 93 bytes 05:47:56.117430 Process 93 bytes request 05:47:56.117444 Got request: GET /verifiedserver HTTP/1.1 05:47:56.117453 Are-we-friendly question received 05:47:56.117480 Wrote request (93 bytes) input to log/12/server.input 05:47:56.117501 Identifying ourselves as friends 05:47:56.117564 Response sent (56 bytes) and written to log/12/server.response 05:47:56.117576 special request received, no persistency 05:47:56.117586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 53880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1335 ==151296== ==151296CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1333 ../src/curl -q --output log/23/curl1333.out --include --trace-ascii log/23/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:33217/1333 > log/23/stdout1333 2> log/23/stderr1333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1319 ../src/curl -q --output log/5/curl1319.out --include --trace-ascii log/5/trace1319 --trace-time pop3://pop.1319:44395/1319 -p -x 127.0.0.1:34131 -u user:secret > log/5/stdout1319 2> log/5/stderr1319 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1324 ../src/curl -q --output log/13/curl1324.out --include --trace-ascii log/13/trace1324 --trace-time --resolve example.com:42405:[::1] http://example.com:42405/1324 > log/13/stdout1324 2> log/13/stderr1324 == Process terminating with default action of signal 4 (SIGILL) ==151296== Illegal opcode at address 0x4014883 ==151296== at 0x4014883: getparameter (tool_getparam.c:2899) ==151296== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151296== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151296== by 0x4004208: main (tool_main.c:189) === End of file valgrind1335 test 1333...[HTTP POST zero length, chunked-encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1333 ../src/curl -q --output log/23/curl1333.out --include --trace-ascii log/23/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:33217/1333 > log/23/stdout1333 2> log/23/stderr1333 1333: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1333 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1333 ../src/curl -q --output log/23/curl1333.out --include --trace-ascii log/23/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:33217/1333 > log/23/stdout1333 2> log/23/stderr1333 === End of file commands.log === Start of file http_server.log 05:47:55.833832 ====> Client connect 05:47:55.833868 accept_connection 3 returned 4 05:47:55.833884 accept_connection 3 returned 0 05:47:55.833896 Read 93 bytes 05:47:55.833906 Process 93 bytes request 05:47:55.833917 Got request: GET /verifiedserver HTTP/1.1 05:47:55.833926 Are-we-friendly question received 05:47:55.833951 Wrote request (93 bytes) input to log/23/server.input 05:47:55.833967 Identifying ourselves as friends 05:47:55.834035 Response sent (56 bytes) and written to log/23/server.response 05:47:55.834045 special request received, no persistency 05:47:55.834053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 46856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1333 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1333 ==150992== ==150992== Process terminating with default action of signal 4 (SIGILL) ==150992== Illegal opcode at address 0x4014883 ==150992== at 0x4014883: getparameter (tool_getparam.c:2899) ==150992== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==150992== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==150992== by 0x4004208: main (tool_main.c:189) === End of file valgrind1333 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/5/server/http2_server.pid" --logfile "log/5/http2_server.log" --logdir "log/5" --portfile log/5/server/http2_server.port --config log/5/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150565 port 34131 * pid http-proxy => 150565 150565 test 1319...[POP3 fetch tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1319 ../src/curl -q --output log/5/curl1319.out --include --trace-ascii log/5/trace1319 --trace-time pop3://pop.1319:44395/1319 -p -x 127.0.0.1:34131 -u user:secret > log/5/stdout1319 2> log/5/stderr1319 1319: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1319 ../src/curl -q --output log/5/curl1319.out --include --trace-ascii log/5/trace1319 --trace-time pop3://pop.1319:44395/1319 -p -x 127.0.0.1:34131 -u user:secret > log/5/stdout1319 2> log/5/stderr1319 === End of file commands.log === Start of file http2_server.log 05:47:54.080888 Run as proxy, CONNECT to host 127.0.0.1 05:47:54.081016 Running HTTP IPv4 version on port 34131 05:47:54.081064 Wrote pid 150565 to log/5/server/http2_server.pid 05:47:54.081262 Wrote port 34131 to log/5/server/http2_server.port === End of file http2_server.log === Start of file pop3_server.log 05:47:54.507015 ====> Client connect 05:47:54.507193 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:47:54.509266 < "CAPA" 05:47:54.509314 > "-ERR Unrecognized command[CR][LF]" 05:47:54.509631 < "RETR verifiedserver" 05:47:54.509658 return proof we are we 05:47:54.509680 > "+OK Mail transfer starts[CR][LF]" 05:47:54.509701 > "WE ROOLZ: 123050[CR][LF]" 05:47:54.509718 > ".[CR][LF]" 05:47:54.559147 < "QUIT" 05:47:54.559204 > "+OK curl POP3 server signing off[CR][LF]" 05:47:54.560676 MAIN sockfilt said DISC 05:47:54.560736 ====> Client disconnected 05:47:54.560827 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:47:53.967197 ====> Client connect 05:47:53.968664 Received DATA (on stdin) 05:47:53.968684 > 164 bytes data, server => client 05:47:53.968697 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:47:53.968707 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:47:53.968718 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:47:53.970490 < 6 bytes data, client => server 05:47:53.970514 'CAPA\r\n' 05:47:53.970769 Received DATA (on stdin) 05:47:53.970781 > 27 bytes data, server => client 05:47:53.970791 '-ERR Unrecognized command\r\n' 05:47:53.970984 < 21 bytes data, client => server 05:47:53.970998 'RETR verifiedserver\r\n' 05:47:53.972716 Received DATA (on stdin) 05:47:53.972734 > 26 bytes data, server => client 05:47:53.972745 '+OK Mail transfer starts\r\n' 05:47:53.972771 Received DATA (on stdin) 05:47:53.972780 > 18 bytes data, server => client 05:47:53.972790 'WE ROOLZ: 123050\r\n' 05:47:53.972803 Received DATA (on stdin) 05:47:53.972812 > 3 bytes data, server => client 05:47:53.972821 '.\r\n' 05:47:54.020442 < 6 bytes data, client => server 05:47:54.020466 'QUIT\r\n' 05:47:54.020668 Received DATA (on stdin) 05:47:54.020682 > 34 bytes data, server => client 05:47:54.020693 '+OK curl POP3 server signing off\r\n' 05:47:54.022052 ====> Client disconnect 05:47:54.022294 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 1319 === End of file server.cmd === Start of file valgrind1319 ==151210== ==151210== Process terminating with default action of signal 4 (SIGILL) ==151210== Illegal opcode at address 0x4014883 ==151210== at 0x4014883: getparameter (tool_getparam.c:2899) ==151210== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151210== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151210== by 0x4004208: main (tool_main.c:189) === End of file valgrind1319 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_ipv6_server.pid" --logfile "log/13/http_ipv6_serverCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1336 ../src/curl -q --trace-ascii log/10/trace1336 --trace-time http://127.0.0.1:46741/1336 -O -D log/10/heads1336 --output-dir log/10 > log/10/stdout1336 2> log/10/stderr1336 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1320 ../src/curl -q --output log/20/curl1320.out --include --trace-ascii log/20/trace1320 --trace-time smtp://smtp.1320:37817/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:33193 log/20/stdout1320 2> log/20/stderr1320 .log" --logdir "log/13" --portfile log/13/server/http_ipv6_server.port --config log/13/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 150580 port 42405 * pid http-ipv6 => 150580 150580 test 1324...[HTTP with --resolve and [ipv6address]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1324 ../src/curl -q --output log/13/curl1324.out --include --trace-ascii log/13/trace1324 --trace-time --resolve example.com:42405:[::1] http://example.com:42405/1324 > log/13/stdout1324 2> log/13/stderr1324 1324: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1324 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1324 ../src/curl -q --output log/13/curl1324.out --include --trace-ascii log/13/trace1324 --trace-time --resolve example.com:42405:[::1] http://example.com:42405/1324 > log/13/stdout1324 2> log/13/stderr1324 === End of file commands.log === Start of file http_ipv6_server.log 05:47:54.114229 Running HTTP IPv6 version on port 42405 05:47:54.114339 Wrote pid 150580 to log/13/server/http_ipv6_server.pid 05:47:54.114369 Wrote port 42405 to log/13/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1324 === End of file server.cmd === Start of file valgrind1324 ==151234== ==151234== Process terminating with default action of signal 4 (SIGILL) ==151234== Illegal opcode at address 0x4014883 ==151234== at 0x4014883: getparameter (tool_getparam.c:2899) ==151234== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151234== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151234== by 0x4004208: main (tool_main.c:189) === End of file valgrind1324 test 1336...[HTTP GET with -O and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1336 ../src/curl -q --trace-ascii log/10/trace1336 --trace-time http://127.0.0.1:46741/1336 -O -D log/10/heads1336 --output-dir log/10 > log/10/stdout1336 2> log/10/stderr1336 1336: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1336 ../src/curl -q --trace-ascii log/10/trace1336 --trace-time http://127.0.0.1:46741/1336 -O -D log/10/heads1336 --output-dir log/10 > log/10/stdout1336 2> log/10/stderr1336 === End of file commands.log === Start of file http_server.log 05:47:55.196070 ====> Client connect 05:47:55.196104 accept_connection 3 returned 4 05:47:55.196120 accept_connection 3 returned 0 05:47:55.196137 Read 93 bytes 05:47:55.196147 Process 93 bytes request 05:47:55.196164 Got request: GET /verifiedserver HTTP/1.1 05:47:55.196173 Are-we-friendly question received 05:47:55.196199 Wrote request (93 bytes) input to log/10/server.input 05:47:55.196215 Identifying ourselves as friends 05:47:55.196269 Response sent (56 bytes) and written to log/10/server.response 05:47:55.196278 special request received, no persistency 05:47:55.196286 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 48918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1336 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1336 ==151394== ==151394== Process terminating with default action of signal 4 (SIGILL) ==151394== Illegal opcode at address 0x4014883 ==151394== at 0x4014883: getparameter (tool_getparam.c:2899) ==151394== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151394== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151394== by 0x4004208: main (tool_main.c:189) === End of file valgrind1336 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/20/server/http2_server.pid" --logfile "log/20/http2_server.log" --logdir "log/20" --portfile log/20/server/http2_server.port --config log/20/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150519 port 33193 * pid http-proxy => 150519 150519 test 1320...[SMTP send tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1320 ../src/curl -q --output log/20/curl1320.out --include --trace-ascii log/20/trace1320 --trace-time smtp://smtp.1320:37817/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:33193 log/20/stdout1320 2> log/20/stderr1320 1320: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1320 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1320 ../src/curl -q --output log/20/curl1320.out --include --trace-ascii log/20/trace1320 --trace-time smtp://smtp.1320:37817/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:33193 log/20/stdout1320 2> log/20/stderr1320 === End of file commands.log === Start of file http2_server.log 05:47:54.003512 Run as proxy, CONNECT to host 127.0.0.1 05:47:54.003616 Running HTTP IPv4 version on port 33193 05:47:54.003714 Wrote pid 150519 to log/20/server/http2_server.pid 05:47:54.003745 Wrote port 33193 to log/20/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 05:47:54.513482 ====> Client connect 05:47:54.513617 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:54.513887 < "EHLO verifiedserver" 05:47:54.513927 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:47:54.514092 < "HELP" 05:47:54.514123 > "214 WE ROOLZ: 125363[CR][LF]" 05:47:54.514139 return proof we are we 05:47:54.514334 < "QUIT" 05:47:54.514360 > "221 curl ESMTP server signing off[CR][LF]" 05:47:54.515325 MAIN sockfilt said DISC 05:47:54.515356 ====> Client disconnected 05:47:54.515423 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:47:53.974834 ====> Client connect 05:47:53.975082 Received DATA (on stdin) 05:47:53.975095 > 146 bytes data, server => client 05:47:53.975107 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:53.975117 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:53.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1337 ../src/curl -q --trace-ascii log/19/trace1337 --trace-time http://127.0.0.1:35701/1337 -O -D - --output-dir log/19 > log/19/stdout1337 2> log/19/stderr1337 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1326 ../src/curl -q --output log/17/curl1326.out --include --trace-ascii log/17/trace1326 --trace-time telnet://127.0.0.1:41219 --upload-file - log/17/stdout1326 2> log/17/stderr1326 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1345 ../src/curl -q --trace-ascii log/24/trace1345 --trace-time http://127.0.0.1:33593/1345 -i -O -D - --output-dir log/24 > log/24/stdout1345 2> log/24/stderr1345 975126 '220 \___|\___/|_| \_\_____|\r\n' 05:47:53.975193 < 21 bytes data, client => server 05:47:53.975206 'EHLO verifiedserver\r\n' 05:47:53.975384 Received DATA (on stdin) 05:47:53.975395 > 53 bytes data, server => client 05:47:53.975405 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:47:53.975459 < 6 bytes data, client => server 05:47:53.975469 'HELP\r\n' 05:47:53.975590 Received DATA (on stdin) 05:47:53.975601 > 22 bytes data, server => client 05:47:53.975611 '214 WE ROOLZ: 125363\r\n' 05:47:53.975699 < 6 bytes data, client => server 05:47:53.975712 'QUIT\r\n' 05:47:53.975811 Received DATA (on stdin) 05:47:53.975822 > 35 bytes data, server => client 05:47:53.975832 '221 curl ESMTP server signing off\r\n' 05:47:53.976726 ====> Client disconnect 05:47:53.976880 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1320 From: different To: another body === End of file stdin-for-1320 === Start of file valgrind1320 ==151150== ==151150== Process terminating with default action of signal 4 (SIGILL) ==151150== Illegal opcode at address 0x4014883 ==151150== at 0x4014883: getparameter (tool_getparam.c:2899) ==151150== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151150== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151150== by 0x4004208: main (tool_main.c:189) === End of file valgrind1320 test 1337...[HTTP GET with -O and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1337 ../src/curl -q --trace-ascii log/19/trace1337 --trace-time http://127.0.0.1:35701/1337 -O -D - --output-dir log/19 > log/19/stdout1337 2> log/19/stderr1337 1337: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1337 ../src/curl -q --trace-ascii log/19/trace1337 --trace-time http://127.0.0.1:35701/1337 -O -D - --output-dir log/19 > log/19/stdout1337 2> log/19/stderr1337 === End of file commands.log === Start of file http_server.log 05:47:55.577061 ====> Client connect 05:47:55.577111 accept_connection 3 returned 4 05:47:55.577132 accept_connection 3 returned 0 05:47:55.577149 Read 93 bytes 05:47:55.577158 Process 93 bytes request 05:47:55.577172 Got request: GET /verifiedserver HTTP/1.1 05:47:55.577181 Are-we-friendly question received 05:47:55.577209 Wrote request (93 bytes) input to log/19/server.input 05:47:55.577228 Identifying ourselves as friends 05:47:55.577319 Response sent (56 bytes) and written to log/19/server.response 05:47:55.577331 special request received, no persistency 05:47:55.577339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 45766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1337 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1337 ==151631== ==151631== Process terminating with default action of signal 4 (SIGILL) ==151631== Illegal opcode at address 0x4014883 ==151631== at 0x4014883: getparameter (tool_getparam.c:2899) ==151631== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151631== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151631== by 0x4004208: main (tool_main.c:189) === End of file valgrind1337 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_server.pid" --logfile "log/17/http_server.log" --logdir "log/17" --portfile log/17/server/http_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 150727 port 41219 * pid http => 150727 150727 test 1326...[TELNET to HTTP server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1326 ../src/curl -q --output log/17/curl1326.out --include --trace-ascii log/17/trace1326 --trace-time telnet://127.0.0.1:41219 --upload-file - log/17/stdout1326 2> log/17/stderr1326 1326: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1326 ../src/curl -q --output log/17/curl1326.out --include --trace-ascii log/17/trace1326 --trace-time telnet://127.0.0.1:41219 --upload-file - log/17/stdout1326 2> log/17/stderr1326 === End of file commands.log === Start of file http_server.log 05:47:55.468973 Running HTTP IPv4 version on port 41219 05:47:55.469098 Wrote pid 150727 to log/17/server/http_server.pid 05:47:55.469132 Wrote port 41219 to log/17/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==151546== ==151546== Process terminating with default action of signal 4 (SIGILL) ==151546== Illegal opcode at address 0x4014883 ==151546== at 0x4014883: getparameter (tool_getparam.c:2899) ==151546== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151546== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151546== by 0x4004208: main (tool_main.c:189) === End of file valgrind1326 test 1345...[HTTP GET with -O -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1345 ../src/curl -q --trace-ascii log/24/trace1345 --trace-time http://127.0.0.1:33593/1345 -i -O -D - --output-dir log/24 > log/24/stdout1345 2> log/24/stderr1345 1345: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1345 ../src/curl -q --trace-ascii log/24/trace1345 --trace-time http://127.0.0.1:33593/1345 -i -O -D - --output-dir log/24 > log/24/stdout1345 2> log/24/stderr1345 === End of file commands.log === Start of file http_server.log 05:47:57.256145 ====> Client connect 05:47:57.256186 accept_connection 3 returned 4 05:47:57.256204 accept_connection 3 returned 0 05:47:57.263654 Read 93 bytes 05:47:57.263704 Process 93 bytes request 05:47:57.263724 Got request: GET /verifiedserver HTTP/1.1 05:47:57.263734 Are-we-friendly question received 05:47:57.263811 Wrote request (93 bytes) input to log/24/server.input 05:47:57.263839 Identifying ourselves as friends 05:47:57.263949 Response sent (56 bytes) and written to lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1338 ../src/curl -q --trace-ascii log/9/trace1338 --trace-time http://127.0.0.1:33885/1338 -J -O -D log/9/heads1338 --output-dir log/9 > log/9/stdout1338 2> log/9/stderr1338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1339 ../src/curl -q --trace-ascii log/4/trace1339 --trace-time http://127.0.0.1:40253/1339 -J -O -D - --output-dir log/4 > log/4/stdout1339 2> log/4/stderr1339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1344 ../src/curl -q --trace-ascii log/15/trace1344 --trace-time http://127.0.0.1:43413/1344 -i -O -D log/15/heads1344 --output-dir log/15 > log/15/stdout1344 2> log/15/stderr1344 og/24/server.response 05:47:57.263962 special request received, no persistency 05:47:57.263971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1345 ==152095== ==152095== Process terminating with default action of signal 4 (SIGILL) ==152095== Illegal opcode at address 0x4014883 ==152095== at 0x4014883: getparameter (tool_getparam.c:2899) ==152095== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152095== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152095== by 0x4004208: main (tool_main.c:189) === End of file valgrind1345 test 1338...[HTTP GET with -O -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1338 ../src/curl -q --trace-ascii log/9/trace1338 --trace-time http://127.0.0.1:33885/1338 -J -O -D log/9/heads1338 --output-dir log/9 > log/9/stdout1338 2> log/9/stderr1338 1338: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1338 ../src/curl -q --trace-ascii log/9/trace1338 --trace-time http://127.0.0.1:33885/1338 -J -O -D log/9/heads1338 --output-dir log/9 > log/9/stdout1338 2> log/9/stderr1338 === End of file commands.log === Start of file http_server.log 05:47:55.590368 ====> Client connect 05:47:55.590398 accept_connection 3 returned 4 05:47:55.590414 accept_connection 3 returned 0 05:47:55.590427 Read 93 bytes 05:47:55.590435 Process 93 bytes request 05:47:55.590446 Got request: GET /verifiedserver HTTP/1.1 05:47:55.590454 Are-we-friendly question received 05:47:55.590475 Wrote request (93 bytes) input to log/9/server.input 05:47:55.590489 Identifying ourselves as friends 05:47:55.590546 Response sent (56 bytes) and written to log/9/server.response 05:47:55.590555 special request received, no persistency 05:47:55.590563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 60528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1338 ==151629== ==151629== Process terminating with default action of signal 4 (SIGILL) ==151629== Illegal opcode at address 0x4014883 ==151629== at 0x4014883: getparameter (tool_getparam.c:2899) ==151629== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151629== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151629== by 0x4004208: main (tool_main.c:189) === End of file valgrind1338 test 1339...[HTTP GET with -O -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1339 ../src/curl -q --trace-ascii log/4/trace1339 --trace-time http://127.0.0.1:40253/1339 -J -O -D - --output-dir log/4 > log/4/stdout1339 2> log/4/stderr1339 1339: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1339 ../src/curl -q --trace-ascii log/4/trace1339 --trace-time http://127.0.0.1:40253/1339 -J -O -D - --output-dir log/4 > log/4/stdout1339 2> log/4/stderr1339 === End of file commands.log === Start of file http_server.log 05:47:55.587503 ====> Client connect 05:47:55.587534 accept_connection 3 returned 4 05:47:55.587550 accept_connection 3 returned 0 05:47:55.587563 Read 93 bytes 05:47:55.587572 Process 93 bytes request 05:47:55.587584 Got request: GET /verifiedserver HTTP/1.1 05:47:55.587593 Are-we-friendly question received 05:47:55.587616 Wrote request (93 bytes) input to log/4/server.input 05:47:55.587632 Identifying ourselves as friends 05:47:55.587685 Response sent (56 bytes) and written to log/4/server.response 05:47:55.587694 special request received, no persistency 05:47:55.587703 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 43806 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1339 ==151636== ==151636== Process terminating with default action of signal 4 (SIGILL) ==151636== Illegal opcode at address 0x4014883 ==151636== at 0x4014883: getparameter (tool_getparam.c:2899) ==151636== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151636== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151636== by 0x4004208: main (tool_main.c:189) === End of file valgrind1339 test 1344...[HTTP GET with -O -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1344 ../src/curl -q --trace-ascii log/15/trace1344 --trace-time http://127.0.0.1:43413/1344 -i -O -D log/15/heads1344 --output-dir log/15 > log/15/stdout1344 2> log/15/stderr1344 1344: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1344 ../src/curl -q --trace-ascii log/15/trace1344 --trace-time http://127.0.0.1:43413/1344 -i -O -D log/15/heads1344 --output-dir log/15 > log/15/stdout1344 2> log/15/stderr1344 === End of file commands.log === Start of file http_server.logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1340 ../src/curl -q --trace-ascii log/21/trace1340 --trace-time http://127.0.0.1:42891/1340 -J -O -D log/21/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/21 > log/21/stdout1340 2> log/21/stderr1340 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1341 ../src/curl -q --trace-ascii log/7/trace1341 --trace-time http://127.0.0.1:39013/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/7 > log/7/stdout1341 2> log/7/stderr1341 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1343 ../src/curl -q --trace-ascii log/1/trace1343 --trace-time http://127.0.0.1:38765/1343 -i -O -D - --output-dir log/1 > log/1/stdout1343 2> log/1/stderr1343 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1346 ../src/curl -q --trace-ascii log/14/trace1346 --trace-time http://127.0.0.1:35549/1346 -i -O --output-dir log/14 > log/14/stdout1346 2> log/14/stderr1346 05:47:57.213733 ====> Client connect 05:47:57.213933 accept_connection 3 returned 4 05:47:57.213956 accept_connection 3 returned 0 05:47:57.213974 Read 93 bytes 05:47:57.213984 Process 93 bytes request 05:47:57.213998 Got request: GET /verifiedserver HTTP/1.1 05:47:57.214008 Are-we-friendly question received 05:47:57.214036 Wrote request (93 bytes) input to log/15/server.input 05:47:57.214055 Identifying ourselves as friends 05:47:57.214138 Response sent (56 bytes) and written to log/15/server.response 05:47:57.214152 special request received, no persistency 05:47:57.214162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 57582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1344 ==152049== ==152049== Process terminating with default action of signal 4 (SIGILL) ==152049== Illegal opcode at address 0x4014883 ==152049== at 0x4014883: getparameter (tool_getparam.c:2899) ==152049== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152049== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152049== by 0x4004208: main (tool_main.c:189) === End of file valgrind1344 test 1340...[HTTP GET with -O -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1340 ../src/curl -q --trace-ascii log/21/trace1340 --trace-time http://127.0.0.1:42891/1340 -J -O -D log/21/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/21 > log/21/stdout1340 2> log/21/stderr1340 1340: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1340 ../src/curl -q --trace-ascii log/21/trace1340 --trace-time http://127.0.0.1:42891/1340 -J -O -D log/21/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/21 > log/21/stdout1340 2> log/21/stderr1340 === End of file commands.log === Start of file http_server.log 05:47:55.809948 ====> Client connect 05:47:55.809989 accept_connection 3 returned 4 05:47:55.810004 accept_connection 3 returned 0 05:47:55.810020 Read 93 bytes 05:47:55.810030 Process 93 bytes request 05:47:55.810044 Got request: GET /verifiedserver HTTP/1.1 05:47:55.810053 Are-we-friendly question received 05:47:55.810082 Wrote request (93 bytes) input to log/21/server.input 05:47:55.810098 Identifying ourselves as friends 05:47:55.810155 Response sent (56 bytes) and written to log/21/server.response 05:47:55.810165 special request received, no persistency 05:47:55.810175 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1340 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1340 ==151810== ==151810== Process terminating with default action of signal 4 (SIGILL) ==151810== Illegal opcode at address 0x4014883 ==151810== at 0x4014883: getparameter (tool_getparam.c:2899) ==151810== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151810== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151810== by 0x4004208: main (tool_main.c:189) === End of file valgrind1340 test 1341...[HTTP GET with -O -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1341 ../src/curl -q --trace-ascii log/7/trace1341 --trace-time http://127.0.0.1:39013/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/7 > log/7/stdout1341 2> log/7/stderr1341 1341: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1341 ../src/curl -q --trace-ascii log/7/trace1341 --trace-time http://127.0.0.1:39013/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/7 > log/7/stdout1341 2> log/7/stderr1341 === End of file commands.log === Start of file http_server.log 05:47:55.940384 ====> Client connect 05:47:55.940428 accept_connection 3 returned 4 05:47:55.940446 accept_connection 3 returned 0 05:47:55.940462 Read 93 bytes 05:47:55.940472 Process 93 bytes request 05:47:55.940485 Got request: GET /verifiedserver HTTP/1.1 05:47:55.940494 Are-we-friendly question received 05:47:55.940519 Wrote request (93 bytes) input to log/7/server.input 05:47:55.940535 Identifying ourselves as friends 05:47:55.940611 Response sent (56 bytes) and written to log/7/server.response 05:47:55.940620 special request received, no persistency 05:47:55.940628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 45542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1341 ==151867== ==151867== Process terminating with default action of signal 4 (SIGILL) ==151867== Illegal opcode at address 0x4014883 ==151867== at 0x4014883: getparameter (tool_getparam.c:2899) ==151867== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151867== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151867== by 0x4004208: main (tool_main.c:189) === End of file valgrind1341 test 1343...[HTTP GET with -O -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1343 ../src/curl -q --trace-ascii log/1/trace1343 --trace-time http://127.0.0.1:38765/1343 -i -O -D - --output-dir lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1342 ../src/curl -q --trace-ascii log/16/trace1342 --trace-time http://127.0.0.1:44673/1342 -i -O -D log/16/heads1342 --output-dir log/16 > log/16/stdout1342 2> log/16/stderr1342 og/1 > log/1/stdout1343 2> log/1/stderr1343 1343: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1343 ../src/curl -q --trace-ascii log/1/trace1343 --trace-time http://127.0.0.1:38765/1343 -i -O -D - --output-dir log/1 > log/1/stdout1343 2> log/1/stderr1343 === End of file commands.log === Start of file http_server.log 05:47:57.081662 ====> Client connect 05:47:57.081692 accept_connection 3 returned 4 05:47:57.081707 accept_connection 3 returned 0 05:47:57.081721 Read 93 bytes 05:47:57.081729 Process 93 bytes request 05:47:57.081743 Got request: GET /verifiedserver HTTP/1.1 05:47:57.081752 Are-we-friendly question received 05:47:57.081775 Wrote request (93 bytes) input to log/1/server.input 05:47:57.081858 Identifying ourselves as friends 05:47:57.081920 Response sent (56 bytes) and written to log/1/server.response 05:47:57.081930 special request received, no persistency 05:47:57.081938 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 40900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1343 ==151955== ==151955== Process terminating with default action of signal 4 (SIGILL) ==151955== Illegal opcode at address 0x4014883 ==151955== at 0x4014883: getparameter (tool_getparam.c:2899) ==151955== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151955== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==151955== by 0x4004208: main (tool_main.c:189) === End of file valgrind1343 test 1346...[HTTP GET with -O -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1346 ../src/curl -q --trace-ascii log/14/trace1346 --trace-time http://127.0.0.1:35549/1346 -i -O --output-dir log/14 > log/14/stdout1346 2> log/14/stderr1346 1346: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1346 ../src/curl -q --trace-ascii log/14/trace1346 --trace-time http://127.0.0.1:35549/1346 -i -O --output-dir log/14 > log/14/stdout1346 2> log/14/stderr1346 === End of file commands.log === Start of file http_server.log 05:47:57.426411 ====> Client connect 05:47:57.426451 accept_connection 3 returned 4 05:47:57.426470 accept_connection 3 returned 0 05:47:57.426487 Read 93 bytes 05:47:57.426499 Process 93 bytes request 05:47:57.426514 Got request: GET /verifiedserver HTTP/1.1 05:47:57.426524 Are-we-friendly question received 05:47:57.426552 Wrote request (93 bytes) input to log/14/server.input 05:47:57.426571 Identifying ourselves as friends 05:47:57.426638 Response sent (56 bytes) and written to log/14/server.response 05:47:57.426650 special request received, no persistency 05:47:57.426660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 35744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1346 ==152225== ==152225== Process terminating with default action of signal 4 (SIGILL) ==152225== Illegal opcode at address 0x4014883 ==152225== at 0x4014883: getparameter (tool_getparam.c:2899) ==152225== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152225== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152225== by 0x4004208: main (tool_main.c:189) === End of file valgrind1346 test 1342...[HTTP GET with -O -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1342 ../src/curl -q --trace-ascii log/16/trace1342 --trace-time http://127.0.0.1:44673/1342 -i -O -D log/16/heads1342 --output-dir log/16 > log/16/stdout1342 2> log/16/stderr1342 1342: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1342 ../src/curl -q --trace-ascii log/16/trace1342 --trace-time http://127.0.0.1:44673/1342 -i -O -D log/16/heads1342 --output-dir log/16 > log/16/stdout1342 2> log/16/stderr1342 === End of file commands.log === Start of file http_server.log 05:47:57.103754 ====> Client connect 05:47:57.103799 accept_connection 3 returned 4 05:47:57.103820 accept_connection 3 returned 0 05:47:57.104013 Read 93 bytes 05:47:57.104029 Process 93 bytes request 05:47:57.104045 Got request: GET /verifiedserver HTTP/1.1 05:47:57.104055 Are-we-friendly question received 05:47:57.104086 Wrote request (93 bytes) input to log/16/server.input 05:47:57.104105 Identifying ourselves as friends 05:47:57.104171 Response sent (56 bytes) and written to log/16/server.response 05:47:57.104184 special request received, no persistency 05:47:57.104193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 43758 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1342 ==151968== ==151968== Process terminating with default action of signal 4 (SIGILL) ==151968== Illegal opcode at address 0x4014883 ==151968== at 0x4014883: getparameter (tool_getparam.c:2899) ==151968== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==151968== by 0x4004208: UnknownInliCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1347 ../src/curl -q --trace-ascii log/22/trace1347 --trace-time http://127.0.0.1:41477/1347 -i -O --output-dir log/22 > log/22/stdout1347 2> log/22/stderr1347 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1350 ../src/curl -q --trace-ascii log/18/trace1350 --trace-time ftp://127.0.0.1:35869/path/file1350 -O -D - --output-dir log/18 > log/18/stdout1350 2> log/18/stderr1350 nedFun (tool_operate.c:2293) ==151968== by 0x4004208: main (tool_main.c:189) === End of file valgrind1342 test 1347...[HTTP GET with -O -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1347 ../src/curl -q --trace-ascii log/22/trace1347 --trace-time http://127.0.0.1:41477/1347 -i -O --output-dir log/22 > log/22/stdout1347 2> log/22/stderr1347 1347: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1347 ../src/curl -q --trace-ascii log/22/trace1347 --trace-time http://127.0.0.1:41477/1347 -i -O --output-dir log/22 > log/22/stdout1347 2> log/22/stderr1347 === End of file commands.log === Start of file http_server.log 05:47:57.620408 ====> Client connect 05:47:57.620459 accept_connection 3 returned 4 05:47:57.620480 accept_connection 3 returned 0 05:47:57.620499 Read 93 bytes 05:47:57.620509 Process 93 bytes request 05:47:57.620525 Got request: GET /verifiedserver HTTP/1.1 05:47:57.620534 Are-we-friendly question received 05:47:57.620597 Wrote request (93 bytes) input to log/22/server.input 05:47:57.620618 Identifying ourselves as friends 05:47:57.620709 Response sent (56 bytes) and written to log/22/server.response 05:47:57.620721 special request received, no persistency 05:47:57.620730 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 40472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1347 ==152293== ==152293== Process terminating with default action of signal 4 (SIGILL) ==152293== Illegal opcode at address 0x4014883 ==152293== at 0x4014883: getparameter (tool_getparam.c:2899) ==152293== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152293== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152293== by 0x4004208: main (tool_main.c:189) === End of file valgrind1347 test 1350...[FTP download, file without C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1350 ../src/curl -q --trace-ascii log/18/trace1350 --trace-time ftp://127.0.0.1:35869/path/file1350 -O -D - --output-dir log/18 > log/18/stdout1350 2> log/18/stderr1350 1350: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1350 ../src/curl -q --trace-ascii log/18/trace1350 --trace-time ftp://127.0.0.1:35869/path/file1350 -O -D - --output-dir log/18 > log/18/stdout1350 2> log/18/stderr1350 === End of file commands.log === Start of file ftp_server.log 05:47:57.706460 ====> Client connect 05:47:57.706647 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.706927 < "USER anonymous" 05:47:57.706963 > "331 We are happy you popped in![CR][LF]" 05:47:57.707118 < "PASS ftp@example.com" 05:47:57.707145 > "230 Welcome you silly person[CR][LF]" 05:47:57.707287 < "PWD" 05:47:57.707318 > "257 "/" is current directory[CR][LF]" 05:47:57.707464 < "EPSV" 05:47:57.707488 ====> Passive DATA channel requested by client 05:47:57.707501 DATA sockfilt for passive data channel starting... 05:47:57.709290 DATA sockfilt for passive data channel started (pid 152481) 05:47:57.709399 DATA sockfilt for passive data channel listens on port 33879 05:47:57.709438 > "229 Entering Passive Mode (|||33879|)[CR][LF]" 05:47:57.709455 Client has been notified that DATA conn will be accepted on port 33879 05:47:57.709675 Client connects to port 33879 05:47:57.709705 ====> Client established passive DATA connection on port 33879 05:47:57.709775 < "TYPE I" 05:47:57.709802 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.709958 < "SIZE verifiedserver" 05:47:57.709991 > "213 17[CR][LF]" 05:47:57.710128 < "RETR verifiedserver" 05:47:57.710159 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.710243 =====> Closing passive DATA connection... 05:47:57.710260 Server disconnects passive DATA connection 05:47:57.710403 Server disconnected passive DATA connection 05:47:57.710424 DATA sockfilt for passive data channel quits (pid 152481) 05:47:57.710634 DATA sockfilt for passive data channel quit (pid 152481) 05:47:57.710654 =====> Closed passive DATA connection 05:47:57.710677 > "226 File transfer complete[CR][LF]" 05:47:57.762792 < "QUIT" 05:47:57.762866 > "221 bye bye baby[CR][LF]" 05:47:57.764266 MAIN sockfilt said DISC 05:47:57.764314 ====> Client disconnected 05:47:57.764415 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:57.167770 ====> Client connect 05:47:57.168113 Received DATA (on stdin) 05:47:57.168127 > 146 bytes data, server => client 05:47:57.168139 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:57.168149 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:57.168159 '220 \___|\___/|_| \_\_____|\r\n' 05:47:57.168233 < 16 bytes data, client => server 05:47:57.168245 'USER anonymous\r\n' 05:47:57.168418 Received DATA (on stdin) 05:47:57.168429 > 33 bytes data, server => client 05:47:57.168439 '331 We are happy you popped in!\r\n' 05:47:57.168487 < 22 bytes data, client => server 05:47:57.168497 'PASS ftp@example.com\r\n' 05:47:57.168596 Received DATA (on stdin) 05:47:57.168606 > 30 bytes data, server => client 05:47:57.168615 '230 Welcome you silly person\r\n' 05:47:57.168660 < 5 bytes data, client => server 05:47:57.168671 'PWD\r\n' 05:47:57.168767 Received DATA (on stdin) 05:47:57.168778 > 30 bytes data, server => client 05:47:57.168787 '257 "/" is current directory\r\n' 05:47:57.168840 < 6 bytes data, client => server 05:47:57.168849 'EPSV\r\n' 05:47:57.170913 Received DATA (on stdin) 05:47:57.170926 > 39 bytes data, server => client 05:47:57.170936 '229 Entering Passive Mode (|||33879|)\r\n' 05:47:57.171051 < 8 bytes data, client => server 05:47:57.171064 'TYPE I\r\n' 05:47:57.171255 Received DATA (on stdin) 05:47:57.171267 > 33 bytes data, server => client 05:47:57.171277 '200 I modify TYPE as you wanted\r\n' 05:47:57.171328 < 21 bytes data, client => server 05:47:57.171339 'SIZE verifiedserver\r\n' 05:47:57.171440 Received DATA (on stdin) 05:47:57.171450 > 8 bytes data, server => client 05:47:57.171459 '213 17\r\n' 05:47:57.171505 < 21 bytes data, client => server 05:47:57.171514 'RETR verifiedserver\r\n' 05:47:57.171712 Received DATA (on stdin) 05:47:57.171722 > 29 bytes data, server => client 05:47:57.171731 '150 Binary junk (17 bytes).\r\n' 05:47:57.172127 Received DATA (on stdin) 05:47:57.172137 > 28 bytes data, server => client 05:47:57.172146CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1351 ../src/curl -q --trace-ascii log/8/trace1351 --trace-time ftp://127.0.0.1:41333/path/file1351 -O -J -D log/8/heads1351 --output-dir log/8 > log/8/stdout1351 2> log/8/stderr1351 '226 File transfer complete\r\n' 05:47:57.223673 < 6 bytes data, client => server 05:47:57.223709 'QUIT\r\n' 05:47:57.224335 Received DATA (on stdin) 05:47:57.224355 > 18 bytes data, server => client 05:47:57.224367 '221 bye bye baby\r\n' 05:47:57.225654 ====> Client disconnect 05:47:57.225882 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.170441 Running IPv4 version 05:47:57.170498 Listening on port 33879 05:47:57.170542 Wrote pid 152481 to log/18/server/ftp_sockdata.pid 05:47:57.170682 Received PING (on stdin) 05:47:57.170767 Received PORT (on stdin) 05:47:57.171082 ====> Client connect 05:47:57.171753 Received DATA (on stdin) 05:47:57.171765 > 17 bytes data, server => client 05:47:57.171774 'WE ROOLZ: 81205\r\n' 05:47:57.171797 Received DISC (on stdin) 05:47:57.171808 ====> Client forcibly disconnected 05:47:57.171880 Received QUIT (on stdin) 05:47:57.171889 quits 05:47:57.171953 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==152504== ==152504== Process terminating with default action of signal 4 (SIGILL) ==152504== Illegal opcode at address 0x4014883 ==152504== at 0x4014883: getparameter (tool_getparam.c:2899) ==152504== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152504== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152504== by 0x4004208: main (tool_main.c:189) === End of file valgrind1350 test 1351...[FTP download, file without C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1351 ../src/curl -q --trace-ascii log/8/trace1351 --trace-time ftp://127.0.0.1:41333/path/file1351 -O -J -D log/8/heads1351 --output-dir log/8 > log/8/stdout1351 2> log/8/stderr1351 1351: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1351 ../src/curl -q --trace-ascii log/8/trace1351 --trace-time ftp://127.0.0.1:41333/path/file1351 -O -J -D log/8/heads1351 --output-dir log/8 > log/8/stdout1351 2> log/8/stderr1351 === End of file commands.log === Start of file ftp_server.log 05:47:57.883756 ====> Client connect 05:47:57.883955 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.884300 < "USER anonymous" 05:47:57.884343 > "331 We are happy you popped in![CR][LF]" 05:47:57.884533 < "PASS ftp@example.com" 05:47:57.884565 > "230 Welcome you silly person[CR][LF]" 05:47:57.884745 < "PWD" 05:47:57.884785 > "257 "/" is current directory[CR][LF]" 05:47:57.884972 < "EPSV" 05:47:57.885001 ====> Passive DATA channel requested by client 05:47:57.885018 DATA sockfilt for passive data channel starting... 05:47:57.895306 DATA sockfilt for passive data channel started (pid 152573) 05:47:57.895453 DATA sockfilt for passive data channel listens on port 44265 05:47:57.895508 > "229 Entering Passive Mode (|||44265|)[CR][LF]" 05:47:57.895543 Client has been notified that DATA conn will be accepted on port 44265 05:47:57.896061 Client connects to port 44265 05:47:57.896105 ====> Client established passive DATA connection on port 44265 05:47:57.896254 < "TYPE I" 05:47:57.896292 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.896448 < "SIZE verifiedserver" 05:47:57.896490 > "213 17[CR][LF]" 05:47:57.896640 < "RETR verifiedserver" 05:47:57.896676 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.896773 =====> Closing passive DATA connection... 05:47:57.896791 Server disconnects passive DATA connection 05:47:57.897024 Server disconnected passive DATA connection 05:47:57.897050 DATA sockfilt for passive data channel quits (pid 152573) 05:47:57.899170 DATA sockfilt for passive data channel quit (pid 152573) 05:47:57.899207 =====> Closed passive DATA connection 05:47:57.899241 > "226 File transfer complete[CR][LF]" 05:47:57.942533 < "QUIT" 05:47:57.942601 > "221 bye bye baby[CR][LF]" 05:47:57.943989 MAIN sockfilt said DISC 05:47:57.944031 ====> Client disconnected 05:47:57.944139 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.345082 ====> Client connect 05:47:58.345441 Received DATA (on stdin) 05:47:58.345460 > 146 bytes data, server => client 05:47:58.345472 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.345482 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.345492 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.345580 < 16 bytes data, client => server 05:47:58.345597 'USER anonymous\r\n' 05:47:58.345805 Received DATA (on stdin) 05:47:58.345818 > 33 bytes data, server => client 05:47:58.345829 '331 We are happy you popped in!\r\n' 05:47:58.345886 < 22 bytes data, client => server 05:47:58.345901 'PASS ftp@example.com\r\n' 05:47:58.346022 Received DATA (on stdin) 05:47:58.346034 > 30 bytes data, server => client 05:47:58.346044 '230 Welcome you silly person\r\n' 05:47:58.346100 < 5 bytes data, client => server 05:47:58.346115 'PWD\r\n' 05:47:58.346244 Received DATA (on stdin) 05:47:58.346258 > 30 bytes data, server => client 05:47:58.346268 '257 "/" is current directory\r\n' 05:47:58.346333 < 6 bytes data, client => server 05:47:58.346347 'EPSV\r\n' 05:47:58.357000 Received DATA (on stdin) 05:47:58.357034 > 39 bytes data, server => client 05:47:58.357047 '229 Entering Passive Mode (|||44265|)\r\n' 05:47:58.357583 < 8 bytes data, client => server 05:47:58.357595 'TYPE I\r\n' 05:47:58.357748 Received DATA (on stdin) 05:47:58.357759 > 33 bytes data, server => client 05:47:58.357770 '200 I modify TYPE as you wanted\r\n' 05:47:58.357819 < 21 bytes data, client => server 05:47:58.357830 'SIZE verifiedserver\r\n' 05:47:58.357943 Received DATA (on stdin) 05:47:58.357955 > 8 bytes data, server => client 05:47:58.357965 '213 17\r\n' 05:47:58.358010 < 21 bytes data, client => server 05:47:58.358021 'RETR verifiedserver\r\n' 05:47:58.358245 Received DATA (on stdin) 05:47:58.358256 > 29 bytes data, server => client 05:47:58.358267 '150 Binary junk (17 bytes).\r\n' 05:47:58.360701 Received DATA (on stdin) 05:47:58.360715 > 28 bytes data, server => client 05:47:58.360726 '226 File transfer complete\r\n' 05:47:58.403788 < 6 bytes data, client => server 05:47:58.403825 'QUIT\r\n' 05:47:58.404063 Received DATA (on stdin) 05:47:58.404075 > 18 bytes data, server => client 05:47:58.404085 '221 bye bye baby\r\n' 05:47:58.405387 ====> Client disconnect 05:47:58.405597 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.349086 Running IPv4 version 05:47:57.349194 Listening on port 44265 05:47:57.349246 Wrote pid 152573 to log/8/server/ftp_sockdata.pid 05:47:57.356673 Received PING (on stdin) 05:47:57.356800 Received PORT (on stdin) 05:47:57.357446 ====> Client connect 05:47:57.358291 Received DATA (on stdin) 05:47:57.358303 > 17 bytes data, server => client 05:47:57.358313 'WE ROOLZ: 81360\r\n' 05:47:57.358337 Received DISC (on stdin) 05:47:57.358348 ====> Client forcibly disconnected 05:47:57.360341 Received QUIT (on stdin) 05:47:57.360365 quits 05:47:57.360442 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==152685== ==152685== Process terminating with default action of signal 4 (SIGILL) ==152685== Illegal opcode at address 0x4014883 ==152685== at 0x4014883: getparameter (tool_getparam.c:2899) ==152685== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1348 ../src/curl -q --trace-ascii log/6/trace1348 --trace-time ftp://127.0.0.1:36813/path/file1348 -O --output-dir log/6 > log/6/stdout1348 2> log/6/stderr1348 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1358 ../src/curl -q --trace-ascii log/2/trace1358 --trace-time ftp://127.0.0.1:34211/path/file1358 -O -D - --output-dir log/2 > log/2/stdout1358 2> log/2/stderr1358 =152685== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152685== by 0x4004208: main (tool_main.c:189) === End of file valgrind1351 test 1348...[FTP download, file without Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1348 ../src/curl -q --trace-ascii log/6/trace1348 --trace-time ftp://127.0.0.1:36813/path/file1348 -O --output-dir log/6 > log/6/stdout1348 2> log/6/stderr1348 1348: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1348 ../src/curl -q --trace-ascii log/6/trace1348 --trace-time ftp://127.0.0.1:36813/path/file1348 -O --output-dir log/6 > log/6/stdout1348 2> log/6/stderr1348 === End of file commands.log === Start of file ftp_server.log 05:47:57.272352 ====> Client connect 05:47:57.272512 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.279119 < "USER anonymous" 05:47:57.279181 > "331 We are happy you popped in![CR][LF]" 05:47:57.285742 < "PASS ftp@example.com" 05:47:57.285798 > "230 Welcome you silly person[CR][LF]" 05:47:57.289079 < "PWD" 05:47:57.289132 > "257 "/" is current directory[CR][LF]" 05:47:57.289325 < "EPSV" 05:47:57.289354 ====> Passive DATA channel requested by client 05:47:57.289371 DATA sockfilt for passive data channel starting... 05:47:57.300639 DATA sockfilt for passive data channel started (pid 152335) 05:47:57.300802 DATA sockfilt for passive data channel listens on port 36945 05:47:57.300868 > "229 Entering Passive Mode (|||36945|)[CR][LF]" 05:47:57.300894 Client has been notified that DATA conn will be accepted on port 36945 05:47:57.301249 Client connects to port 36945 05:47:57.301282 ====> Client established passive DATA connection on port 36945 05:47:57.301382 < "TYPE I" 05:47:57.301418 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.301601 < "SIZE verifiedserver" 05:47:57.301648 > "213 17[CR][LF]" 05:47:57.301836 < "RETR verifiedserver" 05:47:57.301881 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.301979 =====> Closing passive DATA connection... 05:47:57.302000 Server disconnects passive DATA connection 05:47:57.302170 Server disconnected passive DATA connection 05:47:57.302201 DATA sockfilt for passive data channel quits (pid 152335) 05:47:57.302457 DATA sockfilt for passive data channel quit (pid 152335) 05:47:57.302487 =====> Closed passive DATA connection 05:47:57.302516 > "226 File transfer complete[CR][LF]" 05:47:57.352420 < "QUIT" 05:47:57.352478 > "221 bye bye baby[CR][LF]" 05:47:57.353629 MAIN sockfilt said DISC 05:47:57.353663 ====> Client disconnected 05:47:57.353749 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:56.733664 ====> Client connect 05:47:56.733970 Received DATA (on stdin) 05:47:56.733982 > 146 bytes data, server => client 05:47:56.733992 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:56.734001 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:56.734009 '220 \___|\___/|_| \_\_____|\r\n' 05:47:56.740325 < 16 bytes data, client => server 05:47:56.740360 'USER anonymous\r\n' 05:47:56.740639 Received DATA (on stdin) 05:47:56.740651 > 33 bytes data, server => client 05:47:56.740662 '331 We are happy you popped in!\r\n' 05:47:56.746996 < 22 bytes data, client => server 05:47:56.747025 'PASS ftp@example.com\r\n' 05:47:56.747255 Received DATA (on stdin) 05:47:56.747268 > 30 bytes data, server => client 05:47:56.747279 '230 Welcome you silly person\r\n' 05:47:56.750384 < 5 bytes data, client => server 05:47:56.750408 'PWD\r\n' 05:47:56.750587 Received DATA (on stdin) 05:47:56.750600 > 30 bytes data, server => client 05:47:56.750611 '257 "/" is current directory\r\n' 05:47:56.750681 < 6 bytes data, client => server 05:47:56.750696 'EPSV\r\n' 05:47:56.762363 Received DATA (on stdin) 05:47:56.762384 > 39 bytes data, server => client 05:47:56.762396 '229 Entering Passive Mode (|||36945|)\r\n' 05:47:56.762644 < 8 bytes data, client => server 05:47:56.762656 'TYPE I\r\n' 05:47:56.762875 Received DATA (on stdin) 05:47:56.762888 > 33 bytes data, server => client 05:47:56.762898 '200 I modify TYPE as you wanted\r\n' 05:47:56.762957 < 21 bytes data, client => server 05:47:56.762972 'SIZE verifiedserver\r\n' 05:47:56.763109 Received DATA (on stdin) 05:47:56.763123 > 8 bytes data, server => client 05:47:56.763133 '213 17\r\n' 05:47:56.763187 < 21 bytes data, client => server 05:47:56.763203 'RETR verifiedserver\r\n' 05:47:56.763549 Received DATA (on stdin) 05:47:56.763562 > 29 bytes data, server => client 05:47:56.763573 '150 Binary junk (17 bytes).\r\n' 05:47:56.763971 Received DATA (on stdin) 05:47:56.763983 > 28 bytes data, server => client 05:47:56.763994 '226 File transfer complete\r\n' 05:47:56.813662 < 6 bytes data, client => server 05:47:56.813704 'QUIT\r\n' 05:47:56.813932 Received DATA (on stdin) 05:47:56.813944 > 18 bytes data, server => client 05:47:56.813953 '221 bye bye baby\r\n' 05:47:56.815030 ====> Client disconnect 05:47:56.815200 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.761673 Running IPv4 version 05:47:57.761785 Listening on port 36945 05:47:57.761827 Wrote pid 152335 to log/6/server/ftp_sockdata.pid 05:47:57.762020 Received PING (on stdin) 05:47:57.762139 Received PORT (on stdin) 05:47:57.762610 ====> Client connect 05:47:57.763457 Received DATA (on stdin) 05:47:57.763470 > 17 bytes data, server => client 05:47:57.763481 'WE ROOLZ: 81206\r\n' 05:47:57.763510 Received DISC (on stdin) 05:47:57.763522 ====> Client forcibly disconnected 05:47:57.763662 Received QUIT (on stdin) 05:47:57.763673 quits 05:47:57.763739 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==152356== ==152356== Process terminating with default action of signal 4 (SIGILL) ==152356== Illegal opcode at address 0x4014883 ==152356== at 0x4014883: getparameter (tool_getparam.c:2899) ==152356== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152356== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152356== by 0x4004208: main (tool_main.c:189) === End of file valgrind1348 test 1358...[FTP download, file with C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1358 ../src/curl -q --trace-ascii log/2/trace1358 --trace-time ftp://127.0.0.1:34211/path/file1358 -O -D - --output-dir log/2 > log/2/stdout1358 2> log/2/stderr1358 1358: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1358 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1358 ../src/curl -q --trace-ascii log/2/trace1358 --trace-time ftp://127.0.0.1:34211/path/file1358 -O -D - --output-dir log/2 > log/2/stdout1358 2> log/2/stderr1358 === End of file commands.log === Start of file ftp_server.log 05:47:58.009661 ====> Client connect 05:47:58.009839 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1352 ../src/curl -q --trace-ascii log/3/trace1352 --trace-time ftp://127.0.0.1:43409/path/file1352 -O -J -D - --output-dir log/3 > log/3/stdout1352 2> log/3/stderr1352 10145 < "USER anonymous" 05:47:58.010181 > "331 We are happy you popped in![CR][LF]" 05:47:58.010355 < "PASS ftp@example.com" 05:47:58.010382 > "230 Welcome you silly person[CR][LF]" 05:47:58.010543 < "PWD" 05:47:58.010576 > "257 "/" is current directory[CR][LF]" 05:47:58.010748 < "EPSV" 05:47:58.010773 ====> Passive DATA channel requested by client 05:47:58.010789 DATA sockfilt for passive data channel starting... 05:47:58.012821 DATA sockfilt for passive data channel started (pid 152720) 05:47:58.012937 DATA sockfilt for passive data channel listens on port 38169 05:47:58.012980 > "229 Entering Passive Mode (|||38169|)[CR][LF]" 05:47:58.013000 Client has been notified that DATA conn will be accepted on port 38169 05:47:58.013248 Client connects to port 38169 05:47:58.013278 ====> Client established passive DATA connection on port 38169 05:47:58.013357 < "TYPE I" 05:47:58.013387 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.013551 < "SIZE verifiedserver" 05:47:58.013592 > "213 17[CR][LF]" 05:47:58.013752 < "RETR verifiedserver" 05:47:58.013787 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:58.013879 =====> Closing passive DATA connection... 05:47:58.013898 Server disconnects passive DATA connection 05:47:58.014135 Server disconnected passive DATA connection 05:47:58.014167 DATA sockfilt for passive data channel quits (pid 152720) 05:47:58.014427 DATA sockfilt for passive data channel quit (pid 152720) 05:47:58.014455 =====> Closed passive DATA connection 05:47:58.014484 > "226 File transfer complete[CR][LF]" 05:47:58.062340 < "QUIT" 05:47:58.062411 > "221 bye bye baby[CR][LF]" 05:47:58.063742 MAIN sockfilt said DISC 05:47:58.063782 ====> Client disconnected 05:47:58.063877 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.470336 ====> Client connect 05:47:58.471305 Received DATA (on stdin) 05:47:58.471322 > 146 bytes data, server => client 05:47:58.471334 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.471345 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.471355 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.471444 < 16 bytes data, client => server 05:47:58.471458 'USER anonymous\r\n' 05:47:58.471638 Received DATA (on stdin) 05:47:58.471651 > 33 bytes data, server => client 05:47:58.471662 '331 We are happy you popped in!\r\n' 05:47:58.471715 < 22 bytes data, client => server 05:47:58.471728 'PASS ftp@example.com\r\n' 05:47:58.471836 Received DATA (on stdin) 05:47:58.471847 > 30 bytes data, server => client 05:47:58.471858 '230 Welcome you silly person\r\n' 05:47:58.471908 < 5 bytes data, client => server 05:47:58.471919 'PWD\r\n' 05:47:58.472029 Received DATA (on stdin) 05:47:58.472041 > 30 bytes data, server => client 05:47:58.472051 '257 "/" is current directory\r\n' 05:47:58.472114 < 6 bytes data, client => server 05:47:58.472126 'EPSV\r\n' 05:47:58.474459 Received DATA (on stdin) 05:47:58.474473 > 39 bytes data, server => client 05:47:58.474484 '229 Entering Passive Mode (|||38169|)\r\n' 05:47:58.474616 < 8 bytes data, client => server 05:47:58.474632 'TYPE I\r\n' 05:47:58.474842 Received DATA (on stdin) 05:47:58.474854 > 33 bytes data, server => client 05:47:58.474865 '200 I modify TYPE as you wanted\r\n' 05:47:58.474917 < 21 bytes data, client => server 05:47:58.474928 'SIZE verifiedserver\r\n' 05:47:58.475046 Received DATA (on stdin) 05:47:58.475057 > 8 bytes data, server => client 05:47:58.475067 '213 17\r\n' 05:47:58.475117 < 21 bytes data, client => server 05:47:58.475129 'RETR verifiedserver\r\n' 05:47:58.475355 Received DATA (on stdin) 05:47:58.475367 > 29 bytes data, server => client 05:47:58.475378 '150 Binary junk (17 bytes).\r\n' 05:47:58.475939 Received DATA (on stdin) 05:47:58.475952 > 28 bytes data, server => client 05:47:58.475962 '226 File transfer complete\r\n' 05:47:58.520497 < 6 bytes data, client => server 05:47:58.520526 'QUIT\r\n' 05:47:58.523884 Received DATA (on stdin) 05:47:58.523907 > 18 bytes data, server => client 05:47:58.523918 '221 bye bye baby\r\n' 05:47:58.525135 ====> Client disconnect 05:47:58.525339 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.473954 Running IPv4 version 05:47:58.474027 Listening on port 38169 05:47:58.474063 Wrote pid 152720 to log/2/server/ftp_sockdata.pid 05:47:58.474215 Received PING (on stdin) 05:47:58.474296 Received PORT (on stdin) 05:47:58.474653 ====> Client connect 05:47:58.475404 Received DATA (on stdin) 05:47:58.475417 > 17 bytes data, server => client 05:47:58.475427 'WE ROOLZ: 81084\r\n' 05:47:58.475451 Received DISC (on stdin) 05:47:58.475463 ====> Client forcibly disconnected 05:47:58.475629 Received QUIT (on stdin) 05:47:58.475641 quits 05:47:58.475703 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==152813== ==152813== Process terminating with default action of signal 4 (SIGILL) ==152813== Illegal opcode at address 0x4014883 ==152813== at 0x4014883: getparameter (tool_getparam.c:2899) ==152813== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152813== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152813== by 0x4004208: main (tool_main.c:189) === End of file valgrind1358 test 1352...[FTP download, file without C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1352 ../src/curl -q --trace-ascii log/3/trace1352 --trace-time ftp://127.0.0.1:43409/path/file1352 -O -J -D - --output-dir log/3 > log/3/stdout1352 2> log/3/stderr1352 1352: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1352 ../src/curl -q --trace-ascii log/3/trace1352 --trace-time ftp://127.0.0.1:43409/path/file1352 -O -J -D - --output-dir log/3 > log/3/stdout1352 2> log/3/stderr1352 === End of file commands.log === Start of file ftp_server.log 05:47:57.884060 ====> Client connect 05:47:57.884215 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.884488 < "USER anonymous" 05:47:57.884525 > "331 We are happy you popped in![CR][LF]" 05:47:57.885024 < "PASS ftp@example.com" 05:47:57.885051 > "230 Welcome you silly person[CR][LF]" 05:47:57.885197 < "PWD" 05:47:57.885228 > "257 "/" is current directory[CR][LF]" 05:47:57.885379 < "EPSV" 05:47:57.885405 ====> Passive DATA channel requested by client 05:47:57.885418 DATA sockfilt for passive data channel starting... 05:47:57.887492 DATA sockfilt for passive data channel started (pid 152574) 05:47:57.887599 DATA sockfilt for passive data channel listens on port 46303 05:47:57.887641 > "229 Entering Passive Mode (|||46303|)[CR][LF]" 05:47:57.887659 Client has been notified that DATA conn will be accepted on port 46303 05:47:57.887876 Client connects to port 46303 05:47:57.887905 ====> Client established passive DATA connection on port 46303 05:47:57.887972 < "TYPE I" 05:47:57.887996 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.888142 < "SIZE verifiedserver" 05:47:57.888179 > "213 17[CR][LF]" 05:47:57.888313 < "RETR verifiedserver" 05:47:57.888341 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.888414 =====> Closing passive DATA connection... 05:47:57.888429 Server disconnects passive DATA connection 05:47:57.888629 Server disconnected passive DATA connection 05:47:57.888652 DATA sockfilt for passive data channel quits (pid 152574) 05:47:57.888838 DATA sockfilt for passive data chaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1355 ../src/curl -q --trace-ascii log/5/trace1355 --trace-time ftp://127.0.0.1:39947/path/file1355 -O -i --output-dir log/5 > log/5/stdout1355 2> log/5/stderr1355 nnel quit (pid 152574) 05:47:57.888859 =====> Closed passive DATA connection 05:47:57.888891 > "226 File transfer complete[CR][LF]" 05:47:57.929228 < "QUIT" 05:47:57.929289 > "221 bye bye baby[CR][LF]" 05:47:57.930943 MAIN sockfilt said DISC 05:47:57.930981 ====> Client disconnected 05:47:57.931127 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.345420 ====> Client connect 05:47:58.345678 Received DATA (on stdin) 05:47:58.345691 > 146 bytes data, server => client 05:47:58.345703 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.345713 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.345723 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.345802 < 16 bytes data, client => server 05:47:58.345814 'USER anonymous\r\n' 05:47:58.345980 Received DATA (on stdin) 05:47:58.345991 > 33 bytes data, server => client 05:47:58.346002 '331 We are happy you popped in!\r\n' 05:47:58.346380 < 22 bytes data, client => server 05:47:58.346395 'PASS ftp@example.com\r\n' 05:47:58.346503 Received DATA (on stdin) 05:47:58.346513 > 30 bytes data, server => client 05:47:58.346524 '230 Welcome you silly person\r\n' 05:47:58.346569 < 5 bytes data, client => server 05:47:58.346579 'PWD\r\n' 05:47:58.346679 Received DATA (on stdin) 05:47:58.346689 > 30 bytes data, server => client 05:47:58.346699 '257 "/" is current directory\r\n' 05:47:58.346753 < 6 bytes data, client => server 05:47:58.346763 'EPSV\r\n' 05:47:58.349116 Received DATA (on stdin) 05:47:58.349128 > 39 bytes data, server => client 05:47:58.349139 '229 Entering Passive Mode (|||46303|)\r\n' 05:47:58.349251 < 8 bytes data, client => server 05:47:58.349266 'TYPE I\r\n' 05:47:58.349447 Received DATA (on stdin) 05:47:58.349457 > 33 bytes data, server => client 05:47:58.349467 '200 I modify TYPE as you wanted\r\n' 05:47:58.349514 < 21 bytes data, client => server 05:47:58.349524 'SIZE verifiedserver\r\n' 05:47:58.349628 Received DATA (on stdin) 05:47:58.349638 > 8 bytes data, server => client 05:47:58.349647 '213 17\r\n' 05:47:58.349688 < 21 bytes data, client => server 05:47:58.349698 'RETR verifiedserver\r\n' 05:47:58.349880 Received DATA (on stdin) 05:47:58.349890 > 29 bytes data, server => client 05:47:58.349900 '150 Binary junk (17 bytes).\r\n' 05:47:58.350342 Received DATA (on stdin) 05:47:58.350354 > 28 bytes data, server => client 05:47:58.350363 '226 File transfer complete\r\n' 05:47:58.390501 < 6 bytes data, client => server 05:47:58.390531 'QUIT\r\n' 05:47:58.390747 Received DATA (on stdin) 05:47:58.390758 > 18 bytes data, server => client 05:47:58.390769 '221 bye bye baby\r\n' 05:47:58.392341 ====> Client disconnect 05:47:58.392443 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.348654 Running IPv4 version 05:47:57.348719 Listening on port 46303 05:47:57.348756 Wrote pid 152574 to log/3/server/ftp_sockdata.pid 05:47:57.348887 Received PING (on stdin) 05:47:57.348965 Received PORT (on stdin) 05:47:57.349284 ====> Client connect 05:47:57.349922 Received DATA (on stdin) 05:47:57.349933 > 17 bytes data, server => client 05:47:57.349942 'WE ROOLZ: 81310\r\n' 05:47:57.349963 Received DISC (on stdin) 05:47:57.349973 ====> Client forcibly disconnected 05:47:57.350110 Received QUIT (on stdin) 05:47:57.350119 quits 05:47:57.350170 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==152668== ==152668== Process terminating with default action of signal 4 (SIGILL) ==152668== Illegal opcode at address 0x4014883 ==152668== at 0x4014883: getparameter (tool_getparam.c:2899) ==152668== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152668== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152668== by 0x4004208: main (tool_main.c:189) === End of file valgrind1352 test 1355...[FTP download, file without C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1355 ../src/curl -q --trace-ascii log/5/trace1355 --trace-time ftp://127.0.0.1:39947/path/file1355 -O -i --output-dir log/5 > log/5/stdout1355 2> log/5/stderr1355 1355: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1355 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1355 ../src/curl -q --trace-ascii log/5/trace1355 --trace-time ftp://127.0.0.1:39947/path/file1355 -O -i --output-dir log/5 > log/5/stdout1355 2> log/5/stderr1355 === End of file commands.log === Start of file ftp_server.log 05:47:57.927723 ====> Client connect 05:47:57.927901 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.928242 < "USER anonymous" 05:47:57.928288 > "331 We are happy you popped in![CR][LF]" 05:47:57.928493 < "PASS ftp@example.com" 05:47:57.928535 > "230 Welcome you silly person[CR][LF]" 05:47:57.928729 < "PWD" 05:47:57.928777 > "257 "/" is current directory[CR][LF]" 05:47:57.928973 < "EPSV" 05:47:57.929000 ====> Passive DATA channel requested by client 05:47:57.929014 DATA sockfilt for passive data channel starting... 05:47:57.939061 DATA sockfilt for passive data channel started (pid 152632) 05:47:57.939239 DATA sockfilt for passive data channel listens on port 33221 05:47:57.939293 > "229 Entering Passive Mode (|||33221|)[CR][LF]" 05:47:57.939312 Client has been notified that DATA conn will be accepted on port 33221 05:47:57.939621 Client connects to port 33221 05:47:57.939655 ====> Client established passive DATA connection on port 33221 05:47:57.939762 < "TYPE I" 05:47:57.939803 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.939988 < "SIZE verifiedserver" 05:47:57.940029 > "213 17[CR][LF]" 05:47:57.940186 < "RETR verifiedserver" 05:47:57.940221 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.940313 =====> Closing passive DATA connection... 05:47:57.940329 Server disconnects passive DATA connection 05:47:57.940546 Server disconnected passive DATA connection 05:47:57.940574 DATA sockfilt for passive data channel quits (pid 152632) 05:47:57.940903 DATA sockfilt for passive data channel quit (pid 152632) 05:47:57.940933 =====> Closed passive DATA connection 05:47:57.940966 > "226 File transfer complete[CR][LF]" 05:47:57.986224 < "QUIT" 05:47:57.986288 > "221 bye bye baby[CR][LF]" 05:47:57.987514 MAIN sockfilt said DISC 05:47:57.987551 ====> Client disconnected 05:47:57.987640 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.388685 ====> Client connect 05:47:58.389375 Received DATA (on stdin) 05:47:58.389392 > 146 bytes data, server => client 05:47:58.389402 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.389411 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.389419 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.389540 < 16 bytes data, client => server 05:47:58.389554 'USER anonymous\r\n' 05:47:58.389746 Received DATA (on stdin) 05:47:58.389759 > 33 bytes data, server => client 05:47:58.389769 '331 We are happy you popped in!\r\n' 05:47:58.389830 < 22 bytes data, client => server 05:47:58.389842 'PASS ftp@example.com\r\n' 05:47:58.389991 Received DATA (on stdin) 05:47:58.390004 > 30 bytes data, server => client 05:47:58.390015 '230 Welcome you silly person\r\n' 05:47:58.390074 < 5 bytes data, client => server 05:47:58.390089 'PWD\r\n' 05:47:58.390235 Received DATA (on stdin) 05:47:58.390248 > 30 bytes data, server => client 05:47:58.390259 '257 "/" is current directory\r\n' 05:47:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1349 ../src/curl -q --trace-ascii log/11/trace1349 --trace-time ftp://127.0.0.1:37471/path/file1349 -O -D log/11/heads1349 --output-dir log/11 > log/11/stdout1349 2> log/11/stderr1349 58.390333 < 6 bytes data, client => server 05:47:58.390346 'EPSV\r\n' 05:47:58.400776 Received DATA (on stdin) 05:47:58.400794 > 39 bytes data, server => client 05:47:58.400804 '229 Entering Passive Mode (|||33221|)\r\n' 05:47:58.400981 < 8 bytes data, client => server 05:47:58.400999 'TYPE I\r\n' 05:47:58.401259 Received DATA (on stdin) 05:47:58.401273 > 33 bytes data, server => client 05:47:58.401283 '200 I modify TYPE as you wanted\r\n' 05:47:58.401344 < 21 bytes data, client => server 05:47:58.401356 'SIZE verifiedserver\r\n' 05:47:58.401482 Received DATA (on stdin) 05:47:58.401492 > 8 bytes data, server => client 05:47:58.401502 '213 17\r\n' 05:47:58.401553 < 21 bytes data, client => server 05:47:58.401563 'RETR verifiedserver\r\n' 05:47:58.401780 Received DATA (on stdin) 05:47:58.401790 > 29 bytes data, server => client 05:47:58.401799 '150 Binary junk (17 bytes).\r\n' 05:47:58.402424 Received DATA (on stdin) 05:47:58.402437 > 28 bytes data, server => client 05:47:58.402448 '226 File transfer complete\r\n' 05:47:58.447432 < 6 bytes data, client => server 05:47:58.447469 'QUIT\r\n' 05:47:58.447750 Received DATA (on stdin) 05:47:58.447763 > 18 bytes data, server => client 05:47:58.447773 '221 bye bye baby\r\n' 05:47:58.448911 ====> Client disconnect 05:47:58.449098 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.394753 Running IPv4 version 05:47:57.394824 Listening on port 33221 05:47:57.394867 Wrote pid 152632 to log/5/server/ftp_sockdata.pid 05:47:57.400319 Received PING (on stdin) 05:47:57.400579 Received PORT (on stdin) 05:47:57.401024 ====> Client connect 05:47:57.401822 Received DATA (on stdin) 05:47:57.401833 > 17 bytes data, server => client 05:47:57.401841 'WE ROOLZ: 81382\r\n' 05:47:57.401863 Received DISC (on stdin) 05:47:57.401873 ====> Client forcibly disconnected 05:47:57.402036 Received QUIT (on stdin) 05:47:57.402047 quits 05:47:57.402157 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==152717== ==152717== Process terminating with default action of signal 4 (SIGILL) ==152717== Illegal opcode at address 0x4014883 ==152717== at 0x4014883: getparameter (tool_getparam.c:2899) ==152717== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152717== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152717== by 0x4004208: main (tool_main.c:189) === End of file valgrind1355 test 1349...[FTP download, file without C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1349 ../src/curl -q --trace-ascii log/11/trace1349 --trace-time ftp://127.0.0.1:37471/path/file1349 -O -D log/11/heads1349 --output-dir log/11 > log/11/stdout1349 2> log/11/stderr1349 1349: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1349 ../src/curl -q --trace-ascii log/11/trace1349 --trace-time ftp://127.0.0.1:37471/path/file1349 -O -D log/11/heads1349 --output-dir log/11 > log/11/stdout1349 2> log/11/stderr1349 === End of file commands.log === Start of file ftp_server.log 05:47:57.552358 ====> Client connect 05:47:57.552567 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.555814 < "USER anonymous" 05:47:57.555866 > "331 We are happy you popped in![CR][LF]" 05:47:57.556064 < "PASS ftp@example.com" 05:47:57.556100 > "230 Welcome you silly person[CR][LF]" 05:47:57.556286 < "PWD" 05:47:57.556327 > "257 "/" is current directory[CR][LF]" 05:47:57.556523 < "EPSV" 05:47:57.556549 ====> Passive DATA channel requested by client 05:47:57.556563 DATA sockfilt for passive data channel starting... 05:47:57.560396 DATA sockfilt for passive data channel started (pid 152432) 05:47:57.560520 DATA sockfilt for passive data channel listens on port 43657 05:47:57.560570 > "229 Entering Passive Mode (|||43657|)[CR][LF]" 05:47:57.560591 Client has been notified that DATA conn will be accepted on port 43657 05:47:57.565555 Client connects to port 43657 05:47:57.565609 ====> Client established passive DATA connection on port 43657 05:47:57.565716 < "TYPE I" 05:47:57.565753 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.565952 < "SIZE verifiedserver" 05:47:57.565999 > "213 17[CR][LF]" 05:47:57.566163 < "RETR verifiedserver" 05:47:57.566202 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.566305 =====> Closing passive DATA connection... 05:47:57.566325 Server disconnects passive DATA connection 05:47:57.575858 Server disconnected passive DATA connection 05:47:57.575937 DATA sockfilt for passive data channel quits (pid 152432) 05:47:57.579488 DATA sockfilt for passive data channel quit (pid 152432) 05:47:57.579532 =====> Closed passive DATA connection 05:47:57.579577 > "226 File transfer complete[CR][LF]" 05:47:57.612635 < "QUIT" 05:47:57.612715 > "221 bye bye baby[CR][LF]" 05:47:57.614118 MAIN sockfilt said DISC 05:47:57.614160 ====> Client disconnected 05:47:57.614468 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.013658 ====> Client connect 05:47:58.014046 Received DATA (on stdin) 05:47:58.014066 > 146 bytes data, server => client 05:47:58.014079 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.014090 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.014101 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.017063 < 16 bytes data, client => server 05:47:58.017087 'USER anonymous\r\n' 05:47:58.017330 Received DATA (on stdin) 05:47:58.017343 > 33 bytes data, server => client 05:47:58.017354 '331 We are happy you popped in!\r\n' 05:47:58.017414 < 22 bytes data, client => server 05:47:58.017424 'PASS ftp@example.com\r\n' 05:47:58.017557 Received DATA (on stdin) 05:47:58.017569 > 30 bytes data, server => client 05:47:58.017580 '230 Welcome you silly person\r\n' 05:47:58.017636 < 5 bytes data, client => server 05:47:58.017650 'PWD\r\n' 05:47:58.017787 Received DATA (on stdin) 05:47:58.017800 > 30 bytes data, server => client 05:47:58.017811 '257 "/" is current directory\r\n' 05:47:58.017880 < 6 bytes data, client => server 05:47:58.017896 'EPSV\r\n' 05:47:58.021997 Received DATA (on stdin) 05:47:58.022020 > 39 bytes data, server => client 05:47:58.022032 '229 Entering Passive Mode (|||43657|)\r\n' 05:47:58.022726 < 8 bytes data, client => server 05:47:58.022746 'TYPE I\r\n' 05:47:58.027213 Received DATA (on stdin) 05:47:58.027228 > 33 bytes data, server => client 05:47:58.027239 '200 I modify TYPE as you wanted\r\n' 05:47:58.027309 < 21 bytes data, client => server 05:47:58.027322 'SIZE verifiedserver\r\n' 05:47:58.027452 Received DATA (on stdin) 05:47:58.027464 > 8 bytes data, server => client 05:47:58.027474 '213 17\r\n' 05:47:58.027526 < 21 bytes data, client => server 05:47:58.027539 'RETR verifiedserver\r\n' 05:47:58.027780 Received DATA (on stdin) 05:47:58.027793 > 29 bytes data, server => client 05:47:58.027803 '150 Binary junk (17 bytes).\r\n' 05:47:58.041045 Received DATA (on stdin) 05:47:58.041064 > 28 bytes data, server => client 05:47:58.041074 '226 File transfer complete\r\n' 05:47:58.073816 < 6 bytes data, client => server 05:47:58.073862 'QUIT\r\n' 05:47:58.074184 Received DATA (on stdin) 05:47:58.074203 > 18 bytes data, server => client 05:47:58.074214 '221 bye bye baby\r\n' 05:47:58.075510 ====> Client disconnect 05:47:58.075804 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1353 ../src/curl -q --trace-ascii log/12/trace1353 --trace-time ftp://127.0.0.1:33915/path/file1353 -O -i -D log/12/heads1353 --output-dir log/12 > log/12/stdout1353 2> log/12/stderr1353 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1357 ../src/curl -q --trace-ascii log/10/trace1357 --trace-time ftp://127.0.0.1:32809/path/file1357 -O -D log/10/heads1357 --output-dir log/10 > log/10/stdout1357 2> log/10/stderr1357 data.log 05:47:57.021518 Running IPv4 version 05:47:57.021589 Listening on port 43657 05:47:57.021632 Wrote pid 152432 to log/11/server/ftp_sockdata.pid 05:47:57.021787 Received PING (on stdin) 05:47:57.021880 Received PORT (on stdin) 05:47:57.024026 ====> Client connect 05:47:57.036996 Received DATA (on stdin) 05:47:57.037049 > 17 bytes data, server => client 05:47:57.037061 'WE ROOLZ: 81984\r\n' 05:47:57.037134 Received DISC (on stdin) 05:47:57.037155 ====> Client forcibly disconnected 05:47:57.040306 Received QUIT (on stdin) 05:47:57.040328 quits 05:47:57.040410 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==152445== ==152445== Process terminating with default action of signal 4 (SIGILL) ==152445== Illegal opcode at address 0x4014883 ==152445== at 0x4014883: getparameter (tool_getparam.c:2899) ==152445== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152445== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152445== by 0x4004208: main (tool_main.c:189) === End of file valgrind1349 test 1353...[FTP download, file without C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1353 ../src/curl -q --trace-ascii log/12/trace1353 --trace-time ftp://127.0.0.1:33915/path/file1353 -O -i -D log/12/heads1353 --output-dir log/12 > log/12/stdout1353 2> log/12/stderr1353 1353: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1353 ../src/curl -q --trace-ascii log/12/trace1353 --trace-time ftp://127.0.0.1:33915/path/file1353 -O -i -D log/12/heads1353 --output-dir log/12 > log/12/stdout1353 2> log/12/stderr1353 === End of file commands.log === Start of file ftp_server.log 05:47:57.922965 ====> Client connect 05:47:57.923121 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.932977 < "USER anonymous" 05:47:57.933035 > "331 We are happy you popped in![CR][LF]" 05:47:57.933206 < "PASS ftp@example.com" 05:47:57.933233 > "230 Welcome you silly person[CR][LF]" 05:47:57.933382 < "PWD" 05:47:57.933411 > "257 "/" is current directory[CR][LF]" 05:47:57.933576 < "EPSV" 05:47:57.933604 ====> Passive DATA channel requested by client 05:47:57.933619 DATA sockfilt for passive data channel starting... 05:47:57.938964 DATA sockfilt for passive data channel started (pid 152638) 05:47:57.939139 DATA sockfilt for passive data channel listens on port 39331 05:47:57.939194 > "229 Entering Passive Mode (|||39331|)[CR][LF]" 05:47:57.939215 Client has been notified that DATA conn will be accepted on port 39331 05:47:57.939541 Client connects to port 39331 05:47:57.939571 ====> Client established passive DATA connection on port 39331 05:47:57.939670 < "TYPE I" 05:47:57.939708 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.939864 < "SIZE verifiedserver" 05:47:57.939903 > "213 17[CR][LF]" 05:47:57.946503 < "RETR verifiedserver" 05:47:57.946563 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.946658 =====> Closing passive DATA connection... 05:47:57.946674 Server disconnects passive DATA connection 05:47:57.946915 Server disconnected passive DATA connection 05:47:57.946939 DATA sockfilt for passive data channel quits (pid 152638) 05:47:57.947248 DATA sockfilt for passive data channel quit (pid 152638) 05:47:57.947270 =====> Closed passive DATA connection 05:47:57.947298 > "226 File transfer complete[CR][LF]" 05:47:57.992605 < "QUIT" 05:47:57.992673 > "221 bye bye baby[CR][LF]" 05:47:57.994516 MAIN sockfilt said DISC 05:47:57.994559 ====> Client disconnected 05:47:57.994642 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.383333 ====> Client connect 05:47:58.384587 Received DATA (on stdin) 05:47:58.384604 > 146 bytes data, server => client 05:47:58.384616 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.384626 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.384635 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.394218 < 16 bytes data, client => server 05:47:58.394239 'USER anonymous\r\n' 05:47:58.394493 Received DATA (on stdin) 05:47:58.394505 > 33 bytes data, server => client 05:47:58.394516 '331 We are happy you popped in!\r\n' 05:47:58.394571 < 22 bytes data, client => server 05:47:58.394582 'PASS ftp@example.com\r\n' 05:47:58.394684 Received DATA (on stdin) 05:47:58.394695 > 30 bytes data, server => client 05:47:58.394705 '230 Welcome you silly person\r\n' 05:47:58.394752 < 5 bytes data, client => server 05:47:58.394762 'PWD\r\n' 05:47:58.394863 Received DATA (on stdin) 05:47:58.394873 > 30 bytes data, server => client 05:47:58.394884 '257 "/" is current directory\r\n' 05:47:58.394944 < 6 bytes data, client => server 05:47:58.394954 'EPSV\r\n' 05:47:58.400681 Received DATA (on stdin) 05:47:58.400700 > 39 bytes data, server => client 05:47:58.400712 '229 Entering Passive Mode (|||39331|)\r\n' 05:47:58.400909 < 8 bytes data, client => server 05:47:58.400923 'TYPE I\r\n' 05:47:58.401160 Received DATA (on stdin) 05:47:58.401173 > 33 bytes data, server => client 05:47:58.401183 '200 I modify TYPE as you wanted\r\n' 05:47:58.401233 < 21 bytes data, client => server 05:47:58.401244 'SIZE verifiedserver\r\n' 05:47:58.401353 Received DATA (on stdin) 05:47:58.401364 > 8 bytes data, server => client 05:47:58.401374 '213 17\r\n' 05:47:58.407800 < 21 bytes data, client => server 05:47:58.407820 'RETR verifiedserver\r\n' 05:47:58.408130 Received DATA (on stdin) 05:47:58.408141 > 29 bytes data, server => client 05:47:58.408150 '150 Binary junk (17 bytes).\r\n' 05:47:58.408751 Received DATA (on stdin) 05:47:58.408763 > 28 bytes data, server => client 05:47:58.408772 '226 File transfer complete\r\n' 05:47:58.453851 < 6 bytes data, client => server 05:47:58.453891 'QUIT\r\n' 05:47:58.454133 Received DATA (on stdin) 05:47:58.454145 > 18 bytes data, server => client 05:47:58.454156 '221 bye bye baby\r\n' 05:47:58.455911 ====> Client disconnect 05:47:58.456105 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.396524 Running IPv4 version 05:47:57.396580 Listening on port 39331 05:47:57.396648 Wrote pid 152638 to log/12/server/ftp_sockdata.pid 05:47:57.400319 Received PING (on stdin) 05:47:57.400475 Received PORT (on stdin) 05:47:57.400944 ====> Client connect 05:47:57.408210 Received DATA (on stdin) 05:47:57.408228 > 17 bytes data, server => client 05:47:57.408237 'WE ROOLZ: 81072\r\n' 05:47:57.408262 Received DISC (on stdin) 05:47:57.408273 ====> Client forcibly disconnected 05:47:57.408396 Received QUIT (on stdin) 05:47:57.408406 quits 05:47:57.408512 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==152774== ==152774== Process terminating with default action of signal 4 (SIGILL) ==152774== Illegal opcode at address 0x4014883 ==152774== at 0x4014883: getparameter (tool_getparam.c:2899) ==152774== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152774== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152774== by 0x4004208: main (tool_main.c:189) === End of file valgrind1353 test 1357...[FTP download, file with C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1360 ../src/curl -q --trace-ascii log/19/trace1360 --trace-time ftp://127.0.0.1:45453/path/file1360 -O -J -D - --output-dir log/19 > log/19/stdout1360 2> log/19/stderr1360 -log-file=log/10/valgrind1357 ../src/curl -q --trace-ascii log/10/trace1357 --trace-time ftp://127.0.0.1:32809/path/file1357 -O -D log/10/heads1357 --output-dir log/10 > log/10/stdout1357 2> log/10/stderr1357 1357: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1357 ../src/curl -q --trace-ascii log/10/trace1357 --trace-time ftp://127.0.0.1:32809/path/file1357 -O -D log/10/heads1357 --output-dir log/10 > log/10/stdout1357 2> log/10/stderr1357 === End of file commands.log === Start of file ftp_server.log 05:47:58.068904 ====> Client connect 05:47:58.069087 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.075743 < "USER anonymous" 05:47:58.075805 > "331 We are happy you popped in![CR][LF]" 05:47:58.076058 < "PASS ftp@example.com" 05:47:58.076087 > "230 Welcome you silly person[CR][LF]" 05:47:58.076246 < "PWD" 05:47:58.076281 > "257 "/" is current directory[CR][LF]" 05:47:58.076448 < "EPSV" 05:47:58.076475 ====> Passive DATA channel requested by client 05:47:58.076490 DATA sockfilt for passive data channel starting... 05:47:58.086410 DATA sockfilt for passive data channel started (pid 152786) 05:47:58.092356 DATA sockfilt for passive data channel listens on port 38381 05:47:58.092440 > "229 Entering Passive Mode (|||38381|)[CR][LF]" 05:47:58.092467 Client has been notified that DATA conn will be accepted on port 38381 05:47:58.092839 Client connects to port 38381 05:47:58.092878 ====> Client established passive DATA connection on port 38381 05:47:58.092988 < "TYPE I" 05:47:58.093033 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.093231 < "SIZE verifiedserver" 05:47:58.093282 > "213 17[CR][LF]" 05:47:58.093472 < "RETR verifiedserver" 05:47:58.093519 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:58.093626 =====> Closing passive DATA connection... 05:47:58.093652 Server disconnects passive DATA connection 05:47:58.093950 Server disconnected passive DATA connection 05:47:58.093985 DATA sockfilt for passive data channel quits (pid 152786) 05:47:58.094291 DATA sockfilt for passive data channel quit (pid 152786) 05:47:58.094325 =====> Closed passive DATA connection 05:47:58.094358 > "226 File transfer complete[CR][LF]" 05:47:58.142906 < "QUIT" 05:47:58.142976 > "221 bye bye baby[CR][LF]" 05:47:58.145303 MAIN sockfilt said DISC 05:47:58.145343 ====> Client disconnected 05:47:58.155617 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.524412 ====> Client connect 05:47:58.533657 Received DATA (on stdin) 05:47:58.533711 > 146 bytes data, server => client 05:47:58.533726 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.533737 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.533747 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.533889 < 16 bytes data, client => server 05:47:58.533907 'USER anonymous\r\n' 05:47:58.537270 Received DATA (on stdin) 05:47:58.537291 > 33 bytes data, server => client 05:47:58.537303 '331 We are happy you popped in!\r\n' 05:47:58.537418 < 22 bytes data, client => server 05:47:58.537431 'PASS ftp@example.com\r\n' 05:47:58.537541 Received DATA (on stdin) 05:47:58.537553 > 30 bytes data, server => client 05:47:58.537564 '230 Welcome you silly person\r\n' 05:47:58.537615 < 5 bytes data, client => server 05:47:58.537626 'PWD\r\n' 05:47:58.537734 Received DATA (on stdin) 05:47:58.537745 > 30 bytes data, server => client 05:47:58.537756 '257 "/" is current directory\r\n' 05:47:58.537818 < 6 bytes data, client => server 05:47:58.537829 'EPSV\r\n' 05:47:58.553940 Received DATA (on stdin) 05:47:58.553960 > 39 bytes data, server => client 05:47:58.553972 '229 Entering Passive Mode (|||38381|)\r\n' 05:47:58.554197 < 8 bytes data, client => server 05:47:58.554216 'TYPE I\r\n' 05:47:58.554495 Received DATA (on stdin) 05:47:58.554509 > 33 bytes data, server => client 05:47:58.554520 '200 I modify TYPE as you wanted\r\n' 05:47:58.554581 < 21 bytes data, client => server 05:47:58.554597 'SIZE verifiedserver\r\n' 05:47:58.554743 Received DATA (on stdin) 05:47:58.554756 > 8 bytes data, server => client 05:47:58.554767 '213 17\r\n' 05:47:58.554824 < 21 bytes data, client => server 05:47:58.554840 'RETR verifiedserver\r\n' 05:47:58.555111 Received DATA (on stdin) 05:47:58.555125 > 29 bytes data, server => client 05:47:58.555137 '150 Binary junk (17 bytes).\r\n' 05:47:58.555815 Received DATA (on stdin) 05:47:58.555828 > 28 bytes data, server => client 05:47:58.555840 '226 File transfer complete\r\n' 05:47:58.600825 < 6 bytes data, client => server 05:47:58.600867 'QUIT\r\n' 05:47:58.605368 Received DATA (on stdin) 05:47:58.605391 > 18 bytes data, server => client 05:47:58.605402 '221 bye bye baby\r\n' 05:47:58.606697 ====> Client disconnect 05:47:58.613642 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.541095 Running IPv4 version 05:47:58.541172 Listening on port 38381 05:47:58.541211 Wrote pid 152786 to log/10/server/ftp_sockdata.pid 05:47:58.546987 Received PING (on stdin) 05:47:58.553649 Received PORT (on stdin) 05:47:58.554240 ====> Client connect 05:47:58.555203 Received DATA (on stdin) 05:47:58.555221 > 17 bytes data, server => client 05:47:58.555233 'WE ROOLZ: 81057\r\n' 05:47:58.555266 Received DISC (on stdin) 05:47:58.555283 ====> Client forcibly disconnected 05:47:58.555449 Received QUIT (on stdin) 05:47:58.555462 quits 05:47:58.555529 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==152947== ==152947== Process terminating with default action of signal 4 (SIGILL) ==152947== Illegal opcode at address 0x4014883 ==152947== at 0x4014883: getparameter (tool_getparam.c:2899) ==152947== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152947== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152947== by 0x4004208: main (tool_main.c:189) === End of file valgrind1357 test 1360...[FTP download, file with C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1360 ../src/curl -q --trace-ascii log/19/trace1360 --trace-time ftp://127.0.0.1:45453/path/file1360 -O -J -D - --output-dir log/19 > log/19/stdout1360 2> log/19/stderr1360 1360: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1360 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1360 ../src/curl -q --trace-ascii log/19/trace1360 --trace-time ftp://127.0.0.1:45453/path/file1360 -O -J -D - --output-dir log/19 > log/19/stdout1360 2> log/19/stderr1360 === End of file commands.log === Start of file ftp_server.log 05:47:58.606406 ====> Client connect 05:47:58.606614 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.606961 < "USER anonymous" 05:47:58.606999 > "331 We are happy you popped in![CR][LF]" 05:47:58.607161 < "PASS ftp@example.com" 05:47:58.607185 > "230 Welcome you silly person[CR][LF]" 05:47:58.607333 < "PWD" 05:47:58.607364 > "257 "/" is current directory[CR][LF]" 05:47:58.607525 < "EPSV" 05:47:58.6075CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1354 ../src/curl -q --trace-ascii log/23/trace1354 --trace-time ftp://127.0.0.1:40271/path/file1354 -O -i -D - --output-dir log/23 > log/23/stdout1354 2> log/23/stderr1354 49 ====> Passive DATA channel requested by client 05:47:58.607563 DATA sockfilt for passive data channel starting... 05:47:58.613868 DATA sockfilt for passive data channel started (pid 153188) 05:47:58.614022 DATA sockfilt for passive data channel listens on port 39301 05:47:58.614071 > "229 Entering Passive Mode (|||39301|)[CR][LF]" 05:47:58.614090 Client has been notified that DATA conn will be accepted on port 39301 05:47:58.615356 Client connects to port 39301 05:47:58.615388 ====> Client established passive DATA connection on port 39301 05:47:58.615477 < "TYPE I" 05:47:58.615509 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.619068 < "SIZE verifiedserver" 05:47:58.619118 > "213 17[CR][LF]" 05:47:58.619262 < "RETR verifiedserver" 05:47:58.619295 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:58.619390 =====> Closing passive DATA connection... 05:47:58.619405 Server disconnects passive DATA connection 05:47:58.622058 Server disconnected passive DATA connection 05:47:58.622092 DATA sockfilt for passive data channel quits (pid 153188) 05:47:58.622344 DATA sockfilt for passive data channel quit (pid 153188) 05:47:58.622370 =====> Closed passive DATA connection 05:47:58.622399 > "226 File transfer complete[CR][LF]" 05:47:58.669879 < "QUIT" 05:47:58.669940 > "221 bye bye baby[CR][LF]" 05:47:58.671121 MAIN sockfilt said DISC 05:47:58.671154 ====> Client disconnected 05:47:58.671233 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.063861 ====> Client connect 05:47:58.068087 Received DATA (on stdin) 05:47:58.068111 > 146 bytes data, server => client 05:47:58.068124 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.068135 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.068144 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.068267 < 16 bytes data, client => server 05:47:58.068280 'USER anonymous\r\n' 05:47:58.068455 Received DATA (on stdin) 05:47:58.068466 > 33 bytes data, server => client 05:47:58.068476 '331 We are happy you popped in!\r\n' 05:47:58.068528 < 22 bytes data, client => server 05:47:58.068539 'PASS ftp@example.com\r\n' 05:47:58.068637 Received DATA (on stdin) 05:47:58.068648 > 30 bytes data, server => client 05:47:58.068659 '230 Welcome you silly person\r\n' 05:47:58.068705 < 5 bytes data, client => server 05:47:58.068715 'PWD\r\n' 05:47:58.068814 Received DATA (on stdin) 05:47:58.068825 > 30 bytes data, server => client 05:47:58.068835 '257 "/" is current directory\r\n' 05:47:58.068892 < 6 bytes data, client => server 05:47:58.068903 'EPSV\r\n' 05:47:58.075553 Received DATA (on stdin) 05:47:58.075572 > 39 bytes data, server => client 05:47:58.075583 '229 Entering Passive Mode (|||39301|)\r\n' 05:47:58.076275 < 8 bytes data, client => server 05:47:58.076291 'TYPE I\r\n' 05:47:58.076983 Received DATA (on stdin) 05:47:58.076995 > 33 bytes data, server => client 05:47:58.077004 '200 I modify TYPE as you wanted\r\n' 05:47:58.080398 < 21 bytes data, client => server 05:47:58.080416 'SIZE verifiedserver\r\n' 05:47:58.080571 Received DATA (on stdin) 05:47:58.080581 > 8 bytes data, server => client 05:47:58.080590 '213 17\r\n' 05:47:58.080636 < 21 bytes data, client => server 05:47:58.080646 'RETR verifiedserver\r\n' 05:47:58.080857 Received DATA (on stdin) 05:47:58.080868 > 29 bytes data, server => client 05:47:58.080878 '150 Binary junk (17 bytes).\r\n' 05:47:58.083854 Received DATA (on stdin) 05:47:58.083867 > 28 bytes data, server => client 05:47:58.083877 '226 File transfer complete\r\n' 05:47:58.130336 < 6 bytes data, client => server 05:47:58.130372 'QUIT\r\n' 05:47:58.131405 Received DATA (on stdin) 05:47:58.131420 > 18 bytes data, server => client 05:47:58.131431 '221 bye bye baby\r\n' 05:47:58.132518 ====> Client disconnect 05:47:58.132694 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.073690 Running IPv4 version 05:47:58.073780 Listening on port 39301 05:47:58.073819 Wrote pid 153188 to log/19/server/ftp_sockdata.pid 05:47:58.073840 Received PING (on stdin) 05:47:58.075370 Received PORT (on stdin) 05:47:58.076755 ====> Client connect 05:47:58.080933 Received DATA (on stdin) 05:47:58.080947 > 17 bytes data, server => client 05:47:58.080956 'WE ROOLZ: 81129\r\n' 05:47:58.080981 Received DISC (on stdin) 05:47:58.080992 ====> Client forcibly disconnected 05:47:58.083556 Received QUIT (on stdin) 05:47:58.083569 quits 05:47:58.083644 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==153258== ==153258== Process terminating with default action of signal 4 (SIGILL) ==153258== Illegal opcode at address 0x4014883 ==153258== at 0x4014883: getparameter (tool_getparam.c:2899) ==153258== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153258== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153258== by 0x4004208: main (tool_main.c:189) === End of file valgrind1360 test 1354...[FTP download, file without C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1354 ../src/curl -q --trace-ascii log/23/trace1354 --trace-time ftp://127.0.0.1:40271/path/file1354 -O -i -D - --output-dir log/23 > log/23/stdout1354 2> log/23/stderr1354 1354: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1354 ../src/curl -q --trace-ascii log/23/trace1354 --trace-time ftp://127.0.0.1:40271/path/file1354 -O -i -D - --output-dir log/23 > log/23/stdout1354 2> log/23/stderr1354 === End of file commands.log === Start of file ftp_server.log 05:47:57.945772 ====> Client connect 05:47:57.945936 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.947536 < "USER anonymous" 05:47:57.947575 > "331 We are happy you popped in![CR][LF]" 05:47:57.947727 < "PASS ftp@example.com" 05:47:57.947750 > "230 Welcome you silly person[CR][LF]" 05:47:57.947882 < "PWD" 05:47:57.947909 > "257 "/" is current directory[CR][LF]" 05:47:57.948050 < "EPSV" 05:47:57.948072 ====> Passive DATA channel requested by client 05:47:57.948084 DATA sockfilt for passive data channel starting... 05:47:57.949875 DATA sockfilt for passive data channel started (pid 152653) 05:47:57.949986 DATA sockfilt for passive data channel listens on port 39467 05:47:57.950026 > "229 Entering Passive Mode (|||39467|)[CR][LF]" 05:47:57.950044 Client has been notified that DATA conn will be accepted on port 39467 05:47:57.950271 Client connects to port 39467 05:47:57.950301 ====> Client established passive DATA connection on port 39467 05:47:57.950375 < "TYPE I" 05:47:57.950402 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.956259 < "SIZE verifiedserver" 05:47:57.956320 > "213 17[CR][LF]" 05:47:57.956558 < "RETR verifiedserver" 05:47:57.956593 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.956682 =====> Closing passive DATA connection... 05:47:57.956697 Server disconnects passive DATA connection 05:47:57.956851 Server disconnected passive DATA connection 05:47:57.956872 DATA sockfilt for passive data channel quits (pid 152653) 05:47:57.957116 DATA sockfilt for passive data channel quit (pid 152653) 05:47:57.957141 =====> Closed passive DATA connection 05:47:57.957167 > "226 File transfer complete[CR][LF]" 05:47:58.002548 < "QUIT" 05:47:58.002617 > "221 bye bye baby[CR][LF]" 05:47:58.003992 MAIN sockfilt said DISC 05:47:58.004027 ====> Client disconnected 05:47CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1362 ../src/curl -q --trace-ascii log/24/trace1362 --trace-time ftp://127.0.0.1:38499/path/file1362 -O -i -D - --output-dir log/24 > log/24/stdout1362 2> log/24/stderr1362 :58.004111 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.407108 ====> Client connect 05:47:58.407399 Received DATA (on stdin) 05:47:58.407413 > 146 bytes data, server => client 05:47:58.407425 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.407436 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.407445 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.408835 < 16 bytes data, client => server 05:47:58.408847 'USER anonymous\r\n' 05:47:58.409030 Received DATA (on stdin) 05:47:58.409040 > 33 bytes data, server => client 05:47:58.409050 '331 We are happy you popped in!\r\n' 05:47:58.409095 < 22 bytes data, client => server 05:47:58.409104 'PASS ftp@example.com\r\n' 05:47:58.409200 Received DATA (on stdin) 05:47:58.409209 > 30 bytes data, server => client 05:47:58.409219 '230 Welcome you silly person\r\n' 05:47:58.409259 < 5 bytes data, client => server 05:47:58.409268 'PWD\r\n' 05:47:58.409359 Received DATA (on stdin) 05:47:58.409369 > 30 bytes data, server => client 05:47:58.409378 '257 "/" is current directory\r\n' 05:47:58.409428 < 6 bytes data, client => server 05:47:58.409438 'EPSV\r\n' 05:47:58.411501 Received DATA (on stdin) 05:47:58.411513 > 39 bytes data, server => client 05:47:58.411524 '229 Entering Passive Mode (|||39467|)\r\n' 05:47:58.411643 < 8 bytes data, client => server 05:47:58.411659 'TYPE I\r\n' 05:47:58.411854 Received DATA (on stdin) 05:47:58.411865 > 33 bytes data, server => client 05:47:58.411875 '200 I modify TYPE as you wanted\r\n' 05:47:58.411926 < 21 bytes data, client => server 05:47:58.411936 'SIZE verifiedserver\r\n' 05:47:58.417814 Received DATA (on stdin) 05:47:58.417831 > 8 bytes data, server => client 05:47:58.417840 '213 17\r\n' 05:47:58.417930 < 21 bytes data, client => server 05:47:58.417941 'RETR verifiedserver\r\n' 05:47:58.418149 Received DATA (on stdin) 05:47:58.418158 > 29 bytes data, server => client 05:47:58.418168 '150 Binary junk (17 bytes).\r\n' 05:47:58.418617 Received DATA (on stdin) 05:47:58.418628 > 28 bytes data, server => client 05:47:58.418638 '226 File transfer complete\r\n' 05:47:58.463804 < 6 bytes data, client => server 05:47:58.463836 'QUIT\r\n' 05:47:58.464083 Received DATA (on stdin) 05:47:58.464099 > 18 bytes data, server => client 05:47:58.464111 '221 bye bye baby\r\n' 05:47:58.465387 ====> Client disconnect 05:47:58.465574 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.411107 Running IPv4 version 05:47:57.411185 Listening on port 39467 05:47:57.411248 Wrote pid 152653 to log/23/server/ftp_sockdata.pid 05:47:57.411270 Received PING (on stdin) 05:47:57.411352 Received PORT (on stdin) 05:47:57.411678 ====> Client connect 05:47:57.418195 Received DATA (on stdin) 05:47:57.418210 > 17 bytes data, server => client 05:47:57.418219 'WE ROOLZ: 81405\r\n' 05:47:57.418243 Received DISC (on stdin) 05:47:57.418254 ====> Client forcibly disconnected 05:47:57.418328 Received QUIT (on stdin) 05:47:57.418336 quits 05:47:57.418398 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==152732== ==152732== Process terminating with default action of signal 4 (SIGILL) ==152732== Illegal opcode at address 0x4014883 ==152732== at 0x4014883: getparameter (tool_getparam.c:2899) ==152732== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152732== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152732== by 0x4004208: main (tool_main.c:189) === End of file valgrind1354 test 1362...[FTP download, file with C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1362 ../src/curl -q --trace-ascii log/24/trace1362 --trace-time ftp://127.0.0.1:38499/path/file1362 -O -i -D - --output-dir log/24 > log/24/stdout1362 2> log/24/stderr1362 1362: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1362 ../src/curl -q --trace-ascii log/24/trace1362 --trace-time ftp://127.0.0.1:38499/path/file1362 -O -i -D - --output-dir log/24 > log/24/stdout1362 2> log/24/stderr1362 === End of file commands.log === Start of file ftp_server.log 05:47:58.618469 ====> Client connect 05:47:58.618671 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.618973 < "USER anonymous" 05:47:58.619008 > "331 We are happy you popped in![CR][LF]" 05:47:58.619155 < "PASS ftp@example.com" 05:47:58.619178 > "230 Welcome you silly person[CR][LF]" 05:47:58.619308 < "PWD" 05:47:58.619336 > "257 "/" is current directory[CR][LF]" 05:47:58.619473 < "EPSV" 05:47:58.619495 ====> Passive DATA channel requested by client 05:47:58.619508 DATA sockfilt for passive data channel starting... 05:47:58.626520 DATA sockfilt for passive data channel started (pid 153191) 05:47:58.626643 DATA sockfilt for passive data channel listens on port 46103 05:47:58.626691 > "229 Entering Passive Mode (|||46103|)[CR][LF]" 05:47:58.626707 Client has been notified that DATA conn will be accepted on port 46103 05:47:58.626957 Client connects to port 46103 05:47:58.626987 ====> Client established passive DATA connection on port 46103 05:47:58.627108 < "TYPE I" 05:47:58.627140 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.627294 < "SIZE verifiedserver" 05:47:58.627328 > "213 17[CR][LF]" 05:47:58.627468 < "RETR verifiedserver" 05:47:58.627500 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:58.627580 =====> Closing passive DATA connection... 05:47:58.627595 Server disconnects passive DATA connection 05:47:58.627801 Server disconnected passive DATA connection 05:47:58.627828 DATA sockfilt for passive data channel quits (pid 153191) 05:47:58.628016 DATA sockfilt for passive data channel quit (pid 153191) 05:47:58.628037 =====> Closed passive DATA connection 05:47:58.628060 > "226 File transfer complete[CR][LF]" 05:47:58.685680 < "QUIT" 05:47:58.685743 > "221 bye bye baby[CR][LF]" 05:47:58.686953 MAIN sockfilt said DISC 05:47:58.686988 ====> Client disconnected 05:47:58.687053 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:59.079808 ====> Client connect 05:47:59.080142 Received DATA (on stdin) 05:47:59.080158 > 146 bytes data, server => client 05:47:59.080169 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:59.080180 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:59.080190 '220 \___|\___/|_| \_\_____|\r\n' 05:47:59.080268 < 16 bytes data, client => server 05:47:59.080285 'USER anonymous\r\n' 05:47:59.080460 Received DATA (on stdin) 05:47:59.080470 > 33 bytes data, server => client 05:47:59.080480 '331 We are happy you popped in!\r\n' 05:47:59.080528 < 22 bytes data, client => server 05:47:59.080537 'PASS ftp@example.com\r\n' 05:47:59.080627 Received DATA (on stdin) 05:47:59.080637 > 30 bytes data, server => client 05:47:59.080646 '230 Welcome you silly person\r\n' 05:47:59.080687 < 5 bytes data, client => server 05:47:59.080696 'PWD\r\n' 05:47:59.080785 Received DATA (on stdin) 05:47:59.080794 > 30 bytes data, server => client 05:47:59.080804 '257 "/" is current directory\r\n' 05:47:59.080852 < 6 bytes data, client => server 05:47:59.080861 'EPSV\r\n' 05:47:59.088168 Received DATA (on stdin) 05:47:59.088183 > 39 bytes data, server => client 05:47:59.088194 '229 Entering Passive Mode (|||46103|)\r\n' 05:47:59.088454 < 8 bytes data, client => server 05CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1356 ../src/curl -q --trace-ascii log/13/trace1356 --trace-time ftp://127.0.0.1:46845/path/file1356 -O --output-dir log/13 > log/13/stdout1356 2> log/13/stderr1356 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1361 ../src/curl -q --trace-ascii log/17/trace1361 --trace-time ftp://127.0.0.1:40885/path/file1361 -O -i -D log/17/heads1361 --output-dir log/17 > log/17/stdout1361 2> log/17/stderr1361 :47:59.088466 'TYPE I\r\n' 05:47:59.088593 Received DATA (on stdin) 05:47:59.088603 > 33 bytes data, server => client 05:47:59.088613 '200 I modify TYPE as you wanted\r\n' 05:47:59.088665 < 21 bytes data, client => server 05:47:59.088675 'SIZE verifiedserver\r\n' 05:47:59.088778 Received DATA (on stdin) 05:47:59.088788 > 8 bytes data, server => client 05:47:59.088797 '213 17\r\n' 05:47:59.088842 < 21 bytes data, client => server 05:47:59.088852 'RETR verifiedserver\r\n' 05:47:59.089123 Received DATA (on stdin) 05:47:59.089133 > 29 bytes data, server => client 05:47:59.089143 '150 Binary junk (17 bytes).\r\n' 05:47:59.089512 Received DATA (on stdin) 05:47:59.089523 > 28 bytes data, server => client 05:47:59.089532 '226 File transfer complete\r\n' 05:47:59.143798 < 6 bytes data, client => server 05:47:59.143838 'QUIT\r\n' 05:47:59.147207 Received DATA (on stdin) 05:47:59.147227 > 18 bytes data, server => client 05:47:59.147238 '221 bye bye baby\r\n' 05:47:59.148351 ====> Client disconnect 05:47:59.148505 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.087663 Running IPv4 version 05:47:58.087725 Listening on port 46103 05:47:58.087761 Wrote pid 153191 to log/24/server/ftp_sockdata.pid 05:47:58.087916 Received PING (on stdin) 05:47:58.088004 Received PORT (on stdin) 05:47:58.088360 ====> Client connect 05:47:58.089046 Received DATA (on stdin) 05:47:58.089057 > 17 bytes data, server => client 05:47:58.089066 'WE ROOLZ: 81530\r\n' 05:47:58.089091 Received DISC (on stdin) 05:47:58.089101 ====> Client forcibly disconnected 05:47:58.089286 Received QUIT (on stdin) 05:47:58.089296 quits 05:47:58.089346 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of file valgrind1362 ==153246== ==153246== Process terminating with default action of signal 4 (SIGILL) ==153246== Illegal opcode at address 0x4014883 ==153246== at 0x4014883: getparameter (tool_getparam.c:2899) ==153246== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153246== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153246== by 0x4004208: main (tool_main.c:189) === End of file valgrind1362 test 1356...[FTP download, file with Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1356 ../src/curl -q --trace-ascii log/13/trace1356 --trace-time ftp://127.0.0.1:46845/path/file1356 -O --output-dir log/13 > log/13/stdout1356 2> log/13/stderr1356 1356: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1356 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1356 ../src/curl -q --trace-ascii log/13/trace1356 --trace-time ftp://127.0.0.1:46845/path/file1356 -O --output-dir log/13 > log/13/stdout1356 2> log/13/stderr1356 === End of file commands.log === Start of file ftp_server.log 05:47:57.960559 ====> Client connect 05:47:57.960720 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:57.961075 < "USER anonymous" 05:47:57.961116 > "331 We are happy you popped in![CR][LF]" 05:47:57.961310 < "PASS ftp@example.com" 05:47:57.961344 > "230 Welcome you silly person[CR][LF]" 05:47:57.961526 < "PWD" 05:47:57.961565 > "257 "/" is current directory[CR][LF]" 05:47:57.962276 < "EPSV" 05:47:57.962306 ====> Passive DATA channel requested by client 05:47:57.962321 DATA sockfilt for passive data channel starting... 05:47:57.975806 DATA sockfilt for passive data channel started (pid 152676) 05:47:57.975976 DATA sockfilt for passive data channel listens on port 36137 05:47:57.976038 > "229 Entering Passive Mode (|||36137|)[CR][LF]" 05:47:57.976067 Client has been notified that DATA conn will be accepted on port 36137 05:47:57.976460 Client connects to port 36137 05:47:57.976495 ====> Client established passive DATA connection on port 36137 05:47:57.976607 < "TYPE I" 05:47:57.976649 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:57.976846 < "SIZE verifiedserver" 05:47:57.976892 > "213 17[CR][LF]" 05:47:57.977072 < "RETR verifiedserver" 05:47:57.977106 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:57.977210 =====> Closing passive DATA connection... 05:47:57.977235 Server disconnects passive DATA connection 05:47:57.977456 Server disconnected passive DATA connection 05:47:57.977487 DATA sockfilt for passive data channel quits (pid 152676) 05:47:57.977824 DATA sockfilt for passive data channel quit (pid 152676) 05:47:57.977856 =====> Closed passive DATA connection 05:47:57.977887 > "226 File transfer complete[CR][LF]" 05:47:58.019443 < "QUIT" 05:47:58.019497 > "221 bye bye baby[CR][LF]" 05:47:58.020706 MAIN sockfilt said DISC 05:47:58.020740 ====> Client disconnected 05:47:58.020827 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.421911 ====> Client connect 05:47:58.422191 Received DATA (on stdin) 05:47:58.422206 > 146 bytes data, server => client 05:47:58.422219 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.422229 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.422239 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.422360 < 16 bytes data, client => server 05:47:58.422376 'USER anonymous\r\n' 05:47:58.422576 Received DATA (on stdin) 05:47:58.422590 > 33 bytes data, server => client 05:47:58.422600 '331 We are happy you popped in!\r\n' 05:47:58.422658 < 22 bytes data, client => server 05:47:58.422674 'PASS ftp@example.com\r\n' 05:47:58.422803 Received DATA (on stdin) 05:47:58.422816 > 30 bytes data, server => client 05:47:58.422827 '230 Welcome you silly person\r\n' 05:47:58.422882 < 5 bytes data, client => server 05:47:58.422896 'PWD\r\n' 05:47:58.423022 Received DATA (on stdin) 05:47:58.423035 > 30 bytes data, server => client 05:47:58.423045 '257 "/" is current directory\r\n' 05:47:58.423112 < 6 bytes data, client => server 05:47:58.423127 'EPSV\r\n' 05:47:58.437538 Received DATA (on stdin) 05:47:58.437558 > 39 bytes data, server => client 05:47:58.437570 '229 Entering Passive Mode (|||36137|)\r\n' 05:47:58.437817 < 8 bytes data, client => server 05:47:58.437836 'TYPE I\r\n' 05:47:58.438110 Received DATA (on stdin) 05:47:58.438125 > 33 bytes data, server => client 05:47:58.438136 '200 I modify TYPE as you wanted\r\n' 05:47:58.438198 < 21 bytes data, client => server 05:47:58.438214 'SIZE verifiedserver\r\n' 05:47:58.438353 Received DATA (on stdin) 05:47:58.438366 > 8 bytes data, server => client 05:47:58.438377 '213 17\r\n' 05:47:58.438433 < 21 bytes data, client => server 05:47:58.438447 'RETR verifiedserver\r\n' 05:47:58.438695 Received DATA (on stdin) 05:47:58.438709 > 29 bytes data, server => client 05:47:58.438720 '150 Binary junk (17 bytes).\r\n' 05:47:58.439347 Received DATA (on stdin) 05:47:58.439361 > 28 bytes data, server => client 05:47:58.439372 '226 File transfer complete\r\n' 05:47:58.480700 < 6 bytes data, client => server 05:47:58.480734 'QUIT\r\n' 05:47:58.480952 Received DATA (on stdin) 05:47:58.480964 > 18 bytes data, server => client 05:47:58.480974 '221 bye bye baby\r\n' 05:47:58.482105 ====> Client disconnect 05:47:58.482281 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:57.428183 Running IPv4 version 05:47:57.428288 Listening on port 36137 05:47:57.428323 Wrote pid 152676 to log/13/server/ftp_sockdata.pid 05:47:57.437170 Received PING (on stdin) 05:47:57.437308 Received PORT (on stdin) 05:47:57.437860 ====> Client connect 05:47:57.438782 Received DATA (onCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1364 ../src/curl -q --trace-ascii log/4/trace1364 --trace-time http://127.0.0.1:40253/1364 -o log/4/outfile1364 -D log/4/heads1364 > log/4/stdout1364 2> log/4/stderr1364 stdin) 05:47:57.438799 > 17 bytes data, server => client 05:47:57.438810 'WE ROOLZ: 81411\r\n' 05:47:57.438842 Received DISC (on stdin) 05:47:57.438855 ====> Client forcibly disconnected 05:47:57.439008 Received QUIT (on stdin) 05:47:57.439025 quits 05:47:57.439098 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind1356 ==152760== ==152760== Process terminating with default action of signal 4 (SIGILL) ==152760== Illegal opcode at address 0x4014883 ==152760== at 0x4014883: getparameter (tool_getparam.c:2899) ==152760== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==152760== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==152760== by 0x4004208: main (tool_main.c:189) === End of file valgrind1356 test 1361...[FTP download, file with C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1361 ../src/curl -q --trace-ascii log/17/trace1361 --trace-time ftp://127.0.0.1:40885/path/file1361 -O -i -D log/17/heads1361 --output-dir log/17 > log/17/stdout1361 2> log/17/stderr1361 1361: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1361 ../src/curl -q --trace-ascii log/17/trace1361 --trace-time ftp://127.0.0.1:40885/path/file1361 -O -i -D log/17/heads1361 --output-dir log/17 > log/17/stdout1361 2> log/17/stderr1361 === End of file commands.log === Start of file ftp_server.log 05:47:58.590946 ====> Client connect 05:47:58.591129 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.591465 < "USER anonymous" 05:47:58.591518 > "331 We are happy you popped in![CR][LF]" 05:47:58.591728 < "PASS ftp@example.com" 05:47:58.591770 > "230 Welcome you silly person[CR][LF]" 05:47:58.591962 < "PWD" 05:47:58.592002 > "257 "/" is current directory[CR][LF]" 05:47:58.592185 < "EPSV" 05:47:58.592219 ====> Passive DATA channel requested by client 05:47:58.592235 DATA sockfilt for passive data channel starting... 05:47:58.595186 DATA sockfilt for passive data channel started (pid 153180) 05:47:58.595315 DATA sockfilt for passive data channel listens on port 40661 05:47:58.595368 > "229 Entering Passive Mode (|||40661|)[CR][LF]" 05:47:58.595394 Client has been notified that DATA conn will be accepted on port 40661 05:47:58.595703 Client connects to port 40661 05:47:58.595738 ====> Client established passive DATA connection on port 40661 05:47:58.595826 < "TYPE I" 05:47:58.595865 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.596064 < "SIZE verifiedserver" 05:47:58.596112 > "213 18[CR][LF]" 05:47:58.596298 < "RETR verifiedserver" 05:47:58.596339 > "150 Binary junk (18 bytes).[CR][LF]" 05:47:58.596437 =====> Closing passive DATA connection... 05:47:58.596460 Server disconnects passive DATA connection 05:47:58.596716 Server disconnected passive DATA connection 05:47:58.596747 DATA sockfilt for passive data channel quits (pid 153180) 05:47:58.597019 DATA sockfilt for passive data channel quit (pid 153180) 05:47:58.597050 =====> Closed passive DATA connection 05:47:58.597083 > "226 File transfer complete[CR][LF]" 05:47:58.642600 < "QUIT" 05:47:58.642675 > "221 bye bye baby[CR][LF]" 05:47:58.646799 MAIN sockfilt said DISC 05:47:58.646843 ====> Client disconnected 05:47:58.646928 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:59.052266 ====> Client connect 05:47:59.052603 Received DATA (on stdin) 05:47:59.052622 > 146 bytes data, server => client 05:47:59.052634 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:59.052644 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:59.052653 '220 \___|\___/|_| \_\_____|\r\n' 05:47:59.052744 < 16 bytes data, client => server 05:47:59.052763 'USER anonymous\r\n' 05:47:59.052983 Received DATA (on stdin) 05:47:59.052997 > 33 bytes data, server => client 05:47:59.053008 '331 We are happy you popped in!\r\n' 05:47:59.053067 < 22 bytes data, client => server 05:47:59.053082 'PASS ftp@example.com\r\n' 05:47:59.053227 Received DATA (on stdin) 05:47:59.053241 > 30 bytes data, server => client 05:47:59.053251 '230 Welcome you silly person\r\n' 05:47:59.053308 < 5 bytes data, client => server 05:47:59.053323 'PWD\r\n' 05:47:59.053460 Received DATA (on stdin) 05:47:59.053473 > 30 bytes data, server => client 05:47:59.053483 '257 "/" is current directory\r\n' 05:47:59.053546 < 6 bytes data, client => server 05:47:59.053557 'EPSV\r\n' 05:47:59.056860 Received DATA (on stdin) 05:47:59.056876 > 39 bytes data, server => client 05:47:59.056887 '229 Entering Passive Mode (|||40661|)\r\n' 05:47:59.057063 < 8 bytes data, client => server 05:47:59.057081 'TYPE I\r\n' 05:47:59.057323 Received DATA (on stdin) 05:47:59.057337 > 33 bytes data, server => client 05:47:59.057347 '200 I modify TYPE as you wanted\r\n' 05:47:59.057411 < 21 bytes data, client => server 05:47:59.057427 'SIZE verifiedserver\r\n' 05:47:59.057574 Received DATA (on stdin) 05:47:59.057587 > 8 bytes data, server => client 05:47:59.057597 '213 18\r\n' 05:47:59.057652 < 21 bytes data, client => server 05:47:59.057667 'RETR verifiedserver\r\n' 05:47:59.057916 Received DATA (on stdin) 05:47:59.057929 > 29 bytes data, server => client 05:47:59.057941 '150 Binary junk (18 bytes).\r\n' 05:47:59.058541 Received DATA (on stdin) 05:47:59.058555 > 28 bytes data, server => client 05:47:59.058566 '226 File transfer complete\r\n' 05:47:59.103786 < 6 bytes data, client => server 05:47:59.103834 'QUIT\r\n' 05:47:59.106983 Received DATA (on stdin) 05:47:59.107009 > 18 bytes data, server => client 05:47:59.107021 '221 bye bye baby\r\n' 05:47:59.108187 ====> Client disconnect 05:47:59.108384 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.055490 Running IPv4 version 05:47:58.055547 Listening on port 40661 05:47:58.055595 Wrote pid 153180 to log/17/server/ftp_sockdata.pid 05:47:58.056563 Received PING (on stdin) 05:47:58.056674 Received PORT (on stdin) 05:47:58.057106 ====> Client connect 05:47:58.057970 Received DATA (on stdin) 05:47:58.057983 > 18 bytes data, server => client 05:47:58.057994 'WE ROOLZ: 138189\r\n' 05:47:58.058021 Received DISC (on stdin) 05:47:58.058035 ====> Client forcibly disconnected 05:47:58.058216 Received QUIT (on stdin) 05:47:58.058229 quits 05:47:58.058294 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==153220== ==153220== Process terminating with default action of signal 4 (SIGILL) ==153220== Illegal opcode at address 0x4014883 ==153220== at 0x4014883: getparameter (tool_getparam.c:2899) ==153220== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153220== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153220== by 0x4004208: main (tool_main.c:189) === End of file valgrind1361 test 1364...[HTTP GET -o fname without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1364 ../src/curl -q --trace-ascii log/4/trace1364 --trace-time http://127.0.0.1:40253/1364 -o log/4/outfile1364 -D log/4/heads1364 > log/4/stdout1364 2> log/4/stderr1364 1364: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1365 ../src/curl -q --trace-ascii log/15/trace1365 --trace-time http://127.0.0.1:43413/1365 -o log/15/outfile1365 -D - > log/15/stdout1365 2> log/15/stderr1365 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1359 ../src/curl -q --trace-ascii log/20/trace1359 --trace-time ftp://127.0.0.1:46185/path/file1359 -O -J -D log/20/heads1359 --output-dir log/20 > log/20/stdout1359 2> log/20/stderr1359 re? Returned: 132 == Contents of files in the log/4/ directory after test 1364 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1364 ../src/curl -q --trace-ascii log/4/trace1364 --trace-time http://127.0.0.1:40253/1364 -o log/4/outfile1364 -D log/4/heads1364 > log/4/stdout1364 2> log/4/stderr1364 === End of file commands.log === Start of file http_server.log 05:47:58.220557 ====> Client connect 05:47:58.220598 accept_connection 3 returned 4 05:47:58.220618 accept_connection 3 returned 0 05:47:58.220635 Read 93 bytes 05:47:58.220646 Process 93 bytes request 05:47:58.220659 Got request: GET /verifiedserver HTTP/1.1 05:47:58.220669 Are-we-friendly question received 05:47:58.220700 Wrote request (93 bytes) input to log/4/server.input 05:47:58.220722 Identifying ourselves as friends 05:47:58.220787 Response sent (56 bytes) and written to log/4/server.response 05:47:58.220799 special request received, no persistency 05:47:58.220808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 46004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1364 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1364 ==153326== ==153326== Process terminating with default action of signal 4 (SIGILL) ==153326== Illegal opcode at address 0x4014883 ==153326== at 0x4014883: getparameter (tool_getparam.c:2899) ==153326== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153326== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153326== by 0x4004208: main (tool_main.c:189) === End of file valgrind1364 test 1365...[HTTP GET -o fname without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1365 ../src/curl -q --trace-ascii log/15/trace1365 --trace-time http://127.0.0.1:43413/1365 -o log/15/outfile1365 -D - > log/15/stdout1365 2> log/15/stderr1365 1365: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1365 ../src/curl -q --trace-ascii log/15/trace1365 --trace-time http://127.0.0.1:43413/1365 -o log/15/outfile1365 -D - > log/15/stdout1365 2> log/15/stderr1365 === End of file commands.log === Start of file http_server.log 05:47:59.260400 ====> Client connect 05:47:59.260443 accept_connection 3 returned 4 05:47:59.260459 accept_connection 3 returned 0 05:47:59.260474 Read 93 bytes 05:47:59.260482 Process 93 bytes request 05:47:59.260541 Got request: GET /verifiedserver HTTP/1.1 05:47:59.260550 Are-we-friendly question received 05:47:59.260574 Wrote request (93 bytes) input to log/15/server.input 05:47:59.260590 Identifying ourselves as friends 05:47:59.260663 Response sent (56 bytes) and written to log/15/server.response 05:47:59.260671 special request received, no persistency 05:47:59.260679 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1365 ==153409== ==153409== Process terminating with default action of signal 4 (SIGILL) ==153409== Illegal opcode at address 0x4014883 ==153409== at 0x4014883: getparameter (tool_getparam.c:2899) ==153409== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153409== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153409== by 0x4004208: main (tool_main.c:189) === End of file valgrind1365 test 1359...[FTP download, file with C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1359 ../src/curl -q --trace-ascii log/20/trace1359 --trace-time ftp://127.0.0.1:46185/path/file1359 -O -J -D log/20/heads1359 --output-dir log/20 > log/20/stdout1359 2> log/20/stderr1359 1359: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1359 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1359 ../src/curl -q --trace-ascii log/20/trace1359 --trace-time ftp://127.0.0.1:46185/path/file1359 -O -J -D log/20/heads1359 --output-dir log/20 > log/20/stdout1359 2> log/20/stderr1359 === End of file commands.log === Start of file ftp_server.log 05:47:58.439254 ====> Client connect 05:47:58.439423 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.439744 < "USER anonymous" 05:47:58.439781 > "331 We are happy you popped in![CR][LF]" 05:47:58.439942 < "PASS ftp@example.com" 05:47:58.439967 > "230 Welcome you silly person[CR][LF]" 05:47:58.440111 < "PWD" 05:47:58.440142 > "257 "/" is current directory[CR][LF]" 05:47:58.440298 < "EPSV" 05:47:58.440326 ====> Passive DATA channel requested by client 05:47:58.440339 DATA sockfilt for passive data channel starting... 05:47:58.446726 DATA sockfilt for passive data channel started (pid 153113) 05:47:58.446875 DATA sockfilt for passive data channel listens on port 39715 05:47:58.446931 > "229 Entering Passive Mode (|||39715|)[CR][LF]" 05:47:58.446955 Client has been notified that DATA conn will be accepted on port 39715 05:47:58.447287 Client connects to port 39715 05:47:58.447324 ====> Client established passive DATA connection on port 39715 05:47:58.447426 < "TYPE I" 05:47:58.447470 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.447669 < "SIZE verifiedserver" 05:47:58.447717 > "213 17[CR][LF]" 05:47:58.447902 < "RETR verifiedserver" 05:47:58.447944 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:58.448048 =====> Closing passive DATA connection... 05:47:58.448072 Server disconnects passive DATA connection 05:47:58.448327 Server disconnected passive DATA connection 05:47:58.448360 DATA sockfilt for passive data channel quits (pid 153113) 05:47:58.448597 DATA sockfilt for passive data channel quit (pid 153113) 05:47:58.448628 =====> Closed passive DATA connection 05:47:58.448664 > "226 File transfer complete[CR][LF]" 05:47:58.495935 < "QUIT" 05:47:58.496005 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1366 ../src/curl -q --trace-ascii log/21/trace1366 --trace-time http://127.0.0.1:42891/1366 -o log/21/outfile1366 -D log/21/heads1366 > log/21/stdout1366 2> log/21/stderr1366 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1363 ../src/curl -q --trace-ascii log/9/trace1363 --trace-time ftp://127.0.0.1:39835/path/file1363 -O -i --output-dir log/9 > log/9/stdout1363 2> log/9/stderr1363 "221 bye bye baby[CR][LF]" 05:47:58.497423 MAIN sockfilt said DISC 05:47:58.497468 ====> Client disconnected 05:47:58.497566 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.900530 ====> Client connect 05:47:58.900887 Received DATA (on stdin) 05:47:58.900900 > 146 bytes data, server => client 05:47:58.900912 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.900922 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.900931 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.901046 < 16 bytes data, client => server 05:47:58.901058 'USER anonymous\r\n' 05:47:58.901236 Received DATA (on stdin) 05:47:58.901248 > 33 bytes data, server => client 05:47:58.901258 '331 We are happy you popped in!\r\n' 05:47:58.901309 < 22 bytes data, client => server 05:47:58.901319 'PASS ftp@example.com\r\n' 05:47:58.901418 Received DATA (on stdin) 05:47:58.901428 > 30 bytes data, server => client 05:47:58.901438 '230 Welcome you silly person\r\n' 05:47:58.901485 < 5 bytes data, client => server 05:47:58.901494 'PWD\r\n' 05:47:58.901592 Received DATA (on stdin) 05:47:58.901603 > 30 bytes data, server => client 05:47:58.901613 '257 "/" is current directory\r\n' 05:47:58.901670 < 6 bytes data, client => server 05:47:58.901681 'EPSV\r\n' 05:47:58.908421 Received DATA (on stdin) 05:47:58.908440 > 39 bytes data, server => client 05:47:58.908451 '229 Entering Passive Mode (|||39715|)\r\n' 05:47:58.908648 < 8 bytes data, client => server 05:47:58.908665 'TYPE I\r\n' 05:47:58.908933 Received DATA (on stdin) 05:47:58.908946 > 33 bytes data, server => client 05:47:58.908957 '200 I modify TYPE as you wanted\r\n' 05:47:58.909014 < 21 bytes data, client => server 05:47:58.909030 'SIZE verifiedserver\r\n' 05:47:58.909176 Received DATA (on stdin) 05:47:58.909189 > 8 bytes data, server => client 05:47:58.909200 '213 17\r\n' 05:47:58.909256 < 21 bytes data, client => server 05:47:58.909270 'RETR verifiedserver\r\n' 05:47:58.909531 Received DATA (on stdin) 05:47:58.909545 > 29 bytes data, server => client 05:47:58.909556 '150 Binary junk (17 bytes).\r\n' 05:47:58.910123 Received DATA (on stdin) 05:47:58.910137 > 28 bytes data, server => client 05:47:58.910149 '226 File transfer complete\r\n' 05:47:58.957119 < 6 bytes data, client => server 05:47:58.957162 'QUIT\r\n' 05:47:58.957473 Received DATA (on stdin) 05:47:58.957491 > 18 bytes data, server => client 05:47:58.957501 '221 bye bye baby\r\n' 05:47:58.958810 ====> Client disconnect 05:47:58.959033 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.907800 Running IPv4 version 05:47:58.907880 Listening on port 39715 05:47:58.907922 Wrote pid 153113 to log/20/server/ftp_sockdata.pid 05:47:58.908106 Received PING (on stdin) 05:47:58.908221 Received PORT (on stdin) 05:47:58.908692 ====> Client connect 05:47:58.909584 Received DATA (on stdin) 05:47:58.909598 > 17 bytes data, server => client 05:47:58.909609 'WE ROOLZ: 89997\r\n' 05:47:58.909635 Received DISC (on stdin) 05:47:58.909648 ====> Client forcibly disconnected 05:47:58.909827 Received QUIT (on stdin) 05:47:58.909842 quits 05:47:58.909904 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==153118== ==153118== Process terminating with default action of signal 4 (SIGILL) ==153118== Illegal opcode at address 0x4014883 ==153118== at 0x4014883: getparameter (tool_getparam.c:2899) ==153118== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153118== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153118== by 0x4004208: main (tool_main.c:189) === End of file valgrind1359 test 1366...[HTTP GET -o fname and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1366 ../src/curl -q --trace-ascii log/21/trace1366 --trace-time http://127.0.0.1:42891/1366 -o log/21/outfile1366 -D log/21/heads1366 > log/21/stdout1366 2> log/21/stderr1366 1366: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1366 ../src/curl -q --trace-ascii log/21/trace1366 --trace-time http://127.0.0.1:42891/1366 -o log/21/outfile1366 -D log/21/heads1366 > log/21/stdout1366 2> log/21/stderr1366 === End of file commands.log === Start of file http_server.log 05:47:58.320398 ====> Client connect 05:47:58.320434 accept_connection 3 returned 4 05:47:58.320450 accept_connection 3 returned 0 05:47:58.320465 Read 93 bytes 05:47:58.320475 Process 93 bytes request 05:47:58.320489 Got request: GET /verifiedserver HTTP/1.1 05:47:58.320499 Are-we-friendly question received 05:47:58.320524 Wrote request (93 bytes) input to log/21/server.input 05:47:58.320539 Identifying ourselves as friends 05:47:58.320611 Response sent (56 bytes) and written to log/21/server.response 05:47:58.320621 special request received, no persistency 05:47:58.320629 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 52500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1366 ==153456== ==153456== Process terminating with default action of signal 4 (SIGILL) ==153456== Illegal opcode at address 0x4014883 ==153456== at 0x4014883: getparameter (tool_getparam.c:2899) ==153456== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153456== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153456== by 0x4004208: main (tool_main.c:189) === End of file valgrind1366 test 1363...[FTP download, file with C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1363 ../src/curl -q --trace-ascii log/9/trace1363 --trace-time ftp://127.0.0.1:39835/path/file1363 -O -i --output-dir log/9 > log/9/stdout1363 2> log/9/stderr1363 1363: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1363 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1363 ../src/curl -q --trace-ascii log/9/trace1363 --trace-time ftp://127.0.0.1:39835/path/file1363 -O -i --output-dir log/9 > log/9/stdout1363 2> log/9/stderr1363 === End of file commands.log === Start of file ftp_server.log 05:47:58.745557 ====> Client connect 05:47:58.745745 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:47:58.765746 < "USER anonymous" 05:47:58.765812 > "331 We are happy you popped in![CR][LF]" 05:47:58.775778 < "PASS ftp@example.com" 05:47:58.775845 > "230 WCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1368 ../src/curl -q --trace-ascii log/14/trace1368 --trace-time http://127.0.0.1:35549/1368 -J -o log/14/outfile1368 -D log/14/heads1368 > log/14/stdout1368 2> log/14/stderr1368 elcome you silly person[CR][LF]" 05:47:58.776073 < "PWD" 05:47:58.776113 > "257 "/" is current directory[CR][LF]" 05:47:58.776296 < "EPSV" 05:47:58.776326 ====> Passive DATA channel requested by client 05:47:58.776342 DATA sockfilt for passive data channel starting... 05:47:58.798920 DATA sockfilt for passive data channel started (pid 153314) 05:47:58.801262 DATA sockfilt for passive data channel listens on port 34981 05:47:58.801337 > "229 Entering Passive Mode (|||34981|)[CR][LF]" 05:47:58.801357 Client has been notified that DATA conn will be accepted on port 34981 05:47:58.808965 Client connects to port 34981 05:47:58.809037 ====> Client established passive DATA connection on port 34981 05:47:58.809151 < "TYPE I" 05:47:58.809194 > "200 I modify TYPE as you wanted[CR][LF]" 05:47:58.809429 < "SIZE verifiedserver" 05:47:58.809468 > "213 17[CR][LF]" 05:47:58.809611 < "RETR verifiedserver" 05:47:58.809643 > "150 Binary junk (17 bytes).[CR][LF]" 05:47:58.809736 =====> Closing passive DATA connection... 05:47:58.809752 Server disconnects passive DATA connection 05:47:58.810007 Server disconnected passive DATA connection 05:47:58.810036 DATA sockfilt for passive data channel quits (pid 153314) 05:47:58.810316 DATA sockfilt for passive data channel quit (pid 153314) 05:47:58.810340 =====> Closed passive DATA connection 05:47:58.810367 > "226 File transfer complete[CR][LF]" 05:47:58.859224 < "QUIT" 05:47:58.859283 > "221 bye bye baby[CR][LF]" 05:47:58.860918 MAIN sockfilt said DISC 05:47:58.860959 ====> Client disconnected 05:47:58.861034 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:47:58.205882 ====> Client connect 05:47:58.207219 Received DATA (on stdin) 05:47:58.207236 > 146 bytes data, server => client 05:47:58.207248 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:47:58.207259 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:47:58.207268 '220 \___|\___/|_| \_\_____|\r\n' 05:47:58.224066 < 16 bytes data, client => server 05:47:58.224103 'USER anonymous\r\n' 05:47:58.227279 Received DATA (on stdin) 05:47:58.227300 > 33 bytes data, server => client 05:47:58.227312 '331 We are happy you popped in!\r\n' 05:47:58.236996 < 22 bytes data, client => server 05:47:58.237040 'PASS ftp@example.com\r\n' 05:47:58.237309 Received DATA (on stdin) 05:47:58.237325 > 30 bytes data, server => client 05:47:58.237336 '230 Welcome you silly person\r\n' 05:47:58.237426 < 5 bytes data, client => server 05:47:58.237440 'PWD\r\n' 05:47:58.237570 Received DATA (on stdin) 05:47:58.237583 > 30 bytes data, server => client 05:47:58.237594 '257 "/" is current directory\r\n' 05:47:58.237658 < 6 bytes data, client => server 05:47:58.237670 'EPSV\r\n' 05:47:58.262821 Received DATA (on stdin) 05:47:58.262839 > 39 bytes data, server => client 05:47:58.262850 '229 Entering Passive Mode (|||34981|)\r\n' 05:47:58.263005 < 8 bytes data, client => server 05:47:58.263019 'TYPE I\r\n' 05:47:58.270655 Received DATA (on stdin) 05:47:58.270674 > 33 bytes data, server => client 05:47:58.270685 '200 I modify TYPE as you wanted\r\n' 05:47:58.270796 < 21 bytes data, client => server 05:47:58.270807 'SIZE verifiedserver\r\n' 05:47:58.270920 Received DATA (on stdin) 05:47:58.270930 > 8 bytes data, server => client 05:47:58.270939 '213 17\r\n' 05:47:58.270985 < 21 bytes data, client => server 05:47:58.270995 'RETR verifiedserver\r\n' 05:47:58.271205 Received DATA (on stdin) 05:47:58.271216 > 29 bytes data, server => client 05:47:58.271227 '150 Binary junk (17 bytes).\r\n' 05:47:58.271818 Received DATA (on stdin) 05:47:58.271830 > 28 bytes data, server => client 05:47:58.271840 '226 File transfer complete\r\n' 05:47:58.320438 < 6 bytes data, client => server 05:47:58.320474 'QUIT\r\n' 05:47:58.320740 Received DATA (on stdin) 05:47:58.320751 > 18 bytes data, server => client 05:47:58.320761 '221 bye bye baby\r\n' 05:47:58.321843 ====> Client disconnect 05:47:58.322485 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:47:58.240313 Running IPv4 version 05:47:58.240396 Listening on port 34981 05:47:58.240438 Wrote pid 153314 to log/9/server/ftp_sockdata.pid 05:47:58.256994 Received PING (on stdin) 05:47:58.262558 Received PORT (on stdin) 05:47:58.270335 ====> Client connect 05:47:58.271286 Received DATA (on stdin) 05:47:58.271300 > 17 bytes data, server => client 05:47:58.271311 'WE ROOLZ: 81042\r\n' 05:47:58.271341 Received DISC (on stdin) 05:47:58.271353 ====> Client forcibly disconnected 05:47:58.271493 Received QUIT (on stdin) 05:47:58.271503 quits 05:47:58.271572 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==153559== ==153559== Process terminating with default action of signal 4 (SIGILL) ==153559== Illegal opcode at address 0x4014883 ==153559== at 0x4014883: getparameter (tool_getparam.c:2899) ==153559== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153559== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153559== by 0x4004208: main (tool_main.c:189) === End of file valgrind1363 test 1368...[HTTP GET -o fname -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1368 ../src/curl -q --trace-ascii log/14/trace1368 --trace-time http://127.0.0.1:35549/1368 -J -o log/14/outfile1368 -D log/14/heads1368 > log/14/stdout1368 2> log/14/stderr1368 1368: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1368 ../src/curl -q --trace-ascii log/14/trace1368 --trace-time http://127.0.0.1:35549/1368 -J -o log/14/outfile1368 -D log/14/heads1368 > log/14/stdout1368 2> log/14/stderr1368 === End of file commands.log === Start of file http_server.log 05:47:59.537096 ====> Client connect 05:47:59.537135 accept_connection 3 returned 4 05:47:59.537153 accept_connection 3 returned 0 05:47:59.537169 Read 93 bytes 05:47:59.537179 Process 93 bytes request 05:47:59.537192 Got request: GET /verifiedserver HTTP/1.1 05:47:59.537201 Are-we-friendly question received 05:47:59.537224 Wrote request (93 bytes) input to log/14/server.input 05:47:59.537240 Identifying ourselves as friends 05:47:59.537319 Response sent (56 bytes) and written to log/14/server.response 05:47:59.537328 special request received, no persistency 05:47:59.537337 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 34138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1368 ==153679== ==153679== Process terminating with default action of signal 4 (SIGILL) ==153679== Illegal opcode at address 0x4014883 ==153679== at 0x4014883: getparameter (tool_getparam.c:2899) ==153679== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153679== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153679== by 0x4004208: main (tool_main.c:189) === End of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1367 ../src/curl -q --trace-ascii log/7/trace1367 --trace-time http://127.0.0.1:39013/1367 -o log/7/outfile1367 -D - > log/7/stdout1367 2> log/7/stderr1367 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1370 ../src/curl -q --trace-ascii log/16/trace1370 --trace-time http://127.0.0.1:44673/1370 -J -o log/16/outfile1370 -D log/16/heads1370 > log/16/stdout1370 2> log/16/stderr1370 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1371 ../src/curl -q --trace-ascii log/22/trace1371 --trace-time http://127.0.0.1:41477/1371 -J -o log/22/outfile1371 -D - > log/22/stdout1371 2> log/22/stderr1371 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1369 ../src/curl -q --trace-ascii log/1/trace1369 --trace-time http://127.0.0.1:38765/1369 -J -o log/1/outfile1369 -D - > log/1/stdout1369 2> log/1/stderr1369 file valgrind1368 test 1367...[HTTP GET -o fname and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1367 ../src/curl -q --trace-ascii log/7/trace1367 --trace-time http://127.0.0.1:39013/1367 -o log/7/outfile1367 -D - > log/7/stdout1367 2> log/7/stderr1367 1367: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1367 ../src/curl -q --trace-ascii log/7/trace1367 --trace-time http://127.0.0.1:39013/1367 -o log/7/outfile1367 -D - > log/7/stdout1367 2> log/7/stderr1367 === End of file commands.log === Start of file http_server.log 05:47:58.343791 ====> Client connect 05:47:58.343840 accept_connection 3 returned 4 05:47:58.343862 accept_connection 3 returned 0 05:47:58.343885 Read 93 bytes 05:47:58.343897 Process 93 bytes request 05:47:58.343911 Got request: GET /verifiedserver HTTP/1.1 05:47:58.343920 Are-we-friendly question received 05:47:58.343950 Wrote request (93 bytes) input to log/7/server.input 05:47:58.343968 Identifying ourselves as friends 05:47:58.344058 Response sent (56 bytes) and written to log/7/server.response 05:47:58.344069 special request received, no persistency 05:47:58.344078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 40414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1367 ==153501== ==153501== Process terminating with default action of signal 4 (SIGILL) ==153501== Illegal opcode at address 0x4014883 ==153501== at 0x4014883: getparameter (tool_getparam.c:2899) ==153501== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153501== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153501== by 0x4004208: main (tool_main.c:189) === End of file valgrind1367 test 1370...[HTTP GET -o fname -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1370 ../src/curl -q --trace-ascii log/16/trace1370 --trace-time http://127.0.0.1:44673/1370 -J -o log/16/outfile1370 -D log/16/heads1370 > log/16/stdout1370 2> log/16/stderr1370 1370: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1370 ../src/curl -q --trace-ascii log/16/trace1370 --trace-time http://127.0.0.1:44673/1370 -J -o log/16/outfile1370 -D log/16/heads1370 > log/16/stdout1370 2> log/16/stderr1370 === End of file commands.log === Start of file http_server.log 05:47:59.997691 ====> Client connect 05:47:59.997724 accept_connection 3 returned 4 05:47:59.997738 accept_connection 3 returned 0 05:47:59.997752 Read 93 bytes 05:47:59.997761 Process 93 bytes request 05:47:59.997774 Got request: GET /verifiedserver HTTP/1.1 05:47:59.997782 Are-we-friendly question received 05:47:59.997805 Wrote request (93 bytes) input to log/16/server.input 05:47:59.997820 Identifying ourselves as friends 05:47:59.997870 Response sent (56 bytes) and written to log/16/server.response 05:47:59.997879 special request received, no persistency 05:47:59.997888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 33354 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1370 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1370 ==153858== ==153858== Process terminating with default action of signal 4 (SIGILL) ==153858== Illegal opcode at address 0x4014883 ==153858== at 0x4014883: getparameter (tool_getparam.c:2899) ==153858== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153858== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153858== by 0x4004208: main (tool_main.c:189) === End of file valgrind1370 test 1369...[HTTP GET -o fname -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1369 ../src/curl -q --trace-ascii log/1/trace1369 --trace-time http://127.0.0.1:38765/1369 -J -o log/1/outfile1369 -D - > log/1/stdout1369 2> log/1/stderr1369 1369: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1369 ../src/curl -q --trace-ascii log/1/trace1369 --trace-time http://127.0.0.1:38765/1369 -J -o log/1/outfile1369 -D - > log/1/stdout1369 2> log/1/stderr1369 === End of file commands.log === Start of file http_server.log 05:47:59.633728 ====> Client connect 05:47:59.633773 accept_connection 3 returned 4 05:47:59.633790 accept_connection 3 returned 0 05:47:59.633806 Read 93 bytes 05:47:59.633815 Process 93 bytes request 05:47:59.633827 Got request: GET /verifiedserver HTTP/1.1 05:47:59.633835 Are-we-friendly question received 05:47:59.633856 Wrote request (93 bytes) input to log/1/server.input 05:47:59.633872 Identifying ourselves as friends 05:47:59.633947 Response sent (56 bytes) and written to log/1/server.response 05:47:59.633957 special request received, no persistency 05:47:59.633965 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 50850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1373 ../src/curl -q --trace-ascii log/8/trace1373 --trace-time http://127.0.0.1:45623/1373 -i -o log/8/outfile1373 -D - > log/8/stdout1373 2> log/8/stderr1373 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1372 ../src/curl -q --trace-ascii log/18/trace1372 --trace-time http://127.0.0.1:39913/1372 -i -o log/18/outfile1372 -D log/18/heads1372 > log/18/stdout1372 2> log/18/stderr1372 file server.response === Start of file valgrind1369 ==153767== ==153767== Process terminating with default action of signal 4 (SIGILL) ==153767== Illegal opcode at address 0x4014883 ==153767== at 0x4014883: getparameter (tool_getparam.c:2899) ==153767== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153767== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153767== by 0x4004208: main (tool_main.c:189) === End of file valgrind1369 test 1371...[HTTP GET -o fname -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1371 ../src/curl -q --trace-ascii log/22/trace1371 --trace-time http://127.0.0.1:41477/1371 -J -o log/22/outfile1371 -D - > log/22/stdout1371 2> log/22/stderr1371 1371: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1371 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1371 ../src/curl -q --trace-ascii log/22/trace1371 --trace-time http://127.0.0.1:41477/1371 -J -o log/22/outfile1371 -D - > log/22/stdout1371 2> log/22/stderr1371 === End of file commands.log === Start of file http_server.log 05:48:00.120393 ====> Client connect 05:48:00.120456 accept_connection 3 returned 4 05:48:00.120478 accept_connection 3 returned 0 05:48:00.120497 Read 93 bytes 05:48:00.120508 Process 93 bytes request 05:48:00.120521 Got request: GET /verifiedserver HTTP/1.1 05:48:00.120531 Are-we-friendly question received 05:48:00.120557 Wrote request (93 bytes) input to log/22/server.input 05:48:00.120582 Identifying ourselves as friends 05:48:00.120661 Response sent (56 bytes) and written to log/22/server.response 05:48:00.120672 special request received, no persistency 05:48:00.120681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 41196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1371 ==153920== ==153920== Process terminating with default action of signal 4 (SIGILL) ==153920== Illegal opcode at address 0x4014883 ==153920== at 0x4014883: getparameter (tool_getparam.c:2899) ==153920== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==153920== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==153920== by 0x4004208: main (tool_main.c:189) === End of file valgrind1371 test 1373...[HTTP GET -o fname -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1373 ../src/curl -q --trace-ascii log/8/trace1373 --trace-time http://127.0.0.1:45623/1373 -i -o log/8/outfile1373 -D - > log/8/stdout1373 2> log/8/stderr1373 1373: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1373 ../src/curl -q --trace-ascii log/8/trace1373 --trace-time http://127.0.0.1:45623/1373 -i -o log/8/outfile1373 -D - > log/8/stdout1373 2> log/8/stderr1373 === End of file commands.log === Start of file http_server.log 05:47:59.443697 ====> Client connect 05:47:59.443731 accept_connection 3 returned 4 05:47:59.443747 accept_connection 3 returned 0 05:47:59.443762 Read 93 bytes 05:47:59.443771 Process 93 bytes request 05:47:59.443784 Got request: GET /verifiedserver HTTP/1.1 05:47:59.443793 Are-we-friendly question received 05:47:59.443817 Wrote request (93 bytes) input to log/8/server.input 05:47:59.443833 Identifying ourselves as friends 05:47:59.443896 Response sent (56 bytes) and written to log/8/server.response 05:47:59.443906 special request received, no persistency 05:47:59.443914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 52348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1373 ==154037== ==154037== Process terminating with default action of signal 4 (SIGILL) ==154037== Illegal opcode at address 0x4014883 ==154037== at 0x4014883: getparameter (tool_getparam.c:2899) ==154037== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154037== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154037== by 0x4004208: main (tool_main.c:189) === End of file valgrind1373 test 1372...[HTTP GET -o fname -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1372 ../src/curl -q --trace-ascii log/18/trace1372 --trace-time http://127.0.0.1:39913/1372 -i -o log/18/outfile1372 -D log/18/heads1372 > log/18/stdout1372 2> log/18/stderr1372 1372: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1372 ../src/curl -q --trace-ascii log/18/trace1372 --trace-time http://127.0.0.1:39913/1372 -i -o log/18/outfile1372 -D log/18/heads1372 > log/18/stdout1372 2> log/18/stderr1372 === End of file commands.log === Start of file http_server.log 05:47:59.480368 ====> Client connect 05:47:59.480413 accept_connection 3 returned 4 05:47:59.480432 accept_connection 3 returned 0 05:47:59.493658 Read 93 bytes 05:47:59.493701 Process 93 bytes request 05:47:59.493718 Got request: GET /verifiedserver HTTP/1.1 05:47:59.493727 Are-we-friendly question received 05:47:59.493774 Wrote request (93 bytes) input to log/18/server.input 05:47:59.493794 Identifying ourselves as friends 05:47:59.493906 Response sent (56 bytes) and written to log/18/server.response 05:47:59.493918 special request received, no persistency 05:47:59.493926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53638 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1378 ../src/curl -q --trace-ascii log/11/trace1378 --trace-time ftp://127.0.0.1:37471/path/file1378 -o log/11/download1378 > log/11/stdout1378 2> log/11/stderr1378 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1374 ../src/curl -q --trace-ascii log/6/trace1374 --trace-time http://127.0.0.1:33035/1374 -i -o log/6/outfile1374 -D log/6/heads1374 > log/6/stdout1374 2> log/6/stderr1374 9913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1372 ==154080== ==154080== Process terminating with default action of signal 4 (SIGILL) ==154080== Illegal opcode at address 0x4014883 ==154080== at 0x4014883: getparameter (tool_getparam.c:2899) ==154080== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154080== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154080== by 0x4004208: main (tool_main.c:189) === End of file valgrind1372 test 1378...[FTP DL, file without Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1378 ../src/curl -q --trace-ascii log/11/trace1378 --trace-time ftp://127.0.0.1:37471/path/file1378 -o log/11/download1378 > log/11/stdout1378 2> log/11/stderr1378 1378: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1378 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1378 ../src/curl -q --trace-ascii log/11/trace1378 --trace-time ftp://127.0.0.1:37471/path/file1378 -o log/11/download1378 > log/11/stdout1378 2> log/11/stderr1378 === End of file commands.log === Start of file ftp_server.log 05:48:00.412360 ====> Client connect 05:48:00.412537 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.419128 < "USER anonymous" 05:48:00.419188 > "331 We are happy you popped in![CR][LF]" 05:48:00.419435 < "PASS ftp@example.com" 05:48:00.419470 > "230 Welcome you silly person[CR][LF]" 05:48:00.419633 < "PWD" 05:48:00.419666 > "257 "/" is current directory[CR][LF]" 05:48:00.419828 < "EPSV" 05:48:00.419851 ====> Passive DATA channel requested by client 05:48:00.419865 DATA sockfilt for passive data channel starting... 05:48:00.429971 DATA sockfilt for passive data channel started (pid 154290) 05:48:00.430129 DATA sockfilt for passive data channel listens on port 41157 05:48:00.430189 > "229 Entering Passive Mode (|||41157|)[CR][LF]" 05:48:00.430210 Client has been notified that DATA conn will be accepted on port 41157 05:48:00.430553 Client connects to port 41157 05:48:00.430586 ====> Client established passive DATA connection on port 41157 05:48:00.430691 < "TYPE I" 05:48:00.430730 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.430923 < "SIZE verifiedserver" 05:48:00.430971 > "213 17[CR][LF]" 05:48:00.431148 < "RETR verifiedserver" 05:48:00.431185 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:00.431281 =====> Closing passive DATA connection... 05:48:00.431305 Server disconnects passive DATA connection 05:48:00.431550 Server disconnected passive DATA connection 05:48:00.431584 DATA sockfilt for passive data channel quits (pid 154290) 05:48:00.431820 DATA sockfilt for passive data channel quit (pid 154290) 05:48:00.431849 =====> Closed passive DATA connection 05:48:00.431914 > "226 File transfer complete[CR][LF]" 05:48:00.485909 < "QUIT" 05:48:00.485980 > "221 bye bye baby[CR][LF]" 05:48:00.488921 MAIN sockfilt said DISC 05:48:00.488960 ====> Client disconnected 05:48:00.489047 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:00.873666 ====> Client connect 05:48:00.874004 Received DATA (on stdin) 05:48:00.874019 > 146 bytes data, server => client 05:48:00.874031 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:00.874042 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:00.874051 '220 \___|\___/|_| \_\_____|\r\n' 05:48:00.880333 < 16 bytes data, client => server 05:48:00.880370 'USER anonymous\r\n' 05:48:00.880649 Received DATA (on stdin) 05:48:00.880662 > 33 bytes data, server => client 05:48:00.880673 '331 We are happy you popped in!\r\n' 05:48:00.880774 < 22 bytes data, client => server 05:48:00.880785 'PASS ftp@example.com\r\n' 05:48:00.880923 Received DATA (on stdin) 05:48:00.880934 > 30 bytes data, server => client 05:48:00.880944 '230 Welcome you silly person\r\n' 05:48:00.880999 < 5 bytes data, client => server 05:48:00.881009 'PWD\r\n' 05:48:00.881116 Received DATA (on stdin) 05:48:00.881126 > 30 bytes data, server => client 05:48:00.881136 '257 "/" is current directory\r\n' 05:48:00.881198 < 6 bytes data, client => server 05:48:00.881208 'EPSV\r\n' 05:48:00.891676 Received DATA (on stdin) 05:48:00.891696 > 39 bytes data, server => client 05:48:00.891707 '229 Entering Passive Mode (|||41157|)\r\n' 05:48:00.891915 < 8 bytes data, client => server 05:48:00.891933 'TYPE I\r\n' 05:48:00.892189 Received DATA (on stdin) 05:48:00.892202 > 33 bytes data, server => client 05:48:00.892214 '200 I modify TYPE as you wanted\r\n' 05:48:00.892273 < 21 bytes data, client => server 05:48:00.892287 'SIZE verifiedserver\r\n' 05:48:00.892430 Received DATA (on stdin) 05:48:00.892443 > 8 bytes data, server => client 05:48:00.892453 '213 17\r\n' 05:48:00.892508 < 21 bytes data, client => server 05:48:00.892522 'RETR verifiedserver\r\n' 05:48:00.892761 Received DATA (on stdin) 05:48:00.892774 > 29 bytes data, server => client 05:48:00.892784 '150 Binary junk (17 bytes).\r\n' 05:48:00.893309 Received DATA (on stdin) 05:48:00.893323 > 28 bytes data, server => client 05:48:00.893372 '226 File transfer complete\r\n' 05:48:00.947119 < 6 bytes data, client => server 05:48:00.947160 'QUIT\r\n' 05:48:00.947446 Received DATA (on stdin) 05:48:00.947461 > 18 bytes data, server => client 05:48:00.947471 '221 bye bye baby\r\n' 05:48:00.950314 ====> Client disconnect 05:48:00.950502 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.891058 Running IPv4 version 05:48:00.891132 Listening on port 41157 05:48:00.891174 Wrote pid 154290 to log/11/server/ftp_sockdata.pid 05:48:00.891354 Received PING (on stdin) 05:48:00.891469 Received PORT (on stdin) 05:48:00.891957 ====> Client connect 05:48:00.892811 Received DATA (on stdin) 05:48:00.892824 > 17 bytes data, server => client 05:48:00.892835 'WE ROOLZ: 81984\r\n' 05:48:00.892860 Received DISC (on stdin) 05:48:00.892873 ====> Client forcibly disconnected 05:48:00.893046 Received QUIT (on stdin) 05:48:00.893058 quits 05:48:00.893122 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==154407== ==154407== Process terminating with default action of signal 4 (SIGILL) ==154407== Illegal opcode at address 0x4014883 ==154407== at 0x4014883: getparameter (tool_getparam.c:2899) ==154407== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154407== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154407== by 0x4004208: main (tool_main.c:189) === End of file valgrind1378 test 1374...[HTTP GET -o fname -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1374 ../src/curl -q --trace-ascii log/6/trace1374 --trace-time http://127.0.0.1:33035/1374 -i -o log/6/outfile1374 -D log/6/heads1374 > log/6/stdout1374 2> log/6/stderr1374 1374: protocol FAILED! There was no content at all in CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1375 ../src/curl -q --trace-ascii log/2/trace1375 --trace-time http://127.0.0.1:41799/1375 -i -o log/2/outfile1375 -D - > log/2/stdout1375 2> log/2/stderr1375 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1376 ../src/curl -q --trace-ascii log/3/trace1376 --trace-time http://127.0.0.1:39591/1376 -i -o log/3/outfile1376 > log/3/stdout1376 2> log/3/stderr1376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1381 ../src/curl -q --trace-ascii log/19/trace1381 --trace-time ftp://127.0.0.1:45453/path/file1381 -o log/19/download1381 -J -D log/19/heads1381 > log/19/stdout1381 2> log/19/stderr1381 the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1374 ../src/curl -q --trace-ascii log/6/trace1374 --trace-time http://127.0.0.1:33035/1374 -i -o log/6/outfile1374 -D log/6/heads1374 > log/6/stdout1374 2> log/6/stderr1374 === End of file commands.log === Start of file http_server.log 05:47:59.458902 ====> Client connect 05:47:59.458935 accept_connection 3 returned 4 05:47:59.458949 accept_connection 3 returned 0 05:47:59.459098 Read 93 bytes 05:47:59.459110 Process 93 bytes request 05:47:59.459123 Got request: GET /verifiedserver HTTP/1.1 05:47:59.459132 Are-we-friendly question received 05:47:59.459159 Wrote request (93 bytes) input to log/6/server.input 05:47:59.459177 Identifying ourselves as friends 05:47:59.459229 Response sent (56 bytes) and written to log/6/server.response 05:47:59.459238 special request received, no persistency 05:47:59.459247 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 49840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind1374 ==154042== ==154042== Process terminating with default action of signal 4 (SIGILL) ==154042== Illegal opcode at address 0x4014883 ==154042== at 0x4014883: getparameter (tool_getparam.c:2899) ==154042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154042== by 0x4004208: main (tool_main.c:189) === End of file valgrind1374 test 1375...[HTTP GET -o fname -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1375 ../src/curl -q --trace-ascii log/2/trace1375 --trace-time http://127.0.0.1:41799/1375 -i -o log/2/outfile1375 -D - > log/2/stdout1375 2> log/2/stderr1375 1375: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1375 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1375 ../src/curl -q --trace-ascii log/2/trace1375 --trace-time http://127.0.0.1:41799/1375 -i -o log/2/outfile1375 -D - > log/2/stdout1375 2> log/2/stderr1375 === End of file commands.log === Start of file http_server.log 05:48:00.792616 ====> Client connect 05:48:00.792646 accept_connection 3 returned 4 05:48:00.792660 accept_connection 3 returned 0 05:48:00.792674 Read 93 bytes 05:48:00.792682 Process 93 bytes request 05:48:00.792694 Got request: GET /verifiedserver HTTP/1.1 05:48:00.792702 Are-we-friendly question received 05:48:00.792726 Wrote request (93 bytes) input to log/2/server.input 05:48:00.792740 Identifying ourselves as friends 05:48:00.792792 Response sent (56 bytes) and written to log/2/server.response 05:48:00.792800 special request received, no persistency 05:48:00.792808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 59542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1375 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1375 ==154263== ==154263== Process terminating with default action of signal 4 (SIGILL) ==154263== Illegal opcode at address 0x4014883 ==154263== at 0x4014883: getparameter (tool_getparam.c:2899) ==154263== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154263== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154263== by 0x4004208: main (tool_main.c:189) === End of file valgrind1375 test 1376...[HTTP GET -o fname -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1376 ../src/curl -q --trace-ascii log/3/trace1376 --trace-time http://127.0.0.1:39591/1376 -i -o log/3/outfile1376 > log/3/stdout1376 2> log/3/stderr1376 1376: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1376 ../src/curl -q --trace-ascii log/3/trace1376 --trace-time http://127.0.0.1:39591/1376 -i -o log/3/outfile1376 > log/3/stdout1376 2> log/3/stderr1376 === End of file commands.log === Start of file http_server.log 05:48:00.819932 ====> Client connect 05:48:00.819970 accept_connection 3 returned 4 05:48:00.819988 accept_connection 3 returned 0 05:48:00.829090 Read 93 bytes 05:48:00.829134 Process 93 bytes request 05:48:00.829151 Got request: GET /verifiedserver HTTP/1.1 05:48:00.829161 Are-we-friendly question received 05:48:00.829214 Wrote request (93 bytes) input to log/3/server.input 05:48:00.829239 Identifying ourselves as friends 05:48:00.829335 Response sent (56 bytes) and written to log/3/server.response 05:48:00.829348 special request received, no persistency 05:48:00.829358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 52206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1376 ==154273== ==154273== Process terminating with default action of signal 4 (SIGILL) ==154273== Illegal opcode at address 0x4014883 ==154273== at 0x4014883: getparameter (tool_getparam.c:2899) ==154273== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154273== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154273== by 0x4004208: main (tool_main.c:189) === End of file valgrind1376 test 1381...[FTP DL, file without C-D inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1377 ../src/curl -q --trace-ascii log/5/trace1377 --trace-time http://127.0.0.1:35621/1377 -i -o log/5/outfile1377 > log/5/stdout1377 2> log/5/stderr1377 side, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1381 ../src/curl -q --trace-ascii log/19/trace1381 --trace-time ftp://127.0.0.1:45453/path/file1381 -o log/19/download1381 -J -D log/19/heads1381 > log/19/stdout1381 2> log/19/stderr1381 1381: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1381 ../src/curl -q --trace-ascii log/19/trace1381 --trace-time ftp://127.0.0.1:45453/path/file1381 -o log/19/download1381 -J -D log/19/heads1381 > log/19/stdout1381 2> log/19/stderr1381 === End of file commands.log === Start of file ftp_server.log 05:48:00.817544 ====> Client connect 05:48:00.817730 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.818647 < "USER anonymous" 05:48:00.818689 > "331 We are happy you popped in![CR][LF]" 05:48:00.818966 < "PASS ftp@example.com" 05:48:00.819041 > "230 Welcome you silly person[CR][LF]" 05:48:00.819219 < "PWD" 05:48:00.819255 > "257 "/" is current directory[CR][LF]" 05:48:00.819589 < "EPSV" 05:48:00.819645 ====> Passive DATA channel requested by client 05:48:00.819699 DATA sockfilt for passive data channel starting... 05:48:00.826490 DATA sockfilt for passive data channel started (pid 154612) 05:48:00.826600 DATA sockfilt for passive data channel listens on port 39901 05:48:00.826643 > "229 Entering Passive Mode (|||39901|)[CR][LF]" 05:48:00.826660 Client has been notified that DATA conn will be accepted on port 39901 05:48:00.826930 Client connects to port 39901 05:48:00.826957 ====> Client established passive DATA connection on port 39901 05:48:00.827038 < "TYPE I" 05:48:00.827066 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.827200 < "SIZE verifiedserver" 05:48:00.827233 > "213 17[CR][LF]" 05:48:00.827354 < "RETR verifiedserver" 05:48:00.827384 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:00.827469 =====> Closing passive DATA connection... 05:48:00.827482 Server disconnects passive DATA connection 05:48:00.827673 Server disconnected passive DATA connection 05:48:00.827696 DATA sockfilt for passive data channel quits (pid 154612) 05:48:00.827888 DATA sockfilt for passive data channel quit (pid 154612) 05:48:00.827908 =====> Closed passive DATA connection 05:48:00.827930 > "226 File transfer complete[CR][LF]" 05:48:00.879098 < "QUIT" 05:48:00.879163 > "221 bye bye baby[CR][LF]" 05:48:00.880355 MAIN sockfilt said DISC 05:48:00.880390 ====> Client disconnected 05:48:00.880477 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:00.275127 ====> Client connect 05:48:00.279198 Received DATA (on stdin) 05:48:00.279217 > 146 bytes data, server => client 05:48:00.279228 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:00.279237 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:00.279245 '220 \___|\___/|_| \_\_____|\r\n' 05:48:00.279761 < 16 bytes data, client => server 05:48:00.279777 'USER anonymous\r\n' 05:48:00.280146 Received DATA (on stdin) 05:48:00.280158 > 33 bytes data, server => client 05:48:00.280169 '331 We are happy you popped in!\r\n' 05:48:00.280231 < 22 bytes data, client => server 05:48:00.280245 'PASS ftp@example.com\r\n' 05:48:00.280501 Received DATA (on stdin) 05:48:00.280514 > 30 bytes data, server => client 05:48:00.280525 '230 Welcome you silly person\r\n' 05:48:00.280577 < 5 bytes data, client => server 05:48:00.280589 'PWD\r\n' 05:48:00.280786 Received DATA (on stdin) 05:48:00.280810 > 30 bytes data, server => client 05:48:00.280843 '257 "/" is current directory\r\n' 05:48:00.280946 < 6 bytes data, client => server 05:48:00.280962 'EPSV\r\n' 05:48:00.288117 Received DATA (on stdin) 05:48:00.288134 > 39 bytes data, server => client 05:48:00.288143 '229 Entering Passive Mode (|||39901|)\r\n' 05:48:00.288311 < 8 bytes data, client => server 05:48:00.288322 'TYPE I\r\n' 05:48:00.288518 Received DATA (on stdin) 05:48:00.288528 > 33 bytes data, server => client 05:48:00.288536 '200 I modify TYPE as you wanted\r\n' 05:48:00.288579 < 21 bytes data, client => server 05:48:00.288588 'SIZE verifiedserver\r\n' 05:48:00.288680 Received DATA (on stdin) 05:48:00.288689 > 8 bytes data, server => client 05:48:00.288697 '213 17\r\n' 05:48:00.288736 < 21 bytes data, client => server 05:48:00.288744 'RETR verifiedserver\r\n' 05:48:00.288933 Received DATA (on stdin) 05:48:00.288942 > 29 bytes data, server => client 05:48:00.288951 '150 Binary junk (17 bytes).\r\n' 05:48:00.289378 Received DATA (on stdin) 05:48:00.289388 > 28 bytes data, server => client 05:48:00.289397 '226 File transfer complete\r\n' 05:48:00.340326 < 6 bytes data, client => server 05:48:00.340368 'QUIT\r\n' 05:48:00.340620 Received DATA (on stdin) 05:48:00.340633 > 18 bytes data, server => client 05:48:00.340643 '221 bye bye baby\r\n' 05:48:00.341753 ====> Client disconnect 05:48:00.341934 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.287624 Running IPv4 version 05:48:00.287699 Listening on port 39901 05:48:00.287735 Wrote pid 154612 to log/19/server/ftp_sockdata.pid 05:48:00.287885 Received PING (on stdin) 05:48:00.287966 Received PORT (on stdin) 05:48:00.288338 ====> Client connect 05:48:00.288971 Received DATA (on stdin) 05:48:00.288981 > 17 bytes data, server => client 05:48:00.288990 'WE ROOLZ: 81129\r\n' 05:48:00.289008 Received DISC (on stdin) 05:48:00.289017 ====> Client forcibly disconnected 05:48:00.289151 Received QUIT (on stdin) 05:48:00.289159 quits 05:48:00.289217 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==154665== ==154665== Process terminating with default action of signal 4 (SIGILL) ==154665== Illegal opcode at address 0x4014883 ==154665== at 0x4014883: getparameter (tool_getparam.c:2899) ==154665== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154665== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154665== by 0x4004208: main (tool_main.c:189) === End of file valgrind1381 test 1377...[HTTP GET -o fname -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1377 ../src/curl -q --trace-ascii log/5/trace1377 --trace-time http://127.0.0.1:35621/1377 -i -o log/5/outfile1377 > log/5/stdout1377 2> log/5/stderr1377 1377: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1377 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1377 ../src/curl -q --trace-ascii log/5/trace1377 --trace-time http://127.0.0.1:35621/1377 -i -o log/5/outfile1377 > log/5/stdout1377 2> log/5/stderr1377 === End of file commands.log === Start of file http_server.log 05:48:00.834340 ====> Client connect 05:48:00.834375 accept_connection 3 returned 4 05:48:00.834392 accept_connection 3 returned 0 05:48:00.834406 Read 93 bytes 05:48:00.834416 Process 93 bytes request 05:48:00.834429 Got request: GET /verifiedserver HTTP/1.1 05:48:00.834438 Are-we-friendly question received 05:48:00.834464 Wrote request (93 bytes) input to log/5/server.input 05:48:00.834CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1384 ../src/curl -q --trace-ascii log/17/trace1384 --trace-time ftp://127.0.0.1:40885/path/file1384 -o log/17/download1384 -i -D - > log/17/stdout1384 2> log/17/stderr1384 480 Identifying ourselves as friends 05:48:00.834536 Response sent (56 bytes) and written to log/5/server.response 05:48:00.834544 special request received, no persistency 05:48:00.834552 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 44792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1377 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1377 ==154264== ==154264== Process terminating with default action of signal 4 (SIGILL) ==154264== Illegal opcode at address 0x4014883 ==154264== at 0x4014883: getparameter (tool_getparam.c:2899) ==154264== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154264== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154264== by 0x4004208: main (tool_main.c:189) === End of file valgrind1377 test 1384...[FTP DL, file without C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1384 ../src/curl -q --trace-ascii log/17/trace1384 --trace-time ftp://127.0.0.1:40885/path/file1384 -o log/17/download1384 -i -D - > log/17/stdout1384 2> log/17/stderr1384 1384: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1384 ../src/curl -q --trace-ascii log/17/trace1384 --trace-time ftp://127.0.0.1:40885/path/file1384 -o log/17/download1384 -i -D - > log/17/stdout1384 2> log/17/stderr1384 === End of file commands.log === Start of file ftp_server.log 05:48:00.894732 ====> Client connect 05:48:00.894912 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.902424 < "USER anonymous" 05:48:00.902484 > "331 We are happy you popped in![CR][LF]" 05:48:00.902718 < "PASS ftp@example.com" 05:48:00.902741 > "230 Welcome you silly person[CR][LF]" 05:48:00.902873 < "PWD" 05:48:00.902902 > "257 "/" is current directory[CR][LF]" 05:48:00.903043 < "EPSV" 05:48:00.903066 ====> Passive DATA channel requested by client 05:48:00.903079 DATA sockfilt for passive data channel starting... 05:48:00.922259 DATA sockfilt for passive data channel started (pid 154659) 05:48:00.928967 DATA sockfilt for passive data channel listens on port 41931 05:48:00.929063 > "229 Entering Passive Mode (|||41931|)[CR][LF]" 05:48:00.929087 Client has been notified that DATA conn will be accepted on port 41931 05:48:00.932554 Client connects to port 41931 05:48:00.932606 ====> Client established passive DATA connection on port 41931 05:48:00.932720 < "TYPE I" 05:48:00.932759 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.932950 < "SIZE verifiedserver" 05:48:00.932998 > "213 18[CR][LF]" 05:48:00.933157 < "RETR verifiedserver" 05:48:00.933196 > "150 Binary junk (18 bytes).[CR][LF]" 05:48:00.933298 =====> Closing passive DATA connection... 05:48:00.933314 Server disconnects passive DATA connection 05:48:00.933488 Server disconnected passive DATA connection 05:48:00.933512 DATA sockfilt for passive data channel quits (pid 154659) 05:48:00.933774 DATA sockfilt for passive data channel quit (pid 154659) 05:48:00.933800 =====> Closed passive DATA connection 05:48:00.933828 > "226 File transfer complete[CR][LF]" 05:48:00.976243 < "QUIT" 05:48:00.976305 > "221 bye bye baby[CR][LF]" 05:48:00.977671 MAIN sockfilt said DISC 05:48:00.977715 ====> Client disconnected 05:48:00.977796 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.355670 ====> Client connect 05:48:01.356383 Received DATA (on stdin) 05:48:01.356400 > 146 bytes data, server => client 05:48:01.356413 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.356424 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.356433 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.357081 < 16 bytes data, client => server 05:48:01.357098 'USER anonymous\r\n' 05:48:01.363951 Received DATA (on stdin) 05:48:01.363980 > 33 bytes data, server => client 05:48:01.363991 '331 We are happy you popped in!\r\n' 05:48:01.364087 < 22 bytes data, client => server 05:48:01.364097 'PASS ftp@example.com\r\n' 05:48:01.364190 Received DATA (on stdin) 05:48:01.364200 > 30 bytes data, server => client 05:48:01.364209 '230 Welcome you silly person\r\n' 05:48:01.364251 < 5 bytes data, client => server 05:48:01.364260 'PWD\r\n' 05:48:01.364351 Received DATA (on stdin) 05:48:01.364360 > 30 bytes data, server => client 05:48:01.364370 '257 "/" is current directory\r\n' 05:48:01.364422 < 6 bytes data, client => server 05:48:01.364432 'EPSV\r\n' 05:48:01.393654 Received DATA (on stdin) 05:48:01.393683 > 39 bytes data, server => client 05:48:01.393694 '229 Entering Passive Mode (|||41931|)\r\n' 05:48:01.393897 < 8 bytes data, client => server 05:48:01.393914 'TYPE I\r\n' 05:48:01.394218 Received DATA (on stdin) 05:48:01.394231 > 33 bytes data, server => client 05:48:01.394242 '200 I modify TYPE as you wanted\r\n' 05:48:01.394305 < 21 bytes data, client => server 05:48:01.394316 'SIZE verifiedserver\r\n' 05:48:01.394451 Received DATA (on stdin) 05:48:01.394463 > 8 bytes data, server => client 05:48:01.394473 '213 18\r\n' 05:48:01.394523 < 21 bytes data, client => server 05:48:01.394534 'RETR verifiedserver\r\n' 05:48:01.394768 Received DATA (on stdin) 05:48:01.394780 > 29 bytes data, server => client 05:48:01.394790 '150 Binary junk (18 bytes).\r\n' 05:48:01.395282 Received DATA (on stdin) 05:48:01.395296 > 28 bytes data, server => client 05:48:01.395307 '226 File transfer complete\r\n' 05:48:01.437506 < 6 bytes data, client => server 05:48:01.437536 'QUIT\r\n' 05:48:01.437764 Received DATA (on stdin) 05:48:01.437777 > 18 bytes data, server => client 05:48:01.437787 '221 bye bye baby\r\n' 05:48:01.439057 ====> Client disconnect 05:48:01.439249 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.368160 Running IPv4 version 05:48:00.368221 Listening on port 41931 05:48:00.368264 Wrote pid 154659 to log/17/server/ftp_sockdata.pid 05:48:00.380319 Received PING (on stdin) 05:48:00.386982 Received PORT (on stdin) 05:48:00.393940 ====> Client connect 05:48:00.394820 Received DATA (on stdin) 05:48:00.394837 > 18 bytes data, server => client 05:48:00.394848 'WE ROOLZ: 138189\r\n' 05:48:00.394877 Received DISC (on stdin) 05:48:00.394889 ====> Client forcibly disconnected 05:48:00.394973 Received QUIT (on stdin) 05:48:00.394984 quits 05:48:00.395067 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==154722== ==154722== Process terminating with default action of signal 4 (SIGILL) ==154722== Illegal opcode at address 0x4014883 ==154722== at 0x4014883: getparameter (tool_getparam.c:2899) ==154722== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154722== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154722== by 0x4004208: main (tool_main.c:189) === End of file valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1379 ../src/curl -q --trace-ascii log/12/trace1379 --trace-time ftp://127.0.0.1:33915/path/file1379 -o log/12/download1379 -D log/12/heads1379 > log/12/stdout1379 2> log/12/stderr1379 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1380 ../src/curl -q --trace-ascii log/10/trace1380 --trace-time ftp://127.0.0.1:32809/path/file1380 -o log/10/download1380 -D - > log/10/stdout1380 2> log/10/stderr1380 ind1384 test 1379...[FTP DL, file without C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1379 ../src/curl -q --trace-ascii log/12/trace1379 --trace-time ftp://127.0.0.1:33915/path/file1379 -o log/12/download1379 -D log/12/heads1379 > log/12/stdout1379 2> log/12/stderr1379 1379: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1379 ../src/curl -q --trace-ascii log/12/trace1379 --trace-time ftp://127.0.0.1:33915/path/file1379 -o log/12/download1379 -D log/12/heads1379 > log/12/stdout1379 2> log/12/stderr1379 === End of file commands.log === Start of file ftp_server.log 05:48:00.465575 ====> Client connect 05:48:00.465739 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.466066 < "USER anonymous" 05:48:00.466107 > "331 We are happy you popped in![CR][LF]" 05:48:00.466297 < "PASS ftp@example.com" 05:48:00.466329 > "230 Welcome you silly person[CR][LF]" 05:48:00.466512 < "PWD" 05:48:00.466550 > "257 "/" is current directory[CR][LF]" 05:48:00.466740 < "EPSV" 05:48:00.466772 ====> Passive DATA channel requested by client 05:48:00.466790 DATA sockfilt for passive data channel starting... 05:48:00.476648 DATA sockfilt for passive data channel started (pid 154347) 05:48:00.476778 DATA sockfilt for passive data channel listens on port 43233 05:48:00.476822 > "229 Entering Passive Mode (|||43233|)[CR][LF]" 05:48:00.476838 Client has been notified that DATA conn will be accepted on port 43233 05:48:00.477095 Client connects to port 43233 05:48:00.477122 ====> Client established passive DATA connection on port 43233 05:48:00.477242 < "TYPE I" 05:48:00.477273 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.477416 < "SIZE verifiedserver" 05:48:00.477455 > "213 17[CR][LF]" 05:48:00.477621 < "RETR verifiedserver" 05:48:00.477655 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:00.477746 =====> Closing passive DATA connection... 05:48:00.477765 Server disconnects passive DATA connection 05:48:00.477924 Server disconnected passive DATA connection 05:48:00.477949 DATA sockfilt for passive data channel quits (pid 154347) 05:48:00.478189 DATA sockfilt for passive data channel quit (pid 154347) 05:48:00.478215 =====> Closed passive DATA connection 05:48:00.478241 > "226 File transfer complete[CR][LF]" 05:48:00.522930 < "QUIT" 05:48:00.522994 > "221 bye bye baby[CR][LF]" 05:48:00.524469 MAIN sockfilt said DISC 05:48:00.524520 ====> Client disconnected 05:48:00.524620 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:00.926901 ====> Client connect 05:48:00.927237 Received DATA (on stdin) 05:48:00.927256 > 146 bytes data, server => client 05:48:00.927269 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:00.927279 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:00.927289 '220 \___|\___/|_| \_\_____|\r\n' 05:48:00.927369 < 16 bytes data, client => server 05:48:00.927386 'USER anonymous\r\n' 05:48:00.927565 Received DATA (on stdin) 05:48:00.927578 > 33 bytes data, server => client 05:48:00.927589 '331 We are happy you popped in!\r\n' 05:48:00.927647 < 22 bytes data, client => server 05:48:00.927664 'PASS ftp@example.com\r\n' 05:48:00.927785 Received DATA (on stdin) 05:48:00.927798 > 30 bytes data, server => client 05:48:00.927809 '230 Welcome you silly person\r\n' 05:48:00.927865 < 5 bytes data, client => server 05:48:00.927880 'PWD\r\n' 05:48:00.928006 Received DATA (on stdin) 05:48:00.928019 > 30 bytes data, server => client 05:48:00.928030 '257 "/" is current directory\r\n' 05:48:00.928096 < 6 bytes data, client => server 05:48:00.928110 'EPSV\r\n' 05:48:00.938298 Received DATA (on stdin) 05:48:00.938313 > 39 bytes data, server => client 05:48:00.938324 '229 Entering Passive Mode (|||43233|)\r\n' 05:48:00.938592 < 8 bytes data, client => server 05:48:00.938602 'TYPE I\r\n' 05:48:00.938722 Received DATA (on stdin) 05:48:00.938732 > 33 bytes data, server => client 05:48:00.938741 '200 I modify TYPE as you wanted\r\n' 05:48:00.938786 < 21 bytes data, client => server 05:48:00.938796 'SIZE verifiedserver\r\n' 05:48:00.938909 Received DATA (on stdin) 05:48:00.938920 > 8 bytes data, server => client 05:48:00.938930 '213 17\r\n' 05:48:00.938984 < 21 bytes data, client => server 05:48:00.938996 'RETR verifiedserver\r\n' 05:48:00.939305 Received DATA (on stdin) 05:48:00.939317 > 29 bytes data, server => client 05:48:00.939328 '150 Binary junk (17 bytes).\r\n' 05:48:00.939694 Received DATA (on stdin) 05:48:00.939706 > 28 bytes data, server => client 05:48:00.939716 '226 File transfer complete\r\n' 05:48:00.984170 < 6 bytes data, client => server 05:48:00.984211 'QUIT\r\n' 05:48:00.984454 Received DATA (on stdin) 05:48:00.984467 > 18 bytes data, server => client 05:48:00.984478 '221 bye bye baby\r\n' 05:48:00.985850 ====> Client disconnect 05:48:00.986085 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.937751 Running IPv4 version 05:48:00.937839 Listening on port 43233 05:48:00.937877 Wrote pid 154347 to log/12/server/ftp_sockdata.pid 05:48:00.938044 Received PING (on stdin) 05:48:00.938134 Received PORT (on stdin) 05:48:00.938498 ====> Client connect 05:48:00.939220 Received DATA (on stdin) 05:48:00.939232 > 17 bytes data, server => client 05:48:00.939242 'WE ROOLZ: 81072\r\n' 05:48:00.939268 Received DISC (on stdin) 05:48:00.939280 ====> Client forcibly disconnected 05:48:00.939410 Received QUIT (on stdin) 05:48:00.939422 quits 05:48:00.939484 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==154425== ==154425== Process terminating with default action of signal 4 (SIGILL) ==154425== Illegal opcode at address 0x4014883 ==154425== at 0x4014883: getparameter (tool_getparam.c:2899) ==154425== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154425== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154425== by 0x4004208: main (tool_main.c:189) === End of file valgrind1379 test 1380...[FTP DL, file without C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1380 ../src/curl -q --trace-ascii log/10/trace1380 --trace-time ftp://127.0.0.1:32809/path/file1380 -o log/10/download1380 -D - > log/10/stdout1380 2> log/10/stderr1380 1380: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1380 ../src/curl -q --trace-ascii log/10/trace1380 --trace-time ftp://127.0.0.1:32809/path/file1380 -o log/10/download1380 -D - > log/10/stdout1380 2> log/10/stderr1380 === End of file commands.log === Start of file ftp_server.log 05:48:00.542336 ====> Client connect 05:48:00.542516 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.542839 < "USER anonymous" 05:48:00.542878 > "331 We are happy you popped in![CR]CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1388 ../src/curl -q --trace-ascii log/20/trace1388 --trace-time ftp://127.0.0.1:46185/path/file1388 -o log/20/download1388 -D - > log/20/stdout1388 2> log/20/stderr1388 [LF]" 05:48:00.543066 < "PASS ftp@example.com" 05:48:00.543098 > "230 Welcome you silly person[CR][LF]" 05:48:00.543269 < "PWD" 05:48:00.543306 > "257 "/" is current directory[CR][LF]" 05:48:00.543485 < "EPSV" 05:48:00.543512 ====> Passive DATA channel requested by client 05:48:00.543529 DATA sockfilt for passive data channel starting... 05:48:00.550091 DATA sockfilt for passive data channel started (pid 154418) 05:48:00.550243 DATA sockfilt for passive data channel listens on port 41847 05:48:00.550296 > "229 Entering Passive Mode (|||41847|)[CR][LF]" 05:48:00.550317 Client has been notified that DATA conn will be accepted on port 41847 05:48:00.550609 Client connects to port 41847 05:48:00.550643 ====> Client established passive DATA connection on port 41847 05:48:00.550784 < "TYPE I" 05:48:00.550820 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.550996 < "SIZE verifiedserver" 05:48:00.551038 > "213 17[CR][LF]" 05:48:00.551203 < "RETR verifiedserver" 05:48:00.551243 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:00.551331 =====> Closing passive DATA connection... 05:48:00.551351 Server disconnects passive DATA connection 05:48:00.551468 Server disconnected passive DATA connection 05:48:00.551494 DATA sockfilt for passive data channel quits (pid 154418) 05:48:00.551725 DATA sockfilt for passive data channel quit (pid 154418) 05:48:00.551754 =====> Closed passive DATA connection 05:48:00.551780 > "226 File transfer complete[CR][LF]" 05:48:00.595856 < "QUIT" 05:48:00.595918 > "221 bye bye baby[CR][LF]" 05:48:00.597063 MAIN sockfilt said DISC 05:48:00.597094 ====> Client disconnected 05:48:00.597173 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.003659 ====> Client connect 05:48:01.003987 Received DATA (on stdin) 05:48:01.004002 > 146 bytes data, server => client 05:48:01.004015 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.004025 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.004035 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.004127 < 16 bytes data, client => server 05:48:01.004143 'USER anonymous\r\n' 05:48:01.004337 Received DATA (on stdin) 05:48:01.004350 > 33 bytes data, server => client 05:48:01.004361 '331 We are happy you popped in!\r\n' 05:48:01.004419 < 22 bytes data, client => server 05:48:01.004433 'PASS ftp@example.com\r\n' 05:48:01.004554 Received DATA (on stdin) 05:48:01.004565 > 30 bytes data, server => client 05:48:01.004575 '230 Welcome you silly person\r\n' 05:48:01.004628 < 5 bytes data, client => server 05:48:01.004642 'PWD\r\n' 05:48:01.004760 Received DATA (on stdin) 05:48:01.004772 > 30 bytes data, server => client 05:48:01.004782 '257 "/" is current directory\r\n' 05:48:01.004844 < 6 bytes data, client => server 05:48:01.004857 'EPSV\r\n' 05:48:01.011783 Received DATA (on stdin) 05:48:01.011801 > 39 bytes data, server => client 05:48:01.011813 '229 Entering Passive Mode (|||41847|)\r\n' 05:48:01.012113 < 8 bytes data, client => server 05:48:01.012129 'TYPE I\r\n' 05:48:01.012277 Received DATA (on stdin) 05:48:01.012290 > 33 bytes data, server => client 05:48:01.012300 '200 I modify TYPE as you wanted\r\n' 05:48:01.012354 < 21 bytes data, client => server 05:48:01.012367 'SIZE verifiedserver\r\n' 05:48:01.012493 Received DATA (on stdin) 05:48:01.012504 > 8 bytes data, server => client 05:48:01.012514 '213 17\r\n' 05:48:01.012564 < 21 bytes data, client => server 05:48:01.012577 'RETR verifiedserver\r\n' 05:48:01.013235 Received DATA (on stdin) 05:48:01.013248 > 29 bytes data, server => client 05:48:01.013258 '150 Binary junk (17 bytes).\r\n' 05:48:01.013280 Received DATA (on stdin) 05:48:01.013290 > 28 bytes data, server => client 05:48:01.013301 '226 File transfer complete\r\n' 05:48:01.057098 < 6 bytes data, client => server 05:48:01.057130 'QUIT\r\n' 05:48:01.057374 Received DATA (on stdin) 05:48:01.057386 > 18 bytes data, server => client 05:48:01.057396 '221 bye bye baby\r\n' 05:48:01.058465 ====> Client disconnect 05:48:01.058625 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.011164 Running IPv4 version 05:48:00.011258 Listening on port 41847 05:48:00.011295 Wrote pid 154418 to log/10/server/ftp_sockdata.pid 05:48:00.011478 Received PING (on stdin) 05:48:00.011589 Received PORT (on stdin) 05:48:00.012008 ====> Client connect 05:48:00.012805 Received DATA (on stdin) 05:48:00.012818 > 17 bytes data, server => client 05:48:00.012828 'WE ROOLZ: 81057\r\n' 05:48:00.012856 Received DISC (on stdin) 05:48:00.012867 ====> Client forcibly disconnected 05:48:00.012953 Received QUIT (on stdin) 05:48:00.012964 quits 05:48:00.013026 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==154506== ==154506== Process terminating with default action of signal 4 (SIGILL) ==154506== Illegal opcode at address 0x4014883 ==154506== at 0x4014883: getparameter (tool_getparam.c:2899) ==154506== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154506== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154506== by 0x4004208: main (tool_main.c:189) === End of file valgrind1380 test 1388...[FTP DL, file with C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1388 ../src/curl -q --trace-ascii log/20/trace1388 --trace-time ftp://127.0.0.1:46185/path/file1388 -o log/20/download1388 -D - > log/20/stdout1388 2> log/20/stderr1388 1388: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1388 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1388 ../src/curl -q --trace-ascii log/20/trace1388 --trace-time ftp://127.0.0.1:46185/path/file1388 -o log/20/download1388 -D - > log/20/stdout1388 2> log/20/stderr1388 === End of file commands.log === Start of file ftp_server.log 05:48:01.195578 ====> Client connect 05:48:01.195766 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.199245 < "USER anonymous" 05:48:01.199294 > "331 We are happy you popped in![CR][LF]" 05:48:01.199457 < "PASS ftp@example.com" 05:48:01.199481 > "230 Welcome you silly person[CR][LF]" 05:48:01.199631 < "PWD" 05:48:01.199663 > "257 "/" is current directory[CR][LF]" 05:48:01.199815 < "EPSV" 05:48:01.199843 ====> Passive DATA channel requested by client 05:48:01.199857 DATA sockfilt for passive data channel starting... 05:48:01.204758 DATA sockfilt for passive data channel started (pid 154949) 05:48:01.204901 DATA sockfilt for passive data channel listens on port 34561 05:48:01.204957 > "229 Entering Passive Mode (|||34561|)[CR][LF]" 05:48:01.204978 Client has been notified that DATA conn will be accepted on port 34561 05:48:01.205208 Client connects to port 34561 05:48:01.205239 ====> Client established passive DATA connection on port 34561 05:48:01.205320 < "TYPE I" 05:48:01.205352 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.205496 < "SIZE verifiedserver" 05:48:01.205553 > "213 17[CR][LF]" 05:48:01.205735 < "RETR verifiedserver" 05:48:01.205774 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.205879 =====> Closing passive DATA connection... 05:48:01.205901 Server disconnects passive DATA connection 05:48:01.206124 Server disconnected passive DATA connection 05:48:01.206152 DATA sockfilt for passive data channel quits (pid 154949) 05:48:01.206467 DATA sockfilt for passive data channel quit (pid 154949) 05:48:01.206498 =====> Closed passive DATA connection CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1383 ../src/curl -q --trace-ascii log/24/trace1383 --trace-time ftp://127.0.0.1:38499/path/file1383 -o log/24/download1383 -i -D log/24/heads1383 > log/24/stdout1383 2> log/24/stderr1383 05:48:01.206564 > "226 File transfer complete[CR][LF]" 05:48:01.253459 < "QUIT" 05:48:01.253524 > "221 bye bye baby[CR][LF]" 05:48:01.255483 MAIN sockfilt said DISC 05:48:01.255522 ====> Client disconnected 05:48:01.255630 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.653881 ====> Client connect 05:48:01.660315 Received DATA (on stdin) 05:48:01.660352 > 146 bytes data, server => client 05:48:01.660365 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.660375 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.660384 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.660507 < 16 bytes data, client => server 05:48:01.660520 'USER anonymous\r\n' 05:48:01.660750 Received DATA (on stdin) 05:48:01.660762 > 33 bytes data, server => client 05:48:01.660772 '331 We are happy you popped in!\r\n' 05:48:01.660823 < 22 bytes data, client => server 05:48:01.660834 'PASS ftp@example.com\r\n' 05:48:01.660933 Received DATA (on stdin) 05:48:01.660943 > 30 bytes data, server => client 05:48:01.660953 '230 Welcome you silly person\r\n' 05:48:01.661001 < 5 bytes data, client => server 05:48:01.661012 'PWD\r\n' 05:48:01.661114 Received DATA (on stdin) 05:48:01.661124 > 30 bytes data, server => client 05:48:01.661134 '257 "/" is current directory\r\n' 05:48:01.661190 < 6 bytes data, client => server 05:48:01.661200 'EPSV\r\n' 05:48:01.666384 Received DATA (on stdin) 05:48:01.666407 > 39 bytes data, server => client 05:48:01.666418 '229 Entering Passive Mode (|||34561|)\r\n' 05:48:01.666584 < 8 bytes data, client => server 05:48:01.666597 'TYPE I\r\n' 05:48:01.666804 Received DATA (on stdin) 05:48:01.666815 > 33 bytes data, server => client 05:48:01.666824 '200 I modify TYPE as you wanted\r\n' 05:48:01.666870 < 21 bytes data, client => server 05:48:01.666880 'SIZE verifiedserver\r\n' 05:48:01.667023 Received DATA (on stdin) 05:48:01.667035 > 8 bytes data, server => client 05:48:01.667045 '213 17\r\n' 05:48:01.667095 < 21 bytes data, client => server 05:48:01.667108 'RETR verifiedserver\r\n' 05:48:01.667360 Received DATA (on stdin) 05:48:01.667373 > 29 bytes data, server => client 05:48:01.667388 '150 Binary junk (17 bytes).\r\n' 05:48:01.667960 Received DATA (on stdin) 05:48:01.667974 > 28 bytes data, server => client 05:48:01.668020 '226 File transfer complete\r\n' 05:48:01.714675 < 6 bytes data, client => server 05:48:01.714703 'QUIT\r\n' 05:48:01.714983 Received DATA (on stdin) 05:48:01.714997 > 18 bytes data, server => client 05:48:01.715008 '221 bye bye baby\r\n' 05:48:01.716879 ====> Client disconnect 05:48:01.717095 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.663619 Running IPv4 version 05:48:01.663690 Listening on port 34561 05:48:01.663727 Wrote pid 154949 to log/20/server/ftp_sockdata.pid 05:48:01.666136 Received PING (on stdin) 05:48:01.666253 Received PORT (on stdin) 05:48:01.666615 ====> Client connect 05:48:01.667452 Received DATA (on stdin) 05:48:01.667468 > 17 bytes data, server => client 05:48:01.667479 'WE ROOLZ: 89997\r\n' 05:48:01.667508 Received DISC (on stdin) 05:48:01.667521 ====> Client forcibly disconnected 05:48:01.667676 Received QUIT (on stdin) 05:48:01.667692 quits 05:48:01.667760 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==155019== ==155019== Process terminating with default action of signal 4 (SIGILL) ==155019== Illegal opcode at address 0x4014883 ==155019== at 0x4014883: getparameter (tool_getparam.c:2899) ==155019== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155019== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155019== by 0x4004208: main (tool_main.c:189) === End of file valgrind1388 test 1383...[FTP DL, file without C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1383 ../src/curl -q --trace-ascii log/24/trace1383 --trace-time ftp://127.0.0.1:38499/path/file1383 -o log/24/download1383 -i -D log/24/heads1383 > log/24/stdout1383 2> log/24/stderr1383 1383: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1383 ../src/curl -q --trace-ascii log/24/trace1383 --trace-time ftp://127.0.0.1:38499/path/file1383 -o log/24/download1383 -i -D log/24/heads1383 > log/24/stdout1383 2> log/24/stderr1383 === End of file commands.log === Start of file ftp_server.log 05:48:00.922494 ====> Client connect 05:48:00.922658 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.925813 < "USER anonymous" 05:48:00.925859 > "331 We are happy you popped in![CR][LF]" 05:48:00.926333 < "PASS ftp@example.com" 05:48:00.926363 > "230 Welcome you silly person[CR][LF]" 05:48:00.926515 < "PWD" 05:48:00.926549 > "257 "/" is current directory[CR][LF]" 05:48:00.926702 < "EPSV" 05:48:00.926726 ====> Passive DATA channel requested by client 05:48:00.926741 DATA sockfilt for passive data channel starting... 05:48:00.932469 DATA sockfilt for passive data channel started (pid 154672) 05:48:00.932619 DATA sockfilt for passive data channel listens on port 34163 05:48:00.932678 > "229 Entering Passive Mode (|||34163|)[CR][LF]" 05:48:00.932700 Client has been notified that DATA conn will be accepted on port 34163 05:48:00.932985 Client connects to port 34163 05:48:00.933018 ====> Client established passive DATA connection on port 34163 05:48:00.933117 < "TYPE I" 05:48:00.933152 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.933324 < "SIZE verifiedserver" 05:48:00.933364 > "213 17[CR][LF]" 05:48:00.933615 < "RETR verifiedserver" 05:48:00.933655 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:00.933758 =====> Closing passive DATA connection... 05:48:00.933777 Server disconnects passive DATA connection 05:48:00.934006 Server disconnected passive DATA connection 05:48:00.934039 DATA sockfilt for passive data channel quits (pid 154672) 05:48:00.934332 DATA sockfilt for passive data channel quit (pid 154672) 05:48:00.934360 =====> Closed passive DATA connection 05:48:00.934388 > "226 File transfer complete[CR][LF]" 05:48:00.982355 < "QUIT" 05:48:00.982417 > "221 bye bye baby[CR][LF]" 05:48:00.983686 MAIN sockfilt said DISC 05:48:00.983724 ====> Client disconnected 05:48:00.983801 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.383850 ====> Client connect 05:48:01.384124 Received DATA (on stdin) 05:48:01.384138 > 146 bytes data, server => client 05:48:01.384150 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.384160 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.384169 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.387082 < 16 bytes data, client => server 05:48:01.387102 'USER anonymous\r\n' 05:48:01.387317 Received DATA (on stdin) 05:48:01.387328 > 33 bytes data, server => client 05:48:01.387338 '331 We are happy you popped in!\r\n' 05:48:01.387690 < 22 bytes data, client => server 05:48:01.387702 'PASS ftp@example.com\r\n' 05:48:01.387815 Received DATA (on stdin) 05:48:01.387826 > 30 bytes data, server => client 05:48:01.387837 '230 Welcome you silly person\r\n' 05:48:01.387887 < 5 bytes data, client => server 05:48:01.387897 'PWD\r\n' 05:48:01.387999 Received DATA (on stdin) 05:48:01.388009 > 30 bytes data, server => client 05:48:01.388020 '257 "/" is current directory\r\n' 05:48:01.388075 < 6 bytes data, clieCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1395 ./unit/units unit1395 - > log/1/stdout1395 2> log/1/stderr1395 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1394 ./tunit/tunits tool1394 - > log/22/stdout1394 2> log/22/stderr1394 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1397 ./unit/units unit1397 - > log/18/stdout1397 2> log/18/stderr1397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1389 ../src/curl -q --trace-ascii log/21/trace1389 --trace-time ftp://127.0.0.1:34063/path/file1389 -o log/21/download1389 -J -D log/21/heads1389 > log/21/stdout1389 2> log/21/stderr1389 nt => server 05:48:01.388085 'EPSV\r\n' 05:48:01.394164 Received DATA (on stdin) 05:48:01.394181 > 39 bytes data, server => client 05:48:01.394192 '229 Entering Passive Mode (|||34163|)\r\n' 05:48:01.394350 < 8 bytes data, client => server 05:48:01.394367 'TYPE I\r\n' 05:48:01.394607 Received DATA (on stdin) 05:48:01.394620 > 33 bytes data, server => client 05:48:01.394631 '200 I modify TYPE as you wanted\r\n' 05:48:01.394686 < 21 bytes data, client => server 05:48:01.394697 'SIZE verifiedserver\r\n' 05:48:01.394818 Received DATA (on stdin) 05:48:01.394830 > 8 bytes data, server => client 05:48:01.394841 '213 17\r\n' 05:48:01.394968 < 21 bytes data, client => server 05:48:01.394983 'RETR verifiedserver\r\n' 05:48:01.395231 Received DATA (on stdin) 05:48:01.395245 > 29 bytes data, server => client 05:48:01.395255 '150 Binary junk (17 bytes).\r\n' 05:48:01.395845 Received DATA (on stdin) 05:48:01.395858 > 28 bytes data, server => client 05:48:01.395868 '226 File transfer complete\r\n' 05:48:01.440320 < 6 bytes data, client => server 05:48:01.440344 'QUIT\r\n' 05:48:01.443881 Received DATA (on stdin) 05:48:01.443899 > 18 bytes data, server => client 05:48:01.443909 '221 bye bye baby\r\n' 05:48:01.445080 ====> Client disconnect 05:48:01.445263 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.390571 Running IPv4 version 05:48:00.390667 Listening on port 34163 05:48:00.390704 Wrote pid 154672 to log/24/server/ftp_sockdata.pid 05:48:00.393840 Received PING (on stdin) 05:48:00.393968 Received PORT (on stdin) 05:48:00.394388 ====> Client connect 05:48:00.395282 Received DATA (on stdin) 05:48:00.395295 > 17 bytes data, server => client 05:48:00.395306 'WE ROOLZ: 81530\r\n' 05:48:00.395330 Received DISC (on stdin) 05:48:00.395340 ====> Client forcibly disconnected 05:48:00.395500 Received QUIT (on stdin) 05:48:00.395512 quits 05:48:00.395577 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==154762== ==154762== Process terminating with default action of signal 4 (SIGILL) ==154762== Illegal opcode at address 0x4014883 ==154762== at 0x4014883: getparameter (tool_getparam.c:2899) ==154762== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154762== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154762== by 0x4004208: main (tool_main.c:189) === End of file valgrind1383 test 1395...[Curl_dedotdotify] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1395 ./unit/units unit1395 - > log/1/stdout1395 2> log/1/stderr1395 -------e-v- OK (1329 out of 1773, remaining: 00:54, took 1.459s, duration: 02:42) test 1394...[unit test for parse_cert_parameter()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1394 ./tunit/tunits tool1394 - > log/22/stdout1394 2> log/22/stderr1394 -------e-v- OK (1328 out of 1773, remaining: 00:54, took 1.469s, duration: 02:42) test 1397...[Curl_cert_hostcheck unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1397 ./unit/units unit1397 - > log/18/stdout1397 2> log/18/stderr1397 -------e-v- OK (1331 out of 1773, remaining: 00:53, took 1.267s, duration: 02:42) test 1389...[FTP DL, file with C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1389 ../src/curl -q --trace-ascii log/21/trace1389 --trace-time ftp://127.0.0.1:34063/path/file1389 -o log/21/download1389 -J -D log/21/heads1389 > log/21/stdout1389 2> log/21/stderr1389 1389: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1389 ../src/curl -q --trace-ascii log/21/trace1389 --trace-time ftp://127.0.0.1:34063/path/file1389 -o log/21/download1389 -J -D log/21/heads1389 > log/21/stdout1389 2> log/21/stderr1389 === End of file commands.log === Start of file ftp_server.log 05:48:01.362338 ====> Client connect 05:48:01.362506 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.369762 < "USER anonymous" 05:48:01.369814 > "331 We are happy you popped in![CR][LF]" 05:48:01.369975 < "PASS ftp@example.com" 05:48:01.370000 > "230 Welcome you silly person[CR][LF]" 05:48:01.370132 < "PWD" 05:48:01.370158 > "257 "/" is current directory[CR][LF]" 05:48:01.370699 < "EPSV" 05:48:01.370727 ====> Passive DATA channel requested by client 05:48:01.370740 DATA sockfilt for passive data channel starting... 05:48:01.376326 DATA sockfilt for passive data channel started (pid 155098) 05:48:01.376479 DATA sockfilt for passive data channel listens on port 38087 05:48:01.376526 > "229 Entering Passive Mode (|||38087|)[CR][LF]" 05:48:01.376543 Client has been notified that DATA conn will be accepted on port 38087 05:48:01.376843 Client connects to port 38087 05:48:01.376870 ====> Client established passive DATA connection on port 38087 05:48:01.376955 < "TYPE I" 05:48:01.376985 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.377129 < "SIZE verifiedserver" 05:48:01.377167 > "213 17[CR][LF]" 05:48:01.377304 < "RETR verifiedserver" 05:48:01.377334 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.377417 =====> Closing passive DATA connection... 05:48:01.377432 Server disconnects passive DATA connection 05:48:01.377640 Server disconnected passive DATA connection 05:48:01.377664 DATA sockfilt for passive data channel quits (pid 155098) 05:48:01.377876 DATA sockfilt for passive data channel quit (pid 155098) 05:48:01.377899 =====> Closed passive DATA connection 05:48:01.377924 > "226 File transfer complete[CR][LF]" 05:48:01.422520 < "QUIT" 05:48:01.422578 > "221 bye bye baby[CR][LF]" 05:48:01.423882 MAIN sockfilt said DISC 05:48:01.423921 ====> Client disconnected 05:48:01.424004 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.823655 ====> Client connect 05:48:01.823968 Received DATA (on stdin) 05:48:01.823981 > 146 bytes data, server => client 05:48:01.823993 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.824003 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.824012 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.831007 < 16 bytes data, client => server 05:48:01.831037 'USER anonymous\r\n' 05:48:01.831269 Received DATA (on stdin) 05:48:01.831280 > 33 bytes data, server => client 05:48:01.831290 '331 We are happy you popped in!\r\n' 05:48:01.831346 < 22 bytes data, client => server 05:48:01.831356 'PASS ftp@example.com\r\n' 05:48:01.831449 Received DATA (on stdin) 05:48:01.831459 > 30 bytes data, server => client 05:48:01.831469 '230 Welcome you silly person\r\n' 05:48:01.831511 < 5 bytes data, client => server 05:48:01.831520 'PWD\r\n' 05:48:01.831607 Received DATA (on stdin) 05:48:01.831616 > 30 bytes data, server => client 05:48:01.831626 '257 "/" is current directory\r\n' 05:48:01.832061 < 6 bytes data, client => server 05:48:01.832076 'EPSV\r\n' 05:48:01.838004 Received DATA (on stdin) 05:48:01.838021 > 39 bytes data, server => client 05:48:01.838031 '229 Entering Passive Mode (|||38087|)\r\n' 05:48:01.838220 < 8 bytes data, client => server 05:48:01.838233 'TYPE CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1390 ../src/curl -q --trace-ascii log/9/trace1390 --trace-time ftp://127.0.0.1:39835/path/file1390 -o log/9/download1390 -J -D - > log/9/stdout1390 2> log/9/stderr1390 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1387 ../src/curl -q --trace-ascii log/15/trace1387 --trace-time ftp://127.0.0.1:35349/path/file1387 -o log/15/download1387 -D log/15/heads1387 > log/15/stdout1387 2> log/15/stderr1387 I\r\n' 05:48:01.838438 Received DATA (on stdin) 05:48:01.838448 > 33 bytes data, server => client 05:48:01.838458 '200 I modify TYPE as you wanted\r\n' 05:48:01.838502 < 21 bytes data, client => server 05:48:01.838512 'SIZE verifiedserver\r\n' 05:48:01.838617 Received DATA (on stdin) 05:48:01.838628 > 8 bytes data, server => client 05:48:01.838637 '213 17\r\n' 05:48:01.838680 < 21 bytes data, client => server 05:48:01.838690 'RETR verifiedserver\r\n' 05:48:01.838884 Received DATA (on stdin) 05:48:01.838894 > 29 bytes data, server => client 05:48:01.838903 '150 Binary junk (17 bytes).\r\n' 05:48:01.839374 Received DATA (on stdin) 05:48:01.839385 > 28 bytes data, server => client 05:48:01.839395 '226 File transfer complete\r\n' 05:48:01.883775 < 6 bytes data, client => server 05:48:01.883808 'QUIT\r\n' 05:48:01.884032 Received DATA (on stdin) 05:48:01.884043 > 18 bytes data, server => client 05:48:01.884053 '221 bye bye baby\r\n' 05:48:01.885271 ====> Client disconnect 05:48:01.885464 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.836985 Running IPv4 version 05:48:01.837646 Listening on port 38087 05:48:01.837689 Wrote pid 155098 to log/21/server/ftp_sockdata.pid 05:48:01.837709 Received PING (on stdin) 05:48:01.837826 Received PORT (on stdin) 05:48:01.838250 ====> Client connect 05:48:01.838926 Received DATA (on stdin) 05:48:01.838937 > 17 bytes data, server => client 05:48:01.838946 'WE ROOLZ: 81542\r\n' 05:48:01.838967 Received DISC (on stdin) 05:48:01.838977 ====> Client forcibly disconnected 05:48:01.839123 Received QUIT (on stdin) 05:48:01.839132 quits 05:48:01.839191 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End of file server.cmd === Start of file valgrind1389 ==155154== ==155154== Process terminating with default action of signal 4 (SIGILL) ==155154== Illegal opcode at address 0x4014883 ==155154== at 0x4014883: getparameter (tool_getparam.c:2899) ==155154== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155154== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155154== by 0x4004208: main (tool_main.c:189) === End of file valgrind1389 test 1390...[FTP DL, file with C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1390 ../src/curl -q --trace-ascii log/9/trace1390 --trace-time ftp://127.0.0.1:39835/path/file1390 -o log/9/download1390 -J -D - > log/9/stdout1390 2> log/9/stderr1390 1390: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1390 ../src/curl -q --trace-ascii log/9/trace1390 --trace-time ftp://127.0.0.1:39835/path/file1390 -o log/9/download1390 -J -D - > log/9/stdout1390 2> log/9/stderr1390 === End of file commands.log === Start of file ftp_server.log 05:48:01.419025 ====> Client connect 05:48:01.419209 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.425850 < "USER anonymous" 05:48:01.425903 > "331 We are happy you popped in![CR][LF]" 05:48:01.426057 < "PASS ftp@example.com" 05:48:01.426080 > "230 Welcome you silly person[CR][LF]" 05:48:01.426219 < "PWD" 05:48:01.426249 > "257 "/" is current directory[CR][LF]" 05:48:01.426401 < "EPSV" 05:48:01.426422 ====> Passive DATA channel requested by client 05:48:01.426435 DATA sockfilt for passive data channel starting... 05:48:01.430258 DATA sockfilt for passive data channel started (pid 155143) 05:48:01.430387 DATA sockfilt for passive data channel listens on port 40461 05:48:01.430441 > "229 Entering Passive Mode (|||40461|)[CR][LF]" 05:48:01.430464 Client has been notified that DATA conn will be accepted on port 40461 05:48:01.430758 Client connects to port 40461 05:48:01.430792 ====> Client established passive DATA connection on port 40461 05:48:01.430881 < "TYPE I" 05:48:01.430914 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.431091 < "SIZE verifiedserver" 05:48:01.431130 > "213 17[CR][LF]" 05:48:01.431297 < "RETR verifiedserver" 05:48:01.431335 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.431428 =====> Closing passive DATA connection... 05:48:01.431447 Server disconnects passive DATA connection 05:48:01.435548 Server disconnected passive DATA connection 05:48:01.435598 DATA sockfilt for passive data channel quits (pid 155143) 05:48:01.435886 DATA sockfilt for passive data channel quit (pid 155143) 05:48:01.435914 =====> Closed passive DATA connection 05:48:01.435949 > "226 File transfer complete[CR][LF]" 05:48:01.480178 < "QUIT" 05:48:01.480238 > "221 bye bye baby[CR][LF]" 05:48:01.481781 MAIN sockfilt said DISC 05:48:01.481824 ====> Client disconnected 05:48:01.481900 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:00.880338 ====> Client connect 05:48:00.880672 Received DATA (on stdin) 05:48:00.880686 > 146 bytes data, server => client 05:48:00.880698 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:00.880709 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:00.880718 '220 \___|\___/|_| \_\_____|\r\n' 05:48:00.887083 < 16 bytes data, client => server 05:48:00.887110 'USER anonymous\r\n' 05:48:00.887358 Received DATA (on stdin) 05:48:00.887369 > 33 bytes data, server => client 05:48:00.887380 '331 We are happy you popped in!\r\n' 05:48:00.887428 < 22 bytes data, client => server 05:48:00.887438 'PASS ftp@example.com\r\n' 05:48:00.887529 Received DATA (on stdin) 05:48:00.887540 > 30 bytes data, server => client 05:48:00.887549 '230 Welcome you silly person\r\n' 05:48:00.887593 < 5 bytes data, client => server 05:48:00.887603 'PWD\r\n' 05:48:00.887699 Received DATA (on stdin) 05:48:00.887708 > 30 bytes data, server => client 05:48:00.887718 '257 "/" is current directory\r\n' 05:48:00.887772 < 6 bytes data, client => server 05:48:00.887786 'EPSV\r\n' 05:48:00.891926 Received DATA (on stdin) 05:48:00.891942 > 39 bytes data, server => client 05:48:00.891953 '229 Entering Passive Mode (|||40461|)\r\n' 05:48:00.892125 < 8 bytes data, client => server 05:48:00.892142 'TYPE I\r\n' 05:48:00.892370 Received DATA (on stdin) 05:48:00.892383 > 33 bytes data, server => client 05:48:00.892394 '200 I modify TYPE as you wanted\r\n' 05:48:00.892448 < 21 bytes data, client => server 05:48:00.892461 'SIZE verifiedserver\r\n' 05:48:00.892584 Received DATA (on stdin) 05:48:00.892596 > 8 bytes data, server => client 05:48:00.892606 '213 17\r\n' 05:48:00.892658 < 21 bytes data, client => server 05:48:00.892671 'RETR verifiedserver\r\n' 05:48:00.892901 Received DATA (on stdin) 05:48:00.892913 > 29 bytes data, server => client 05:48:00.892923 '150 Binary junk (17 bytes).\r\n' 05:48:00.897411 Received DATA (on stdin) 05:48:00.897426 > 28 bytes data, server => client 05:48:00.897437 '226 File transfer complete\r\n' 05:48:00.941417 < 6 bytes data, client => server 05:48:00.941451 'QUIT\r\n' 05:48:00.941699 Received DATA (on stdin) 05:48:00.941712 > 18 bytes data, server => client 05:48:00.941722 '221 bye bye baby\r\n' 05:48:00.943171 ====> Client disconnect 05:48:00.943356 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.891375 Running IPv4 version 05:48:01.891450 Listening on port 40461 05:48:01.891490 Wrote pid 155143 to log/9/server/ftp_sockdata.pid 05:48:01.891646 Received PING (on stdin) 05:48:01.891740 Received PORT (on stdin) 05:48:01.892163 ====> Client connect 05:48:01.892949 Received DATA (on stdin) 05:48:01.89CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1386 ../src/curl -q --trace-ascii log/4/trace1386 --trace-time ftp://127.0.0.1:43777/path/file1386 -o log/4/download1386 > log/4/stdout1386 2> log/4/stderr1386 2961 > 17 bytes data, server => client 05:48:01.892971 'WE ROOLZ: 81042\r\n' 05:48:01.892994 Received DISC (on stdin) 05:48:01.893005 ====> Client forcibly disconnected 05:48:01.897069 Received QUIT (on stdin) 05:48:01.897083 quits 05:48:01.897161 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==155212== ==155212== Process terminating with default action of signal 4 (SIGILL) ==155212== Illegal opcode at address 0x4014883 ==155212== at 0x4014883: getparameter (tool_getparam.c:2899) ==155212== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155212== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155212== by 0x4004208: main (tool_main.c:189) === End of file valgrind1390 test 1387...[FTP DL, file with C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1387 ../src/curl -q --trace-ascii log/15/trace1387 --trace-time ftp://127.0.0.1:35349/path/file1387 -o log/15/download1387 -D log/15/heads1387 > log/15/stdout1387 2> log/15/stderr1387 1387: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1387 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1387 ../src/curl -q --trace-ascii log/15/trace1387 --trace-time ftp://127.0.0.1:35349/path/file1387 -o log/15/download1387 -D log/15/heads1387 > log/15/stdout1387 2> log/15/stderr1387 === End of file commands.log === Start of file ftp_server.log 05:48:01.079004 ====> Client connect 05:48:01.079176 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.089877 < "USER anonymous" 05:48:01.089967 > "331 We are happy you popped in![CR][LF]" 05:48:01.092767 < "PASS ftp@example.com" 05:48:01.092817 > "230 Welcome you silly person[CR][LF]" 05:48:01.093033 < "PWD" 05:48:01.093068 > "257 "/" is current directory[CR][LF]" 05:48:01.093301 < "EPSV" 05:48:01.093331 ====> Passive DATA channel requested by client 05:48:01.093346 DATA sockfilt for passive data channel starting... 05:48:01.097029 DATA sockfilt for passive data channel started (pid 154821) 05:48:01.097138 DATA sockfilt for passive data channel listens on port 46691 05:48:01.097180 > "229 Entering Passive Mode (|||46691|)[CR][LF]" 05:48:01.097195 Client has been notified that DATA conn will be accepted on port 46691 05:48:01.102283 Client connects to port 46691 05:48:01.102331 ====> Client established passive DATA connection on port 46691 05:48:01.102437 < "TYPE I" 05:48:01.102475 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.107262 < "SIZE verifiedserver" 05:48:01.107320 > "213 17[CR][LF]" 05:48:01.107474 < "RETR verifiedserver" 05:48:01.107509 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.107611 =====> Closing passive DATA connection... 05:48:01.107629 Server disconnects passive DATA connection 05:48:01.108877 Server disconnected passive DATA connection 05:48:01.108909 DATA sockfilt for passive data channel quits (pid 154821) 05:48:01.112474 DATA sockfilt for passive data channel quit (pid 154821) 05:48:01.112511 =====> Closed passive DATA connection 05:48:01.112550 > "226 File transfer complete[CR][LF]" 05:48:01.152544 < "QUIT" 05:48:01.152602 > "221 bye bye baby[CR][LF]" 05:48:01.153790 MAIN sockfilt said DISC 05:48:01.153821 ====> Client disconnected 05:48:01.153903 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.540324 ====> Client connect 05:48:01.540647 Received DATA (on stdin) 05:48:01.540665 > 146 bytes data, server => client 05:48:01.540678 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.540688 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.540698 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.550353 < 16 bytes data, client => server 05:48:01.550396 'USER anonymous\r\n' 05:48:01.551639 Received DATA (on stdin) 05:48:01.551653 > 33 bytes data, server => client 05:48:01.551664 '331 We are happy you popped in!\r\n' 05:48:01.553664 < 22 bytes data, client => server 05:48:01.553686 'PASS ftp@example.com\r\n' 05:48:01.554279 Received DATA (on stdin) 05:48:01.554294 > 30 bytes data, server => client 05:48:01.554305 '230 Welcome you silly person\r\n' 05:48:01.554386 < 5 bytes data, client => server 05:48:01.554406 'PWD\r\n' 05:48:01.554527 Received DATA (on stdin) 05:48:01.554553 > 30 bytes data, server => client 05:48:01.554574 '257 "/" is current directory\r\n' 05:48:01.554649 < 6 bytes data, client => server 05:48:01.554666 'EPSV\r\n' 05:48:01.560400 Received DATA (on stdin) 05:48:01.560424 > 39 bytes data, server => client 05:48:01.560436 '229 Entering Passive Mode (|||46691|)\r\n' 05:48:01.560721 < 8 bytes data, client => server 05:48:01.560739 'TYPE I\r\n' 05:48:01.563930 Received DATA (on stdin) 05:48:01.563941 > 33 bytes data, server => client 05:48:01.563951 '200 I modify TYPE as you wanted\r\n' 05:48:01.568570 < 21 bytes data, client => server 05:48:01.568596 'SIZE verifiedserver\r\n' 05:48:01.568774 Received DATA (on stdin) 05:48:01.568785 > 8 bytes data, server => client 05:48:01.568795 '213 17\r\n' 05:48:01.568845 < 21 bytes data, client => server 05:48:01.568856 'RETR verifiedserver\r\n' 05:48:01.569081 Received DATA (on stdin) 05:48:01.569092 > 29 bytes data, server => client 05:48:01.569103 '150 Binary junk (17 bytes).\r\n' 05:48:01.574011 Received DATA (on stdin) 05:48:01.574025 > 28 bytes data, server => client 05:48:01.574036 '226 File transfer complete\r\n' 05:48:01.613804 < 6 bytes data, client => server 05:48:01.613837 'QUIT\r\n' 05:48:01.614057 Received DATA (on stdin) 05:48:01.614068 > 18 bytes data, server => client 05:48:01.614079 '221 bye bye baby\r\n' 05:48:01.615192 ====> Client disconnect 05:48:01.615353 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.558181 Running IPv4 version 05:48:01.558254 Listening on port 46691 05:48:01.558285 Wrote pid 154821 to log/15/server/ftp_sockdata.pid 05:48:01.558425 Received PING (on stdin) 05:48:01.558504 Received PORT (on stdin) 05:48:01.563666 ====> Client connect 05:48:01.569664 Received DATA (on stdin) 05:48:01.569684 > 17 bytes data, server => client 05:48:01.569694 'WE ROOLZ: 81070\r\n' 05:48:01.569729 Received DISC (on stdin) 05:48:01.569740 ====> Client forcibly disconnected 05:48:01.573645 Received QUIT (on stdin) 05:48:01.573674 quits 05:48:01.573758 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==154943== ==154943== Process terminating with default action of signal 4 (SIGILL) ==154943== Illegal opcode at address 0x4014883 ==154943== at 0x4014883: getparameter (tool_getparam.c:2899) ==154943== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154943== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154943== by 0x4004208: main (tool_main.c:189) === End of file valgrind1387 test 1386...[FTP DL, file with Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1386 ../src/curl -q --trace-ascii log/4/trace1386 --trace-time ftp://127.0.0.1:43777/path/file1386 -o log/4/download1386 > log/4/stdout1386 2> log/4/stderr1386 1386: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1385 ../src/curl -q --trace-ascii log/13/trace1385 --trace-time ftp://127.0.0.1:46845/path/file1385 -o log/13/download1385 -i > log/13/stdout1385 2> log/13/stderr1385 iles in the log/4/ directory after test 1386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1386 ../src/curl -q --trace-ascii log/4/trace1386 --trace-time ftp://127.0.0.1:43777/path/file1386 -o log/4/download1386 > log/4/stdout1386 2> log/4/stderr1386 === End of file commands.log === Start of file ftp_server.log 05:48:01.079261 ====> Client connect 05:48:01.079421 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.079980 < "USER anonymous" 05:48:01.080021 > "331 We are happy you popped in![CR][LF]" 05:48:01.080200 < "PASS ftp@example.com" 05:48:01.080227 > "230 Welcome you silly person[CR][LF]" 05:48:01.080372 < "PWD" 05:48:01.080401 > "257 "/" is current directory[CR][LF]" 05:48:01.080552 < "EPSV" 05:48:01.080576 ====> Passive DATA channel requested by client 05:48:01.080589 DATA sockfilt for passive data channel starting... 05:48:01.083198 DATA sockfilt for passive data channel started (pid 154810) 05:48:01.083319 DATA sockfilt for passive data channel listens on port 42301 05:48:01.083360 > "229 Entering Passive Mode (|||42301|)[CR][LF]" 05:48:01.083378 Client has been notified that DATA conn will be accepted on port 42301 05:48:01.083631 Client connects to port 42301 05:48:01.083661 ====> Client established passive DATA connection on port 42301 05:48:01.083750 < "TYPE I" 05:48:01.083779 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.083929 < "SIZE verifiedserver" 05:48:01.083969 > "213 17[CR][LF]" 05:48:01.084107 < "RETR verifiedserver" 05:48:01.084142 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.084225 =====> Closing passive DATA connection... 05:48:01.084240 Server disconnects passive DATA connection 05:48:01.084463 Server disconnected passive DATA connection 05:48:01.084491 DATA sockfilt for passive data channel quits (pid 154810) 05:48:01.084935 DATA sockfilt for passive data channel quit (pid 154810) 05:48:01.084962 =====> Closed passive DATA connection 05:48:01.084989 > "226 File transfer complete[CR][LF]" 05:48:01.129197 < "QUIT" 05:48:01.129256 > "221 bye bye baby[CR][LF]" 05:48:01.130576 MAIN sockfilt said DISC 05:48:01.130613 ====> Client disconnected 05:48:01.130706 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.540593 ====> Client connect 05:48:01.540886 Received DATA (on stdin) 05:48:01.540901 > 146 bytes data, server => client 05:48:01.540913 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.540923 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.540932 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.541011 < 16 bytes data, client => server 05:48:01.541023 'USER anonymous\r\n' 05:48:01.541477 Received DATA (on stdin) 05:48:01.541489 > 33 bytes data, server => client 05:48:01.541500 '331 We are happy you popped in!\r\n' 05:48:01.541556 < 22 bytes data, client => server 05:48:01.541566 'PASS ftp@example.com\r\n' 05:48:01.541677 Received DATA (on stdin) 05:48:01.541688 > 30 bytes data, server => client 05:48:01.541698 '230 Welcome you silly person\r\n' 05:48:01.541743 < 5 bytes data, client => server 05:48:01.541753 'PWD\r\n' 05:48:01.541850 Received DATA (on stdin) 05:48:01.541860 > 30 bytes data, server => client 05:48:01.541871 '257 "/" is current directory\r\n' 05:48:01.541925 < 6 bytes data, client => server 05:48:01.541935 'EPSV\r\n' 05:48:01.544834 Received DATA (on stdin) 05:48:01.544847 > 39 bytes data, server => client 05:48:01.544857 '229 Entering Passive Mode (|||42301|)\r\n' 05:48:01.545001 < 8 bytes data, client => server 05:48:01.545015 'TYPE I\r\n' 05:48:01.545231 Received DATA (on stdin) 05:48:01.545242 > 33 bytes data, server => client 05:48:01.545252 '200 I modify TYPE as you wanted\r\n' 05:48:01.545301 < 21 bytes data, client => server 05:48:01.545311 'SIZE verifiedserver\r\n' 05:48:01.545418 Received DATA (on stdin) 05:48:01.545429 > 8 bytes data, server => client 05:48:01.545438 '213 17\r\n' 05:48:01.545483 < 21 bytes data, client => server 05:48:01.545493 'RETR verifiedserver\r\n' 05:48:01.545776 Received DATA (on stdin) 05:48:01.545787 > 29 bytes data, server => client 05:48:01.545797 '150 Binary junk (17 bytes).\r\n' 05:48:01.546440 Received DATA (on stdin) 05:48:01.546453 > 28 bytes data, server => client 05:48:01.546463 '226 File transfer complete\r\n' 05:48:01.590440 < 6 bytes data, client => server 05:48:01.590480 'QUIT\r\n' 05:48:01.590713 Received DATA (on stdin) 05:48:01.590725 > 18 bytes data, server => client 05:48:01.590736 '221 bye bye baby\r\n' 05:48:01.591970 ====> Client disconnect 05:48:01.592169 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.543654 Running IPv4 version 05:48:01.543711 Listening on port 42301 05:48:01.543746 Wrote pid 154810 to log/4/server/ftp_sockdata.pid 05:48:01.544589 Received PING (on stdin) 05:48:01.544679 Received PORT (on stdin) 05:48:01.545034 ====> Client connect 05:48:01.545693 Received DATA (on stdin) 05:48:01.545704 > 17 bytes data, server => client 05:48:01.545714 'WE ROOLZ: 81463\r\n' 05:48:01.545741 Received DISC (on stdin) 05:48:01.545751 ====> Client forcibly disconnected 05:48:01.545948 Received QUIT (on stdin) 05:48:01.545959 quits 05:48:01.546026 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==154922== ==154922== Process terminating with default action of signal 4 (SIGILL) ==154922== Illegal opcode at address 0x4014883 ==154922== at 0x4014883: getparameter (tool_getparam.c:2899) ==154922== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154922== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154922== by 0x4004208: main (tool_main.c:189) === End of file valgrind1386 test 1385...[FTP DL, file without C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1385 ../src/curl -q --trace-ascii log/13/trace1385 --trace-time ftp://127.0.0.1:46845/path/file1385 -o log/13/download1385 -i > log/13/stdout1385 2> log/13/stderr1385 1385: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1385 ../src/curl -q --trace-ascii log/13/trace1385 --trace-time ftp://127.0.0.1:46845/path/file1385 -o log/13/download1385 -i > log/13/stdout1385 2> log/13/stderr1385 === End of file commands.log === Start of file ftp_server.log 05:48:00.999274 ====> Client connect 05:48:00.999443 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.015726 < "USER anonymous" 05:48:01.015789 > "331 We are happy you popped in![CR][LF]" 05:48:01.019173 < "PASS ftp@example.com" 05:48:01.019216 > "230 Welcome you silly person[CR][LF]" 05:48:01.019392 < "PWD" 05:48:01.019431 > "257 "/" is current directory[CR][LF]" 05:48:01.019620 < "EPSV" 05:48:01.019647 ====> Passive DATA channel requested by client 05:48:01.019662 DATA sockfilt for passive data channel starting... 05:48:01.021388 DATA sockfilt for passive data channel started (pid 154729) 05:48:01.021516 DATA sockfilt for passive data channel listens on port 46531 05:48:01.021567 > "229 Entering Passive Mode (|||46531|)[CR][LF]" 05:48:01.021593 Client has been notified that DATA coCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1391 ../src/curl -q --trace-ascii log/14/trace1391 --trace-time ftp://127.0.0.1:46299/path/file1391 -o log/14/download1391 -i -D log/14/heads1391 > log/14/stdout1391 2> log/14/stderr1391 nn will be accepted on port 46531 05:48:01.021871 Client connects to port 46531 05:48:01.021903 ====> Client established passive DATA connection on port 46531 05:48:01.021989 < "TYPE I" 05:48:01.022027 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.022241 < "SIZE verifiedserver" 05:48:01.022288 > "213 17[CR][LF]" 05:48:01.022843 < "RETR verifiedserver" 05:48:01.022884 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.022984 =====> Closing passive DATA connection... 05:48:01.023009 Server disconnects passive DATA connection 05:48:01.023265 Server disconnected passive DATA connection 05:48:01.023300 DATA sockfilt for passive data channel quits (pid 154729) 05:48:01.023519 DATA sockfilt for passive data channel quit (pid 154729) 05:48:01.023551 =====> Closed passive DATA connection 05:48:01.023581 > "226 File transfer complete[CR][LF]" 05:48:01.069236 < "QUIT" 05:48:01.069300 > "221 bye bye baby[CR][LF]" 05:48:01.070693 MAIN sockfilt said DISC 05:48:01.070736 ====> Client disconnected 05:48:01.070832 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.460626 ====> Client connect 05:48:01.460912 Received DATA (on stdin) 05:48:01.460929 > 146 bytes data, server => client 05:48:01.460942 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.460952 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.460961 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.473665 < 16 bytes data, client => server 05:48:01.473697 'USER anonymous\r\n' 05:48:01.480316 Received DATA (on stdin) 05:48:01.480348 > 33 bytes data, server => client 05:48:01.480359 '331 We are happy you popped in!\r\n' 05:48:01.480490 < 22 bytes data, client => server 05:48:01.480507 'PASS ftp@example.com\r\n' 05:48:01.480673 Received DATA (on stdin) 05:48:01.480686 > 30 bytes data, server => client 05:48:01.480697 '230 Welcome you silly person\r\n' 05:48:01.480751 < 5 bytes data, client => server 05:48:01.480764 'PWD\r\n' 05:48:01.480887 Received DATA (on stdin) 05:48:01.480899 > 30 bytes data, server => client 05:48:01.480909 '257 "/" is current directory\r\n' 05:48:01.480974 < 6 bytes data, client => server 05:48:01.480988 'EPSV\r\n' 05:48:01.483060 Received DATA (on stdin) 05:48:01.483075 > 39 bytes data, server => client 05:48:01.483087 '229 Entering Passive Mode (|||46531|)\r\n' 05:48:01.483236 < 8 bytes data, client => server 05:48:01.483253 'TYPE I\r\n' 05:48:01.483488 Received DATA (on stdin) 05:48:01.483503 > 33 bytes data, server => client 05:48:01.483514 '200 I modify TYPE as you wanted\r\n' 05:48:01.483570 < 21 bytes data, client => server 05:48:01.483586 'SIZE verifiedserver\r\n' 05:48:01.484107 Received DATA (on stdin) 05:48:01.484126 > 8 bytes data, server => client 05:48:01.484137 '213 17\r\n' 05:48:01.484196 < 21 bytes data, client => server 05:48:01.484211 'RETR verifiedserver\r\n' 05:48:01.484467 Received DATA (on stdin) 05:48:01.484480 > 29 bytes data, server => client 05:48:01.484491 '150 Binary junk (17 bytes).\r\n' 05:48:01.485038 Received DATA (on stdin) 05:48:01.485052 > 28 bytes data, server => client 05:48:01.485063 '226 File transfer complete\r\n' 05:48:01.530468 < 6 bytes data, client => server 05:48:01.530506 'QUIT\r\n' 05:48:01.530763 Received DATA (on stdin) 05:48:01.530777 > 18 bytes data, server => client 05:48:01.530787 '221 bye bye baby\r\n' 05:48:01.531874 ====> Client disconnect 05:48:01.532294 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.482551 Running IPv4 version 05:48:01.482604 Listening on port 46531 05:48:01.482635 Wrote pid 154729 to log/13/server/ftp_sockdata.pid 05:48:01.482779 Received PING (on stdin) 05:48:01.482868 Received PORT (on stdin) 05:48:01.483275 ====> Client connect 05:48:01.484518 Received DATA (on stdin) 05:48:01.484532 > 17 bytes data, server => client 05:48:01.484543 'WE ROOLZ: 81411\r\n' 05:48:01.484570 Received DISC (on stdin) 05:48:01.484584 ====> Client forcibly disconnected 05:48:01.484765 Received QUIT (on stdin) 05:48:01.484778 quits 05:48:01.484837 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==154820== ==154820== Process terminating with default action of signal 4 (SIGILL) ==154820== Illegal opcode at address 0x4014883 ==154820== at 0x4014883: getparameter (tool_getparam.c:2899) ==154820== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154820== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154820== by 0x4004208: main (tool_main.c:189) === End of file valgrind1385 test 1391...[FTP DL, file with C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1391 ../src/curl -q --trace-ascii log/14/trace1391 --trace-time ftp://127.0.0.1:46299/path/file1391 -o log/14/download1391 -i -D log/14/heads1391 > log/14/stdout1391 2> log/14/stderr1391 1391: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1391 ../src/curl -q --trace-ascii log/14/trace1391 --trace-time ftp://127.0.0.1:46299/path/file1391 -o log/14/download1391 -i -D log/14/heads1391 > log/14/stdout1391 2> log/14/stderr1391 === End of file commands.log === Start of file ftp_server.log 05:48:01.531303 ====> Client connect 05:48:01.531493 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.531827 < "USER anonymous" 05:48:01.531865 > "331 We are happy you popped in![CR][LF]" 05:48:01.532033 < "PASS ftp@example.com" 05:48:01.532059 > "230 Welcome you silly person[CR][LF]" 05:48:01.532262 < "PWD" 05:48:01.535617 > "257 "/" is current directory[CR][LF]" 05:48:01.535815 < "EPSV" 05:48:01.535845 ====> Passive DATA channel requested by client 05:48:01.535860 DATA sockfilt for passive data channel starting... 05:48:01.538101 DATA sockfilt for passive data channel started (pid 155196) 05:48:01.538222 DATA sockfilt for passive data channel listens on port 33185 05:48:01.538269 > "229 Entering Passive Mode (|||33185|)[CR][LF]" 05:48:01.538284 Client has been notified that DATA conn will be accepted on port 33185 05:48:01.538535 Client connects to port 33185 05:48:01.538564 ====> Client established passive DATA connection on port 33185 05:48:01.538696 < "TYPE I" 05:48:01.538733 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.538900 < "SIZE verifiedserver" 05:48:01.538942 > "213 17[CR][LF]" 05:48:01.539904 < "RETR verifiedserver" 05:48:01.539944 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.540043 =====> Closing passive DATA connection... 05:48:01.540067 Server disconnects passive DATA connection 05:48:01.540333 Server disconnected passive DATA connection 05:48:01.540364 DATA sockfilt for passive data channel quits (pid 155196) 05:48:01.540603 DATA sockfilt for passive data channel quit (pid 155196) 05:48:01.540632 =====> Closed passive DATA connection 05:48:01.540664 > "226 File transfer complete[CR][LF]" 05:48:01.585898 < "QUIT" 05:48:01.585969 > "221 bye bye baby[CR][LF]" 05:48:01.587893 MAIN sockfilt said DISC 05:48:01.587944 ====> Client disconnected 05:48:01.588044 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:00.992590 ====> Client connect 05:48:00.992966 Received DATA (on stdin) 05:48:00.992983 > 146 bytes data, server => client 05:48:00.992995 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:00.993009 '0- / __| | | | |_) | |\r\n220- | (__| |_| |CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1382 ../src/curl -q --trace-ascii log/23/trace1382 --trace-time ftp://127.0.0.1:40271/path/file1382 -o log/23/download1382 -J -D - > log/23/stdout1382 2> log/23/stderr1382 _ {| |___\r\n' 05:48:00.993019 '220 \___|\___/|_| \_\_____|\r\n' 05:48:00.993103 < 16 bytes data, client => server 05:48:00.993113 'USER anonymous\r\n' 05:48:00.993320 Received DATA (on stdin) 05:48:00.993331 > 33 bytes data, server => client 05:48:00.993342 '331 We are happy you popped in!\r\n' 05:48:00.993393 < 22 bytes data, client => server 05:48:00.993403 'PASS ftp@example.com\r\n' 05:48:00.993509 Received DATA (on stdin) 05:48:00.993519 > 30 bytes data, server => client 05:48:00.993529 '230 Welcome you silly person\r\n' 05:48:00.993572 < 5 bytes data, client => server 05:48:00.993581 'PWD\r\n' 05:48:00.996975 Received DATA (on stdin) 05:48:00.997003 > 30 bytes data, server => client 05:48:00.997087 '257 "/" is current directory\r\n' 05:48:00.997169 < 6 bytes data, client => server 05:48:00.997181 'EPSV\r\n' 05:48:00.999742 Received DATA (on stdin) 05:48:00.999757 > 39 bytes data, server => client 05:48:00.999768 '229 Entering Passive Mode (|||33185|)\r\n' 05:48:01.000036 < 8 bytes data, client => server 05:48:01.000047 'TYPE I\r\n' 05:48:01.000187 Received DATA (on stdin) 05:48:01.000198 > 33 bytes data, server => client 05:48:01.000208 '200 I modify TYPE as you wanted\r\n' 05:48:01.000256 < 21 bytes data, client => server 05:48:01.000267 'SIZE verifiedserver\r\n' 05:48:01.001160 Received DATA (on stdin) 05:48:01.001182 > 8 bytes data, server => client 05:48:01.001193 '213 17\r\n' 05:48:01.001258 < 21 bytes data, client => server 05:48:01.001272 'RETR verifiedserver\r\n' 05:48:01.001625 Received DATA (on stdin) 05:48:01.001639 > 29 bytes data, server => client 05:48:01.001650 '150 Binary junk (17 bytes).\r\n' 05:48:01.002123 Received DATA (on stdin) 05:48:01.002136 > 28 bytes data, server => client 05:48:01.002147 '226 File transfer complete\r\n' 05:48:01.047122 < 6 bytes data, client => server 05:48:01.047164 'QUIT\r\n' 05:48:01.047434 Received DATA (on stdin) 05:48:01.047451 > 18 bytes data, server => client 05:48:01.047461 '221 bye bye baby\r\n' 05:48:01.049271 ====> Client disconnect 05:48:01.049508 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.999195 Running IPv4 version 05:48:01.999288 Listening on port 33185 05:48:01.999332 Wrote pid 155196 to log/14/server/ftp_sockdata.pid 05:48:01.999495 Received PING (on stdin) 05:48:01.999581 Received PORT (on stdin) 05:48:01.999938 ====> Client connect 05:48:02.001528 Received DATA (on stdin) 05:48:02.001542 > 17 bytes data, server => client 05:48:02.001552 'WE ROOLZ: 81045\r\n' 05:48:02.001583 Received DISC (on stdin) 05:48:02.001596 ====> Client forcibly disconnected 05:48:02.001827 Received QUIT (on stdin) 05:48:02.001837 quits 05:48:02.001899 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==155222== ==155222== Process terminating with default action of signal 4 (SIGILL) ==155222== Illegal opcode at address 0x4014883 ==155222== at 0x4014883: getparameter (tool_getparam.c:2899) ==155222== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155222== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155222== by 0x4004208: main (tool_main.c:189) === End of file valgrind1391 test 1382...[FTP DL, file without C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1382 ../src/curl -q --trace-ascii log/23/trace1382 --trace-time ftp://127.0.0.1:40271/path/file1382 -o log/23/download1382 -J -D - > log/23/stdout1382 2> log/23/stderr1382 1382: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1382 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1382 ../src/curl -q --trace-ascii log/23/trace1382 --trace-time ftp://127.0.0.1:40271/path/file1382 -o log/23/download1382 -J -D - > log/23/stdout1382 2> log/23/stderr1382 === End of file commands.log === Start of file ftp_server.log 05:48:00.892349 ====> Client connect 05:48:00.892528 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:00.905709 < "USER anonymous" 05:48:00.905770 > "331 We are happy you popped in![CR][LF]" 05:48:00.909160 < "PASS ftp@example.com" 05:48:00.909213 > "230 Welcome you silly person[CR][LF]" 05:48:00.909414 < "PWD" 05:48:00.909455 > "257 "/" is current directory[CR][LF]" 05:48:00.909654 < "EPSV" 05:48:00.909689 ====> Passive DATA channel requested by client 05:48:00.909705 DATA sockfilt for passive data channel starting... 05:48:00.915595 DATA sockfilt for passive data channel started (pid 154662) 05:48:00.915730 DATA sockfilt for passive data channel listens on port 44999 05:48:00.915779 > "229 Entering Passive Mode (|||44999|)[CR][LF]" 05:48:00.915798 Client has been notified that DATA conn will be accepted on port 44999 05:48:00.925982 Client connects to port 44999 05:48:00.926038 ====> Client established passive DATA connection on port 44999 05:48:00.926157 < "TYPE I" 05:48:00.926197 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:00.927022 < "SIZE verifiedserver" 05:48:00.927071 > "213 17[CR][LF]" 05:48:00.927245 < "RETR verifiedserver" 05:48:00.927286 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:00.927381 =====> Closing passive DATA connection... 05:48:00.927405 Server disconnects passive DATA connection 05:48:00.938634 Server disconnected passive DATA connection 05:48:00.938695 DATA sockfilt for passive data channel quits (pid 154662) 05:48:00.948923 DATA sockfilt for passive data channel quit (pid 154662) 05:48:00.949019 =====> Closed passive DATA connection 05:48:00.949071 > "226 File transfer complete[CR][LF]" 05:48:00.975885 < "QUIT" 05:48:00.975963 > "221 bye bye baby[CR][LF]" 05:48:00.977084 MAIN sockfilt said DISC 05:48:00.977117 ====> Client disconnected 05:48:00.977207 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:01.353656 ====> Client connect 05:48:01.354000 Received DATA (on stdin) 05:48:01.354017 > 146 bytes data, server => client 05:48:01.354029 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:01.354040 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:01.354050 '220 \___|\___/|_| \_\_____|\r\n' 05:48:01.363920 < 16 bytes data, client => server 05:48:01.363953 'USER anonymous\r\n' 05:48:01.370313 Received DATA (on stdin) 05:48:01.370342 > 33 bytes data, server => client 05:48:01.370355 '331 We are happy you popped in!\r\n' 05:48:01.370459 < 22 bytes data, client => server 05:48:01.370473 'PASS ftp@example.com\r\n' 05:48:01.370671 Received DATA (on stdin) 05:48:01.370684 > 30 bytes data, server => client 05:48:01.370695 '230 Welcome you silly person\r\n' 05:48:01.370756 < 5 bytes data, client => server 05:48:01.370769 'PWD\r\n' 05:48:01.370909 Received DATA (on stdin) 05:48:01.370921 > 30 bytes data, server => client 05:48:01.370932 '257 "/" is current directory\r\n' 05:48:01.370997 < 6 bytes data, client => server 05:48:01.371010 'EPSV\r\n' 05:48:01.383669 Received DATA (on stdin) 05:48:01.383699 > 39 bytes data, server => client 05:48:01.383712 '229 Entering Passive Mode (|||44999|)\r\n' 05:48:01.387111 < 8 bytes data, client => server 05:48:01.387133 'TYPE I\r\n' 05:48:01.388277 Received DATA (on stdin) 05:48:01.388296 > 33 bytes data, server => client 05:48:01.388307 '200 I modify TYPE as you wanted\r\n' 05:48:01.388375 < 21 bytes data, client => server 05:48:01.388387 'SIZE verifiedserver\r\n' 05:48:01.388528 Received DATA (on stdin) 05:48:01.388540 > 8 bytes data, server => client 05:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1396 ./unit/units unit1396 - > log/8/stdout1396 2> log/8/stderr1396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1392 ../src/curl -q --trace-ascii log/7/trace1392 --trace-time ftp://127.0.0.1:44937/path/file1392 -o log/7/download1392 -i -D - > log/7/stdout1392 2> log/7/stderr1392 8:01.388550 '213 17\r\n' 05:48:01.388607 < 21 bytes data, client => server 05:48:01.388620 'RETR verifiedserver\r\n' 05:48:01.388864 Received DATA (on stdin) 05:48:01.388876 > 29 bytes data, server => client 05:48:01.388887 '150 Binary junk (17 bytes).\r\n' 05:48:01.410548 Received DATA (on stdin) 05:48:01.410575 > 28 bytes data, server => client 05:48:01.410587 '226 File transfer complete\r\n' 05:48:01.437100 < 6 bytes data, client => server 05:48:01.437140 'QUIT\r\n' 05:48:01.437431 Received DATA (on stdin) 05:48:01.437446 > 18 bytes data, server => client 05:48:01.437458 '221 bye bye baby\r\n' 05:48:01.438482 ====> Client disconnect 05:48:01.438658 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:00.374732 Running IPv4 version 05:48:00.374812 Listening on port 44999 05:48:00.374849 Wrote pid 154662 to log/23/server/ftp_sockdata.pid 05:48:00.376975 Received PING (on stdin) 05:48:00.377082 Received PORT (on stdin) 05:48:00.387373 ====> Client connect 05:48:00.388763 Received DATA (on stdin) 05:48:00.388782 > 17 bytes data, server => client 05:48:00.388793 'WE ROOLZ: 81405\r\n' 05:48:00.394876 Received DISC (on stdin) 05:48:00.394899 ====> Client forcibly disconnected 05:48:00.403645 Received QUIT (on stdin) 05:48:00.403679 quits 05:48:00.403759 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==154720== ==154720== Process terminating with default action of signal 4 (SIGILL) ==154720== Illegal opcode at address 0x4014883 ==154720== at 0x4014883: getparameter (tool_getparam.c:2899) ==154720== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==154720== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==154720== by 0x4004208: main (tool_main.c:189) === End of file valgrind1382 test 1396...[curl_easy_escape and curl_easy_unescape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1396 ./unit/units unit1396 - > log/8/stdout1396 2> log/8/stderr1396 units returned 132, when expecting 0 1396: exit FAILED == Contents of files in the log/8/ directory after test 1396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1396 ./unit/units unit1396 - > log/8/stdout1396 2> log/8/stderr1396 === End of file commands.log === Start of file server.cmd Testnum 1396 === End of file server.cmd === Start of file stderr1396 URL: - === End of file stderr1396 === Start of file valgrind1396 ==155494== ==155494== Process terminating with default action of signal 4 (SIGILL) ==155494== Illegal opcode at address 0x4080273 ==155494== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==155494== by 0x4080273: UnknownInlinedFun (request.c:40) ==155494== by 0x4080273: Curl_open (url.c:503) ==155494== by 0x40401A5: curl_easy_init (easy.c:350) ==155494== by 0x40311D7: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==155494== by 0x400B145: main (first.c:279) === End of file valgrind1396 test 1392...[FTP DL, file with C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1392 ../src/curl -q --trace-ascii log/7/trace1392 --trace-time ftp://127.0.0.1:44937/path/file1392 -o log/7/download1392 -i -D - > log/7/stdout1392 2> log/7/stderr1392 1392: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1392 ../src/curl -q --trace-ascii log/7/trace1392 --trace-time ftp://127.0.0.1:44937/path/file1392 -o log/7/download1392 -i -D - > log/7/stdout1392 2> log/7/stderr1392 === End of file commands.log === Start of file ftp_server.log 05:48:01.746127 ====> Client connect 05:48:01.746310 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.746583 < "USER anonymous" 05:48:01.746620 > "331 We are happy you popped in![CR][LF]" 05:48:01.746771 < "PASS ftp@example.com" 05:48:01.746794 > "230 Welcome you silly person[CR][LF]" 05:48:01.746923 < "PWD" 05:48:01.746950 > "257 "/" is current directory[CR][LF]" 05:48:01.747084 < "EPSV" 05:48:01.747106 ====> Passive DATA channel requested by client 05:48:01.747118 DATA sockfilt for passive data channel starting... 05:48:01.753830 DATA sockfilt for passive data channel started (pid 155328) 05:48:01.753988 DATA sockfilt for passive data channel listens on port 42535 05:48:01.754047 > "229 Entering Passive Mode (|||42535|)[CR][LF]" 05:48:01.754068 Client has been notified that DATA conn will be accepted on port 42535 05:48:01.766949 Client connects to port 42535 05:48:01.767036 ====> Client established passive DATA connection on port 42535 05:48:01.772398 < "TYPE I" 05:48:01.772469 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:01.772732 < "SIZE verifiedserver" 05:48:01.772781 > "213 17[CR][LF]" 05:48:01.772967 < "RETR verifiedserver" 05:48:01.773008 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:01.773121 =====> Closing passive DATA connection... 05:48:01.773144 Server disconnects passive DATA connection 05:48:01.773289 Server disconnected passive DATA connection 05:48:01.773320 DATA sockfilt for passive data channel quits (pid 155328) 05:48:01.773589 DATA sockfilt for passive data channel quit (pid 155328) 05:48:01.773619 =====> Closed passive DATA connection 05:48:01.773649 > "226 File transfer complete[CR][LF]" 05:48:01.825720 < "QUIT" 05:48:01.825789 > "221 bye bye baby[CR][LF]" 05:48:01.827142 MAIN sockfilt said DISC 05:48:01.827179 ====> Client disconnected 05:48:01.827257 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:02.206783 ====> Client connect 05:48:02.207775 Received DATA (on stdin) 05:48:02.207789 > 146 bytes data, server => client 05:48:02.207800 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:02.207809 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:02.207817 '220 \___|\___/|_| \_\_____|\r\n' 05:48:02.207894 < 16 bytes data, client => server 05:48:02.207904 'USER anonymous\r\n' 05:48:02.208072 Received DATA (on stdin) 05:48:02.208083 > 33 bytes data, server => client 05:48:02.208093 '331 We are happy you popped in!\r\n' 05:48:02.208137 < 22 bytes data, client => server 05:48:02.208147 'PASS ftp@example.com\r\n' 05:48:02.208243 Received DATA (on stdin) 05:48:02.208253 > 30 bytes data, server => client 05:48:02.208262 '230 Welcome you silly person\r\n' 05:48:02.208302 < 5 bytes data, client => server 05:48:02.208310 'PWD\r\n' 05:48:02.208398 Received DATA (on stdin) 05:48:02.208407 > 30 bytes data, server => client 05:48:02.208416 '257 "/" is current directory\r\n' 05:48:02.208465 < 6 bytes data, client => server 05:48:02.208473 'EPSV\r\n' 05:48:02.223655 Received DATA (on stdin) 05:48:02.223710 > 39 bytes data, server => client 05:48:02.223722 '229 Entering Passive Mode (|||42535|)\r\n' 05:48:02.230339 < 8 bytes data, client => server 05:48:02.230374 'TYPE I\r\n' 05:48:02.233939 Received DATA (on stdin) 05:48:02.233962 > 33 bytes data, server => client 05:48:02.233974 '200 I modify TYPE as you wanted\r\n' 05:48:02.234090 < 21 bytes data, client => server 05:48:02.234105 'SIZE verifiedserver\r\n' 05:48:02.234241 Received DATA (on stdin) 05:48:02.234253 > 8 bytes data, server => client 05:48:02.23426CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1398 ./unit/units unit1398 - > log/11/stdout1398 2> log/11/stderr1398 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1399 ./unit/units unit1399 - > log/6/stdout1399 2> log/6/stderr1399 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1393 ../src/curl -q --trace-ascii log/16/trace1393 --trace-time ftp://127.0.0.1:41717/path/file1393 -o log/16/download1393 -i > log/16/stdout1393 2> log/16/stderr1393 3 '213 17\r\n' 05:48:02.234321 < 21 bytes data, client => server 05:48:02.234335 'RETR verifiedserver\r\n' 05:48:02.235107 Received DATA (on stdin) 05:48:02.235121 > 29 bytes data, server => client 05:48:02.235132 '150 Binary junk (17 bytes).\r\n' 05:48:02.235156 Received DATA (on stdin) 05:48:02.235169 > 28 bytes data, server => client 05:48:02.235180 '226 File transfer complete\r\n' 05:48:02.280486 < 6 bytes data, client => server 05:48:02.280528 'QUIT\r\n' 05:48:02.287256 Received DATA (on stdin) 05:48:02.287279 > 18 bytes data, server => client 05:48:02.287290 '221 bye bye baby\r\n' 05:48:02.288530 ====> Client disconnect 05:48:02.288709 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.214898 Running IPv4 version 05:48:01.214990 Listening on port 42535 05:48:01.215027 Wrote pid 155328 to log/7/server/ftp_sockdata.pid 05:48:01.215215 Received PING (on stdin) 05:48:01.215328 Received PORT (on stdin) 05:48:01.228302 ====> Client connect 05:48:01.234611 Received DATA (on stdin) 05:48:01.234631 > 17 bytes data, server => client 05:48:01.234641 'WE ROOLZ: 81085\r\n' 05:48:01.234672 Received DISC (on stdin) 05:48:01.234686 ====> Client forcibly disconnected 05:48:01.234783 Received QUIT (on stdin) 05:48:01.234794 quits 05:48:01.234872 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==155359== ==155359== Process terminating with default action of signal 4 (SIGILL) ==155359== Illegal opcode at address 0x4014883 ==155359== at 0x4014883: getparameter (tool_getparam.c:2899) ==155359== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155359== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155359== by 0x4004208: main (tool_main.c:189) === End of file valgrind1392 test 1398...[curl_msnprintf unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1398 ./unit/units unit1398 - > log/11/stdout1398 2> log/11/stderr1398 units returned 132, when expecting 0 1398: exit FAILED == Contents of files in the log/11/ directory after test 1398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1398 ./unit/units unit1398 - > log/11/stdout1398 2> log/11/stderr1398 === End of file commands.log === Start of file server.cmd Testnum 1398 === End of file server.cmd === Start of file stderr1398 URL: - === End of file stderr1398 === Start of file valgrind1398 ==155648== ==155648== Process terminating with default action of signal 4 (SIGILL) ==155648== Illegal opcode at address 0x400F38D ==155648== at 0x400F38D: test_unit1398.lto_priv.0 (unit1398.c:87) ==155648== by 0x400B145: main (first.c:279) === End of file valgrind1398 test 1399...[Curl_pgrsTime unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1399 ./unit/units unit1399 - > log/6/stdout1399 2> log/6/stderr1399 -------e-v- OK (1333 out of 1773, remaining: 00:53, took 1.618s, duration: 02:43) test 1393...[FTP DL, file with C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1393 ../src/curl -q --trace-ascii log/16/trace1393 --trace-time ftp://127.0.0.1:41717/path/file1393 -o log/16/download1393 -i > log/16/stdout1393 2> log/16/stderr1393 1393: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1393 ../src/curl -q --trace-ascii log/16/trace1393 --trace-time ftp://127.0.0.1:41717/path/file1393 -o log/16/download1393 -i > log/16/stdout1393 2> log/16/stderr1393 === End of file commands.log === Start of file ftp_server.log 05:48:01.994118 ====> Client connect 05:48:01.994285 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:01.994550 < "USER anonymous" 05:48:01.994583 > "331 We are happy you popped in![CR][LF]" 05:48:01.994730 < "PASS ftp@example.com" 05:48:01.994755 > "230 Welcome you silly person[CR][LF]" 05:48:01.995746 < "PWD" 05:48:01.995785 > "257 "/" is current directory[CR][LF]" 05:48:01.995945 < "EPSV" 05:48:01.995971 ====> Passive DATA channel requested by client 05:48:01.995986 DATA sockfilt for passive data channel starting... 05:48:02.000475 DATA sockfilt for passive data channel started (pid 155396) 05:48:02.000617 DATA sockfilt for passive data channel listens on port 38293 05:48:02.000668 > "229 Entering Passive Mode (|||38293|)[CR][LF]" 05:48:02.000688 Client has been notified that DATA conn will be accepted on port 38293 05:48:02.001021 Client connects to port 38293 05:48:02.001054 ====> Client established passive DATA connection on port 38293 05:48:02.001154 < "TYPE I" 05:48:02.001190 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:02.001364 < "SIZE verifiedserver" 05:48:02.001404 > "213 17[CR][LF]" 05:48:02.001554 < "RETR verifiedserver" 05:48:02.001589 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:02.001676 =====> Closing passive DATA connection... 05:48:02.001692 Server disconnects passive DATA connection 05:48:02.001935 Server disconnected passive DATA connection 05:48:02.001960 DATA sockfilt for passive data channel quits (pid 155396) 05:48:02.002208 DATA sockfilt for passive data channel quit (pid 155396) 05:48:02.002234 =====> Closed passive DATA connection 05:48:02.002261 > "226 File transfer complete[CR][LF]" 05:48:02.049076 < "QUIT" 05:48:02.049135 > "221 bye bye baby[CR][LF]" 05:48:02.050428 MAIN sockfilt said DISC 05:48:02.050472 ====> Client disconnected 05:48:02.050559 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:02.455435 ====> Client connect 05:48:02.455744 Received DATA (on stdin) 05:48:02.455757 > 146 bytes data, server => client 05:48:02.455769 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:02.455779 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:02.455788 '220 \___|\___/|_| \_\_____|\r\n' 05:48:02.455857 < 16 bytes data, client => server 05:48:02.455869 'USER anonymous\r\n' 05:48:02.456036 Received DATA (on stdin) 05:48:02.456046 > 33 bytes data, server => client 05:48:02.456056 '331 We are happy you popped in!\r\n' 05:48:02.456102 < 22 bytes data, client => server 05:48:02.456112 'PASS ftp@example.com\r\n' 05:48:02.456204 Received DATA (on stdin) 05:48:02.456214 > 30 bytes data, server => client 05:48:02.456224 '230 Welcome you silly person\r\n' 05:48:02.457072 < 5 bytes data, client => server 05:48:02.457089 'PWD\r\n' 05:48:02.457238 Received DATA (on stdin) 05:48:02.457249 > 30 bytes data, server => client 05:48:02.457259 '257 "/" is current directory\r\n' 05:48:02.457317 < 6 bytes data, client => server 05:48:02.457327 'EPSV\r\n' 05:48:02.462151 Received DATA (on stdin) 05:48:02.462169 > 39 bytes data, server => client 05:48:02.462180 '229 Entering Passive Mode (|||38293|)\r\n' 05:48:02.462384 < 8 bytes data, client => server 05:48:02.462401 'TYPE I\r\n' 05:48:02.462645 Received DATA (on stdin) 05:48:02.462657 > 33 bytes data, server => client 05:48:02.462668 '200 I modify TYPE as you wanted\r\n' 05:48:02.462726 < 21 bytes data, client => server 05:48:02.462737 'SIZE verifiedserver\r\n'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1402 ../src/curl -q --output log/19/curl1402.out --include --trace-ascii log/19/trace1402 --trace-time http://127.0.0.1:35701/we/want/1402 --libcurl log/19/test1402.c -d "foo=bar" -d "baz=quux" > log/19/stdout1402 2> log/19/stderr1402 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1401 ../src/curl -q --output log/3/curl1401.out --include --trace-ascii log/3/trace1401 --trace-time http://127.0.0.1:39591/we/want/1401 --libcurl log/3/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/3/stdout1401 2> log/3/stderr1401 05:48:02.462856 Received DATA (on stdin) 05:48:02.462867 > 8 bytes data, server => client 05:48:02.462876 '213 17\r\n' 05:48:02.462926 < 21 bytes data, client => server 05:48:02.462936 'RETR verifiedserver\r\n' 05:48:02.463145 Received DATA (on stdin) 05:48:02.463156 > 29 bytes data, server => client 05:48:02.463166 '150 Binary junk (17 bytes).\r\n' 05:48:02.463713 Received DATA (on stdin) 05:48:02.463725 > 28 bytes data, server => client 05:48:02.463735 '226 File transfer complete\r\n' 05:48:02.510322 < 6 bytes data, client => server 05:48:02.510356 'QUIT\r\n' 05:48:02.510598 Received DATA (on stdin) 05:48:02.510612 > 18 bytes data, server => client 05:48:02.510623 '221 bye bye baby\r\n' 05:48:02.511818 ====> Client disconnect 05:48:02.512018 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:01.461564 Running IPv4 version 05:48:01.461655 Listening on port 38293 05:48:01.461697 Wrote pid 155396 to log/16/server/ftp_sockdata.pid 05:48:01.461865 Received PING (on stdin) 05:48:01.461965 Received PORT (on stdin) 05:48:01.462422 ====> Client connect 05:48:01.463223 Received DATA (on stdin) 05:48:01.463236 > 17 bytes data, server => client 05:48:01.463246 'WE ROOLZ: 80884\r\n' 05:48:01.463273 Received DISC (on stdin) 05:48:01.463285 ====> Client forcibly disconnected 05:48:01.463421 Received QUIT (on stdin) 05:48:01.463431 quits 05:48:01.463497 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==155443== ==155443== Process terminating with default action of signal 4 (SIGILL) ==155443== Illegal opcode at address 0x4014883 ==155443== at 0x4014883: getparameter (tool_getparam.c:2899) ==155443== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155443== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155443== by 0x4004208: main (tool_main.c:189) === End of file valgrind1393 test 1402...[--libcurl for simple POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1402 ../src/curl -q --output log/19/curl1402.out --include --trace-ascii log/19/trace1402 --trace-time http://127.0.0.1:35701/we/want/1402 --libcurl log/19/test1402.c -d "foo=bar" -d "baz=quux" > log/19/stdout1402 2> log/19/stderr1402 1402: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1402 ../src/curl -q --output log/19/curl1402.out --include --trace-ascii log/19/trace1402 --trace-time http://127.0.0.1:35701/we/want/1402 --libcurl log/19/test1402.c -d "foo=bar" -d "baz=quux" > log/19/stdout1402 2> log/19/stderr1402 === End of file commands.log === Start of file http_server.log 05:48:02.433636 ====> Client connect 05:48:02.433682 accept_connection 3 returned 4 05:48:02.433700 accept_connection 3 returned 0 05:48:02.439127 Read 93 bytes 05:48:02.439181 Process 93 bytes request 05:48:02.439196 Got request: GET /verifiedserver HTTP/1.1 05:48:02.439206 Are-we-friendly question received 05:48:02.439255 Wrote request (93 bytes) input to log/19/server.input 05:48:02.439276 Identifying ourselves as friends 05:48:02.439331 Response sent (56 bytes) and written to log/19/server.response 05:48:02.439342 special request received, no persistency 05:48:02.439350 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 60074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1402 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1402 ==155881== ==155881== Process terminating with default action of signal 4 (SIGILL) ==155881== Illegal opcode at address 0x4014883 ==155881== at 0x4014883: getparameter (tool_getparam.c:2899) ==155881== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155881== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155881== by 0x4004208: main (tool_main.c:189) === End of file valgrind1402 test 1401...[--libcurl for GET with various options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1401 ../src/curl -q --output log/3/curl1401.out --include --trace-ascii log/3/trace1401 --trace-time http://127.0.0.1:39591/we/want/1401 --libcurl log/3/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/3/stdout1401 2> log/3/stderr1401 1401: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1401 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1401 ../src/curl -q --output log/3/curl1401.out --include --trace-ascii log/3/trace1401 --trace-time http://127.0.0.1:39591/we/want/1401 --libcurl log/3/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/3/stdout1401 2> log/3/stderr1401 === End of file commands.log === Start of file http_server.log 05:48:03.226880 ====> Client connect 05:48:03.226914 accept_connection 3 returned 4 05:48:03.226930 accept_connection 3 returned 0 05:48:03.226944 Read 93 bytes 05:48:03.226954 Process 93 bytes request 05:48:03.226982 Got request: GET /verifiedserver HTTP/1.1 05:48:03.226991 Are-we-friendly question received 05:48:03.227017 Wrote request (93 bytes) input to log/3/server.input 05:48:03.227033 Identifying ourselves as friends 05:48:03.227090 Response sent (56 bytes) and written to log/3/server.response 05:48:03.227100 special request received, no persistency 05:48:03.227108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 52212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1401 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1401 ==155756== ==155756== Process terminating with default action of signal 4 (SIGILL) ==155756== Illegal opcode at address 0x4014883 ==155756== at 0x4014883: getparameter (tool_getparam.c:2899) ==155756== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155756== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155756== by 0x4004208: main (tool_main.c:189) === End ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1400 ../src/curl -q --output log/2/curl1400.out --include --trace-ascii log/2/trace1400 --trace-time http://127.0.0.1:41799/we/want/1400 --libcurl log/2/test1400.c > log/2/stdout1400 2> log/2/stderr1400 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1403 ../src/curl -q --output log/5/curl1403.out --include --trace-ascii log/5/trace1403 --trace-time http://127.0.0.1:35621/we/want/1403 --libcurl log/5/test1403.c -G -d "foo=bar" -d "baz=quux" > log/5/stdout1403 2> log/5/stderr1403 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1404 ../src/curl -q --output log/17/curl1404.out --include --trace-ascii log/17/trace1404 --trace-time http://127.0.0.1:41219/we/want/1404 -F name=value -F 'file=@log/17/test1404.txt,log/17/test1404.txt;type=magic/content;encoder=8bit,log/17/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/17/test1404.c > log/17/stdout1404 2> log/17/stderr1404 file valgrind1401 test 1400...[--libcurl for simple HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1400 ../src/curl -q --output log/2/curl1400.out --include --trace-ascii log/2/trace1400 --trace-time http://127.0.0.1:41799/we/want/1400 --libcurl log/2/test1400.c > log/2/stdout1400 2> log/2/stderr1400 1400: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1400 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1400 ../src/curl -q --output log/2/curl1400.out --include --trace-ascii log/2/trace1400 --trace-time http://127.0.0.1:41799/we/want/1400 --libcurl log/2/test1400.c > log/2/stdout1400 2> log/2/stderr1400 === End of file commands.log === Start of file http_server.log 05:48:03.209144 ====> Client connect 05:48:03.209184 accept_connection 3 returned 4 05:48:03.209199 accept_connection 3 returned 0 05:48:03.209213 Read 93 bytes 05:48:03.209222 Process 93 bytes request 05:48:03.209236 Got request: GET /verifiedserver HTTP/1.1 05:48:03.209245 Are-we-friendly question received 05:48:03.209270 Wrote request (93 bytes) input to log/2/server.input 05:48:03.209286 Identifying ourselves as friends 05:48:03.209341 Response sent (56 bytes) and written to log/2/server.response 05:48:03.209350 special request received, no persistency 05:48:03.209359 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 59546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1400 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1400 ==155748== ==155748== Process terminating with default action of signal 4 (SIGILL) ==155748== Illegal opcode at address 0x4014883 ==155748== at 0x4014883: getparameter (tool_getparam.c:2899) ==155748== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155748== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155748== by 0x4004208: main (tool_main.c:189) === End of file valgrind1400 test 1403...[--libcurl for GET with query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1403 ../src/curl -q --output log/5/curl1403.out --include --trace-ascii log/5/trace1403 --trace-time http://127.0.0.1:35621/we/want/1403 --libcurl log/5/test1403.c -G -d "foo=bar" -d "baz=quux" > log/5/stdout1403 2> log/5/stderr1403 1403: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1403 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1403 ../src/curl -q --output log/5/curl1403.out --include --trace-ascii log/5/trace1403 --trace-time http://127.0.0.1:35621/we/want/1403 --libcurl log/5/test1403.c -G -d "foo=bar" -d "baz=quux" > log/5/stdout1403 2> log/5/stderr1403 === End of file commands.log === Start of file http_server.log 05:48:03.452321 ====> Client connect 05:48:03.452357 accept_connection 3 returned 4 05:48:03.452373 accept_connection 3 returned 0 05:48:03.452388 Read 93 bytes 05:48:03.452399 Process 93 bytes request 05:48:03.452413 Got request: GET /verifiedserver HTTP/1.1 05:48:03.452422 Are-we-friendly question received 05:48:03.452448 Wrote request (93 bytes) input to log/5/server.input 05:48:03.452467 Identifying ourselves as friends 05:48:03.452528 Response sent (56 bytes) and written to log/5/server.response 05:48:03.452540 special request received, no persistency 05:48:03.452550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 44796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1403 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1403 ==155902== ==155902== Process terminating with default action of signal 4 (SIGILL) ==155902== Illegal opcode at address 0x4014883 ==155902== at 0x4014883: getparameter (tool_getparam.c:2899) ==155902== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155902== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155902== by 0x4004208: main (tool_main.c:189) === End of file valgrind1403 test 1404...[--libcurl plus -F with 3 files, one with explicit type and encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1404 ../src/curl -q --output log/17/curl1404.out --include --trace-ascii log/17/trace1404 --trace-time http://127.0.0.1:41219/we/want/1404 -F name=value -F 'file=@log/17/test1404.txt,log/17/test1404.txt;type=magic/content;encoder=8bit,log/17/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/17/test1404.c > log/17/stdout1404 2> log/17/stderr1404 1404: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1404 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1404 ../src/curl -q --output log/17/curl1404.out --include --trace-ascii log/17/trace1404 --trace-time http://127.0.0.1:41219/we/want/1404 -F name=value -F 'file=@log/17/test1404.txt,log/17/test1404.txt;type=magic/content;encoder=8bit,log/17/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/17/test1404.c > log/17/stdout1404 2> log/17/stderr1404 === End of file commands.log === Start of file http_server.log 05:48:03.557097 ====> Client connect 05:48:03.557140 accept_connection 3 returned 4 05:48:03.557158 accept_connection 3 returned 0 05:48:03.557174 Read 93 bytes 05:48:03.557184 Process 93 bytes request 05:48:03.557216 Got request: GET /verifiedserver HTTP/1.1 05:48:03.557225 Are-we-friendly question received 05:48:03.557249 Wrote request (93 bytes) input to log/17/server.input 05:48:03.557268 Identifying ourselves as friends 05:48:03.557346 Response sent (57 bytes) and written to log/17/server.response 05:48:03.557363 special request received, no persistency 05:48:03.557371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * EstaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1405 ../src/curl -q --output log/12/curl1405.out --include --trace-ascii log/12/trace1405 --trace-time ftp://127.0.0.1:33915/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/12/test1405.c > log/12/stdout1405 2> log/12/stderr1405 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1406 ../src/curl -q --output log/10/curl1406.out --include --trace-ascii log/10/trace1406 --trace-time smtp://127.0.0.1:40765/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/10/test1406.eml --libcurl log/10/test1406.c > log/10/stdout1406 2> log/10/stderr1406 blished connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 54560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1404 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==155964== ==155964== Process terminating with default action of signal 4 (SIGILL) ==155964== Illegal opcode at address 0x4014883 ==155964== at 0x4014883: getparameter (tool_getparam.c:2899) ==155964== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==155964== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==155964== by 0x4004208: main (tool_main.c:189) === End of file valgrind1404 test 1405...[--libcurl for FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1405 ../src/curl -q --output log/12/curl1405.out --include --trace-ascii log/12/trace1405 --trace-time ftp://127.0.0.1:33915/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/12/test1405.c > log/12/stdout1405 2> log/12/stderr1405 1405: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1405 ../src/curl -q --output log/12/curl1405.out --include --trace-ascii log/12/trace1405 --trace-time ftp://127.0.0.1:33915/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/12/test1405.c > log/12/stdout1405 2> log/12/stderr1405 === End of file commands.log === Start of file ftp_server.log 05:48:03.279002 ====> Client connect 05:48:03.279169 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:03.279476 < "USER anonymous" 05:48:03.279515 > "331 We are happy you popped in![CR][LF]" 05:48:03.279704 < "PASS ftp@example.com" 05:48:03.279733 > "230 Welcome you silly person[CR][LF]" 05:48:03.279891 < "PWD" 05:48:03.279923 > "257 "/" is current directory[CR][LF]" 05:48:03.280089 < "EPSV" 05:48:03.280115 ====> Passive DATA channel requested by client 05:48:03.280128 DATA sockfilt for passive data channel starting... 05:48:03.302245 DATA sockfilt for passive data channel started (pid 156089) 05:48:03.308973 DATA sockfilt for passive data channel listens on port 34351 05:48:03.309066 > "229 Entering Passive Mode (|||34351|)[CR][LF]" 05:48:03.309096 Client has been notified that DATA conn will be accepted on port 34351 05:48:03.309519 Client connects to port 34351 05:48:03.309556 ====> Client established passive DATA connection on port 34351 05:48:03.309679 < "TYPE I" 05:48:03.309728 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:03.309921 < "SIZE verifiedserver" 05:48:03.309973 > "213 17[CR][LF]" 05:48:03.310173 < "RETR verifiedserver" 05:48:03.310218 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:03.310360 =====> Closing passive DATA connection... 05:48:03.310386 Server disconnects passive DATA connection 05:48:03.310573 Server disconnected passive DATA connection 05:48:03.310603 DATA sockfilt for passive data channel quits (pid 156089) 05:48:03.310927 DATA sockfilt for passive data channel quit (pid 156089) 05:48:03.310958 =====> Closed passive DATA connection 05:48:03.310993 > "226 File transfer complete[CR][LF]" 05:48:03.355751 < "QUIT" 05:48:03.355813 > "221 bye bye baby[CR][LF]" 05:48:03.356906 MAIN sockfilt said DISC 05:48:03.356942 ====> Client disconnected 05:48:03.357014 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:03.740326 ====> Client connect 05:48:03.740637 Received DATA (on stdin) 05:48:03.740650 > 146 bytes data, server => client 05:48:03.740661 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:03.740671 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:03.740680 '220 \___|\___/|_| \_\_____|\r\n' 05:48:03.740787 < 16 bytes data, client => server 05:48:03.740801 'USER anonymous\r\n' 05:48:03.740974 Received DATA (on stdin) 05:48:03.740989 > 33 bytes data, server => client 05:48:03.741000 '331 We are happy you popped in!\r\n' 05:48:03.741057 < 22 bytes data, client => server 05:48:03.741072 'PASS ftp@example.com\r\n' 05:48:03.741184 Received DATA (on stdin) 05:48:03.741196 > 30 bytes data, server => client 05:48:03.741206 '230 Welcome you silly person\r\n' 05:48:03.741257 < 5 bytes data, client => server 05:48:03.741268 'PWD\r\n' 05:48:03.741373 Received DATA (on stdin) 05:48:03.741385 > 30 bytes data, server => client 05:48:03.741395 '257 "/" is current directory\r\n' 05:48:03.741456 < 6 bytes data, client => server 05:48:03.741467 'EPSV\r\n' 05:48:03.770567 Received DATA (on stdin) 05:48:03.770589 > 39 bytes data, server => client 05:48:03.770601 '229 Entering Passive Mode (|||34351|)\r\n' 05:48:03.770856 < 8 bytes data, client => server 05:48:03.770875 'TYPE I\r\n' 05:48:03.771190 Received DATA (on stdin) 05:48:03.771205 > 33 bytes data, server => client 05:48:03.771216 '200 I modify TYPE as you wanted\r\n' 05:48:03.771272 < 21 bytes data, client => server 05:48:03.771288 'SIZE verifiedserver\r\n' 05:48:03.771440 Received DATA (on stdin) 05:48:03.771455 > 8 bytes data, server => client 05:48:03.771466 '213 17\r\n' 05:48:03.771524 < 21 bytes data, client => server 05:48:03.771541 'RETR verifiedserver\r\n' 05:48:03.771846 Received DATA (on stdin) 05:48:03.771859 > 29 bytes data, server => client 05:48:03.771870 '150 Binary junk (17 bytes).\r\n' 05:48:03.772454 Received DATA (on stdin) 05:48:03.772469 > 28 bytes data, server => client 05:48:03.772480 '226 File transfer complete\r\n' 05:48:03.816996 < 6 bytes data, client => server 05:48:03.817028 'QUIT\r\n' 05:48:03.817272 Received DATA (on stdin) 05:48:03.817286 > 18 bytes data, server => client 05:48:03.817296 '221 bye bye baby\r\n' 05:48:03.818303 ====> Client disconnect 05:48:03.818474 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:03.751297 Running IPv4 version 05:48:03.751391 Listening on port 34351 05:48:03.751432 Wrote pid 156089 to log/12/server/ftp_sockdata.pid 05:48:03.760328 Received PING (on stdin) 05:48:03.766981 Received PORT (on stdin) 05:48:03.770908 ====> Client connect 05:48:03.771899 Received DATA (on stdin) 05:48:03.771915 > 17 bytes data, server => client 05:48:03.771926 'WE ROOLZ: 81072\r\n' 05:48:03.771953 Received DISC (on stdin) 05:48:03.771969 ====> Client forcibly disconnected 05:48:03.772069 Received QUIT (on stdin) 05:48:03.772082 quits 05:48:03.772163 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 1405 === End of file server.cmd === Start of file valgrind1405 ==156135== ==156135== Process terminating with default action of signal 4 (SIGILL) ==156135== Illegal opcode at address 0x4014883 ==156135== at 0x4014883: getparameter (tool_getparam.c:2899) ==156135== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156135== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156135== by 0x4004208: main (tool_main.c:189) === End of file valgrind1405 testCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1409 ../src/curl -q --output log/1/curl1409.out --include --trace-ascii log/1/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/1/stdout1409 2> log/1/stderr1409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1412 ../src/curl -q --output log/21/curl1412.out --include --trace-ascii log/21/trace1412 --trace-time http://127.0.0.1:42891/1412 -u testuser:testpass --anyauth http://127.0.0.1:42891/14120001 > log/21/stdout1412 2> log/21/stderr1412 1406...[--libcurl for SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1406 ../src/curl -q --output log/10/curl1406.out --include --trace-ascii log/10/trace1406 --trace-time smtp://127.0.0.1:40765/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/10/test1406.eml --libcurl log/10/test1406.c > log/10/stdout1406 2> log/10/stderr1406 1406: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1406 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1406 ../src/curl -q --output log/10/curl1406.out --include --trace-ascii log/10/trace1406 --trace-time smtp://127.0.0.1:40765/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/10/test1406.eml --libcurl log/10/test1406.c > log/10/stdout1406 2> log/10/stderr1406 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 1406 === End of file server.cmd === Start of file smtp_server.log 05:48:03.276006 ====> Client connect 05:48:03.276169 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:03.276554 < "EHLO verifiedserver" 05:48:03.276614 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:03.276838 < "HELP" 05:48:03.276878 > "214 WE ROOLZ: 110658[CR][LF]" 05:48:03.276899 return proof we are we 05:48:03.277171 < "QUIT" 05:48:03.277208 > "221 curl ESMTP server signing off[CR][LF]" 05:48:03.278337 MAIN sockfilt said DISC 05:48:03.278376 ====> Client disconnected 05:48:03.278452 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:03.737336 ====> Client connect 05:48:03.737645 Received DATA (on stdin) 05:48:03.737663 > 146 bytes data, server => client 05:48:03.737675 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:03.737686 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:03.737695 '220 \___|\___/|_| \_\_____|\r\n' 05:48:03.737791 < 21 bytes data, client => server 05:48:03.737808 'EHLO verifiedserver\r\n' 05:48:03.738078 Received DATA (on stdin) 05:48:03.738091 > 53 bytes data, server => client 05:48:03.738103 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:03.738170 < 6 bytes data, client => server 05:48:03.738186 'HELP\r\n' 05:48:03.738351 Received DATA (on stdin) 05:48:03.738363 > 22 bytes data, server => client 05:48:03.738374 '214 WE ROOLZ: 110658\r\n' 05:48:03.738511 < 6 bytes data, client => server 05:48:03.738529 'QUIT\r\n' 05:48:03.738665 Received DATA (on stdin) 05:48:03.738678 > 35 bytes data, server => client 05:48:03.738689 '221 curl ESMTP server signing off\r\n' 05:48:03.739734 ====> Client disconnect 05:48:03.739913 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test1406.eml From: different To: another body === End of file test1406.eml === Start of file valgrind1406 ==156103== ==156103== Process terminating with default action of signal 4 (SIGILL) ==156103== Illegal opcode at address 0x4014883 ==156103== at 0x4014883: getparameter (tool_getparam.c:2899) ==156103== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156103== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156103== by 0x4004208: main (tool_main.c:189) === End of file valgrind1406 test 1409...[Pass in string to -C] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1409 ../src/curl -q --output log/1/curl1409.out --include --trace-ascii log/1/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/1/stdout1409 2> log/1/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/1/ directory after test 1409 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1409 ../src/curl -q --output log/1/curl1409.out --include --trace-ascii log/1/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/1/stdout1409 2> log/1/stderr1409 === End of file commands.log === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==156195== ==156195== Process terminating with default action of signal 4 (SIGILL) ==156195== Illegal opcode at address 0x4014883 ==156195== at 0x4014883: getparameter (tool_getparam.c:2899) ==156195== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156195== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156195== by 0x4004208: main (tool_main.c:189) === End of file valgrind1409 test 1412...[HTTP GET with --anyauth with two URLs (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1412 ../src/curl -q --output log/21/curl1412.out --include --trace-ascii log/21/trace1412 --trace-time http://127.0.0.1:42891/1412 -u testuser:testpass --anyauth http://127.0.0.1:42891/14120001 > log/21/stdout1412 2> log/21/stderr1412 1412: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1412 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1412 ../src/curl -q --output log/21/curl1412.out --include --trace-ascii log/21/trace1412 --trace-time http://127.0.0.1:42891/1412 -u testuser:testpass --anyauth http://127.0.0.1:42891/14120001 > log/21/stdout1412 2> log/21/stderr1412 === End of file commands.log === Start of file http_server.log 05:48:03.243720 ====> Client connect 05:48:03.243766 accept_connection 3 returned 4 05:48:03.243787 accept_connection 3 returned 0 05:48:03.243804 Read 93 bytes 05:48:03.243814 Process 93 bytes request 05:48:03.243828 Got request: GET /verifiedserver HTTP/1.1 05:48:03.243837 Are-we-friendly question received 05:48:03.243865 Wrote request (93 bytes) input to log/21/server.input 05:48:03.243882 Identifying ourselves as friends 05:48:03.243968 Response sent (56 bytes) and written to log/21/server.response 05:48:03.243980 special request received, no persistency 05:48:03.243989 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 52508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1412 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1412 ==156506== ==156506== Process terminating with default action of signal 4 (SIGILL) ==156506== Illegal opcode at address 0x4014883 ==156506== at 0x4014883: getparameter (tool_getparam.c:2899) ==156506== by 0x4004208:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1407 ../src/curl -q --output log/20/curl1407.out --include --trace-ascii log/20/trace1407 --trace-time pop3://127.0.0.1:37081/1407 -l -u user:secret --libcurl log/20/test1407.c > log/20/stdout1407 2> log/20/stderr1407 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1419 ../src/curl -q --output log/8/curl1419.out --include --trace-ascii log/8/trace1419 --trace-time http://127.0.0.1:45623/1419 --anyauth http://127.0.0.1:45623/14190003 > log/8/stdout1419 2> log/8/stderr1419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1415 ../src/curl -q --output log/4/curl1415.out --include --trace-ascii log/4/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/4/jar1415.txt -x 127.0.0.1:40253 > log/4/stdout1415 2> log/4/stderr1415 UnknownInlinedFun (tool_getparam.c:3082) ==156506== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156506== by 0x4004208: main (tool_main.c:189) === End of file valgrind1412 test 1407...[--libcurl for POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1407 ../src/curl -q --output log/20/curl1407.out --include --trace-ascii log/20/trace1407 --trace-time pop3://127.0.0.1:37081/1407 -l -u user:secret --libcurl log/20/test1407.c > log/20/stdout1407 2> log/20/stderr1407 1407: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1407 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1407 ../src/curl -q --output log/20/curl1407.out --include --trace-ascii log/20/trace1407 --trace-time pop3://127.0.0.1:37081/1407 -l -u user:secret --libcurl log/20/test1407.c > log/20/stdout1407 2> log/20/stderr1407 === End of file commands.log === Start of file pop3_server.log 05:48:03.432970 ====> Client connect 05:48:03.433225 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 05:48:03.433609 < "CAPA" 05:48:03.433649 > "-ERR Unrecognized command[CR][LF]" 05:48:03.433912 < "RETR verifiedserver" 05:48:03.433942 return proof we are we 05:48:03.433963 > "+OK Mail transfer starts[CR][LF]" 05:48:03.433985 > "WE ROOLZ: 123076[CR][LF]" 05:48:03.434002 > ".[CR][LF]" 05:48:03.479258 < "QUIT" 05:48:03.479325 > "+OK curl POP3 server signing off[CR][LF]" 05:48:03.480793 MAIN sockfilt said DISC 05:48:03.480829 ====> Client disconnected 05:48:03.480934 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 05:48:02.892460 ====> Client connect 05:48:02.894706 Received DATA (on stdin) 05:48:02.894724 > 164 bytes data, server => client 05:48:02.894736 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:02.894745 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:02.894754 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 05:48:02.894895 < 6 bytes data, client => server 05:48:02.894907 'CAPA\r\n' 05:48:02.895155 Received DATA (on stdin) 05:48:02.895169 > 27 bytes data, server => client 05:48:02.895181 '-ERR Unrecognized command\r\n' 05:48:02.895266 < 21 bytes data, client => server 05:48:02.895499 'RETR verifiedserver\r\n' 05:48:02.895513 Received DATA (on stdin) 05:48:02.895525 > 26 bytes data, server => client 05:48:02.895535 '+OK Mail transfer starts\r\n' 05:48:02.895556 Received DATA (on stdin) 05:48:02.895566 > 18 bytes data, server => client 05:48:02.895576 'WE ROOLZ: 123076\r\n' 05:48:02.895588 Received DATA (on stdin) 05:48:02.895597 > 3 bytes data, server => client 05:48:02.895606 '.\r\n' 05:48:02.940484 < 6 bytes data, client => server 05:48:02.940525 'QUIT\r\n' 05:48:02.940782 Received DATA (on stdin) 05:48:02.940795 > 34 bytes data, server => client 05:48:02.940806 '+OK curl POP3 server signing off\r\n' 05:48:02.942187 ====> Client disconnect 05:48:02.942399 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK 1407 100\r\n. Testnum 1407 === End of file server.cmd === Start of file valgrind1407 ==156200== ==156200== Process terminating with default action of signal 4 (SIGILL) ==156200== Illegal opcode at address 0x4014883 ==156200== at 0x4014883: getparameter (tool_getparam.c:2899) ==156200== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156200== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156200== by 0x4004208: main (tool_main.c:189) === End of file valgrind1407 test 1419...[HTTP with --anyauth (but no auth!) and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1419 ../src/curl -q --output log/8/curl1419.out --include --trace-ascii log/8/trace1419 --trace-time http://127.0.0.1:45623/1419 --anyauth http://127.0.0.1:45623/14190003 > log/8/stdout1419 2> log/8/stderr1419 1419: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1419 ../src/curl -q --output log/8/curl1419.out --include --trace-ascii log/8/trace1419 --trace-time http://127.0.0.1:45623/1419 --anyauth http://127.0.0.1:45623/14190003 > log/8/stdout1419 2> log/8/stderr1419 === End of file commands.log === Start of file http_server.log 05:48:03.680564 ====> Client connect 05:48:03.680599 accept_connection 3 returned 4 05:48:03.680615 accept_connection 3 returned 0 05:48:03.680631 Read 93 bytes 05:48:03.680641 Process 93 bytes request 05:48:03.680654 Got request: GET /verifiedserver HTTP/1.1 05:48:03.680663 Are-we-friendly question received 05:48:03.680690 Wrote request (93 bytes) input to log/8/server.input 05:48:03.680708 Identifying ourselves as friends 05:48:03.680770 Response sent (56 bytes) and written to log/8/server.response 05:48:03.680781 special request received, no persistency 05:48:03.680791 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 52350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1419 ==156925== ==156925== Process terminating with default action of signal 4 (SIGILL) ==156925== Illegal opcode at address 0x4014883 ==156925== at 0x4014883: getparameter (tool_getparam.c:2899) ==156925== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156925== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156925== by 0x4004208: main (tool_main.c:189) === End of file valgrind1419 setenv TZ = GMT test 1415...[Delete expired cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1415 ../src/curl -q --output log/4/curl1415.out --include --trace-ascii log/4/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/4/jar1415.txt -x 127.0.0.1:40253 > log/4/stdout1415 2> log/4/stderr1415 1415: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1415 ../src/curl -q --output log/4/curl1415.out --include --trace-ascii log/4/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/4/jar1415.txt -x 127.0.0.1:40253 > log/4/stdout1415 2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1411 ../src/curl -q --output log/18/curl1411.out --include --trace-ascii log/18/trace1411 --trace-time http://127.0.0.1:39913/1411 -T log/18/empty1411 > log/18/stdout1411 2> log/18/stderr1411 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1418 ../src/curl -q --output log/23/curl1418.out --include --trace-ascii log/23/trace1418 --trace-time http://127.0.0.1:33217/1418 -u testuser:testpass --anyauth http://127.0.0.1:33217/14180003 > log/23/stdout1418 2> log/23/stderr1418 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1410 ../src/curl -q --output log/22/curl1410.out --include --trace-ascii log/22/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/22/stdout1410 2> log/22/stderr1410 > log/4/stderr1415 === End of file commands.log === Start of file http_server.log 05:48:03.406228 ====> Client connect 05:48:03.406265 accept_connection 3 returned 4 05:48:03.406282 accept_connection 3 returned 0 05:48:03.406298 Read 93 bytes 05:48:03.406308 Process 93 bytes request 05:48:03.406323 Got request: GET /verifiedserver HTTP/1.1 05:48:03.406332 Are-we-friendly question received 05:48:03.406390 Wrote request (93 bytes) input to log/4/server.input 05:48:03.406407 Identifying ourselves as friends 05:48:03.406465 Response sent (56 bytes) and written to log/4/server.response 05:48:03.406476 special request received, no persistency 05:48:03.406485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 46016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1415 ==156573== ==156573== Process terminating with default action of signal 4 (SIGILL) ==156573== Illegal opcode at address 0x4014883 ==156573== at 0x4014883: getparameter (tool_getparam.c:2899) ==156573== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156573== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156573== by 0x4004208: main (tool_main.c:189) === End of file valgrind1415 test 1411...[HTTP with zero size file PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1411 ../src/curl -q --output log/18/curl1411.out --include --trace-ascii log/18/trace1411 --trace-time http://127.0.0.1:39913/1411 -T log/18/empty1411 > log/18/stdout1411 2> log/18/stderr1411 1411: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1411 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1411 ../src/curl -q --output log/18/curl1411.out --include --trace-ascii log/18/trace1411 --trace-time http://127.0.0.1:39913/1411 -T log/18/empty1411 > log/18/stdout1411 2> log/18/stderr1411 === End of file commands.log === Start of file http_server.log 05:48:03.196645 ====> Client connect 05:48:03.196686 accept_connection 3 returned 4 05:48:03.196706 accept_connection 3 returned 0 05:48:03.196722 Read 93 bytes 05:48:03.196732 Process 93 bytes request 05:48:03.196747 Got request: GET /verifiedserver HTTP/1.1 05:48:03.196757 Are-we-friendly question received 05:48:03.196787 Wrote request (93 bytes) input to log/18/server.input 05:48:03.196807 Identifying ourselves as friends 05:48:03.196879 Response sent (56 bytes) and written to log/18/server.response 05:48:03.196891 special request received, no persistency 05:48:03.196900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1411 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1411 ==156413== ==156413== Process terminating with default action of signal 4 (SIGILL) ==156413== Illegal opcode at address 0x4014883 ==156413== at 0x4014883: getparameter (tool_getparam.c:2899) ==156413== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156413== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156413== by 0x4004208: main (tool_main.c:189) === End of file valgrind1411 test 1418...[HTTP with --anyauth and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1418 ../src/curl -q --output log/23/curl1418.out --include --trace-ascii log/23/trace1418 --trace-time http://127.0.0.1:33217/1418 -u testuser:testpass --anyauth http://127.0.0.1:33217/14180003 > log/23/stdout1418 2> log/23/stderr1418 1418: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1418 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1418 ../src/curl -q --output log/23/curl1418.out --include --trace-ascii log/23/trace1418 --trace-time http://127.0.0.1:33217/1418 -u testuser:testpass --anyauth http://127.0.0.1:33217/14180003 > log/23/stdout1418 2> log/23/stderr1418 === End of file commands.log === Start of file http_server.log 05:48:04.577045 ====> Client connect 05:48:04.577087 accept_connection 3 returned 4 05:48:04.577107 accept_connection 3 returned 0 05:48:04.577123 Read 93 bytes 05:48:04.577132 Process 93 bytes request 05:48:04.577147 Got request: GET /verifiedserver HTTP/1.1 05:48:04.577156 Are-we-friendly question received 05:48:04.577185 Wrote request (93 bytes) input to log/23/server.input 05:48:04.577203 Identifying ourselves as friends 05:48:04.577285 Response sent (56 bytes) and written to log/23/server.response 05:48:04.577298 special request received, no persistency 05:48:04.577306 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 49428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1418 ==156798== ==156798== Process terminating with default action of signal 4 (SIGILL) ==156798== Illegal opcode at address 0x4014883 ==156798== at 0x4014883: getparameter (tool_getparam.c:2899) ==156798== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156798== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156798== by 0x4004208: main (tool_main.c:189) === End of file valgrind1418 test 1410...[Pass in negative number to --max-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1410 ../src/curl -q --output log/22/curl1410.out --include --trace-ascii log/22/trace1410 --traCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:45359/1416 > log/13/stdout1416 2> log/13/stderr1416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1413 ../src/curl -q --output log/9/curl1413.out --include --trace-ascii log/9/trace1413 --trace-time http://127.0.0.1:33885/this/1413 -L > log/9/stdout1413 2> log/9/stderr1413 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1414 ../src/curl -q --output log/15/curl1414.out --include --trace-ascii log/15/trace1414 --trace-time ftp://127.0.0.1:35349/1414 -P - > log/15/stdout1414 2> log/15/stderr1414 ce-time http://127.0.0.1:47/1410 --max-time -4 > log/22/stdout1410 2> log/22/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/22/ directory after test 1410 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1410 ../src/curl -q --output log/22/curl1410.out --include --trace-ascii log/22/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/22/stdout1410 2> log/22/stderr1410 === End of file commands.log === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==156202== ==156202== Process terminating with default action of signal 4 (SIGILL) ==156202== Illegal opcode at address 0x4014883 ==156202== at 0x4014883: getparameter (tool_getparam.c:2899) ==156202== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156202== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156202== by 0x4004208: main (tool_main.c:189) === End of file valgrind1410 test 1416...[HTTP GET with chunked Transfer-Encoding overflowed chunked size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:45359/1416 > log/13/stdout1416 2> log/13/stderr1416 1416: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:45359/1416 > log/13/stdout1416 2> log/13/stderr1416 === End of file commands.log === Start of file http_server.log 05:48:04.388958 ====> Client connect 05:48:04.388995 accept_connection 3 returned 4 05:48:04.389012 accept_connection 3 returned 0 05:48:04.389027 Read 93 bytes 05:48:04.389037 Process 93 bytes request 05:48:04.389052 Got request: GET /verifiedserver HTTP/1.1 05:48:04.389061 Are-we-friendly question received 05:48:04.389101 Wrote request (93 bytes) input to log/13/server.input 05:48:04.389122 Identifying ourselves as friends 05:48:04.389188 Response sent (56 bytes) and written to log/13/server.response 05:48:04.389200 special request received, no persistency 05:48:04.389209 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 50014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1416 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1416 ==156547== ==156547== Process terminating with default action of signal 4 (SIGILL) ==156547== Illegal opcode at address 0x4014883 ==156547== at 0x4014883: getparameter (tool_getparam.c:2899) ==156547== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156547== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156547== by 0x4004208: main (tool_main.c:189) === End of file valgrind1416 test 1413...[HTTP redirect with fragment in new URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1413 ../src/curl -q --output log/9/curl1413.out --include --trace-ascii log/9/trace1413 --trace-time http://127.0.0.1:33885/this/1413 -L > log/9/stdout1413 2> log/9/stderr1413 1413: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1413 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1413 ../src/curl -q --output log/9/curl1413.out --include --trace-ascii log/9/trace1413 --trace-time http://127.0.0.1:33885/this/1413 -L > log/9/stdout1413 2> log/9/stderr1413 === End of file commands.log === Start of file http_server.log 05:48:03.422126 ====> Client connect 05:48:03.422159 accept_connection 3 returned 4 05:48:03.422175 accept_connection 3 returned 0 05:48:03.422190 Read 93 bytes 05:48:03.422200 Process 93 bytes request 05:48:03.422213 Got request: GET /verifiedserver HTTP/1.1 05:48:03.422222 Are-we-friendly question received 05:48:03.422246 Wrote request (93 bytes) input to log/9/server.input 05:48:03.422263 Identifying ourselves as friends 05:48:03.422322 Response sent (56 bytes) and written to log/9/server.response 05:48:03.422333 special request received, no persistency 05:48:03.422342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 48764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1413 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1413 ==156575== ==156575== Process terminating with default action of signal 4 (SIGILL) ==156575== Illegal opcode at address 0x4014883 ==156575== at 0x4014883: getparameter (tool_getparam.c:2899) ==156575== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156575== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156575== by 0x4004208: main (tool_main.c:189) === End of file valgrind1413 test 1414...[FTP PORT without SIZE or EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1414 ../src/curl -q --output log/15/curl1414.out --include --trace-ascii log/15/trace1414 --trace-time ftp://127.0.0.1:35349/1414 -P - > log/15/stdout1414 2> log/15/stderr1414 1414: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1414 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1414 ../src/curl -q --output log/15/curl1414.out --include --trace-ascii log/15/trace1414 --trace-time ftp://127.0.0.1:35349/1414 -P - > log/15/stdout1414 2> log/15/stderr1414 === End of file commands.log === Start of file ftp_server.log 05:48:03.902173 ====> Client connect 05:48:03.902532 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1422 ../src/curl -q --trace-ascii log/6/trace1422 --trace-time http://127.0.0.1:33035/1422 -J -O file:///startdir/src/build-curl/tests/log/6/name1422 --output-dir log/6 > log/6/stdout1422 2> log/6/stderr1422 | | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:03.907558 < "USER anonymous" 05:48:03.907618 > "331 We are happy you popped in![CR][LF]" 05:48:03.907850 < "PASS ftp@example.com" 05:48:03.907885 > "230 Welcome you silly person[CR][LF]" 05:48:03.908071 < "PWD" 05:48:03.908112 > "257 "/" is current directory[CR][LF]" 05:48:03.908315 < "EPSV" 05:48:03.908344 ====> Passive DATA channel requested by client 05:48:03.908360 DATA sockfilt for passive data channel starting... 05:48:03.913374 DATA sockfilt for passive data channel started (pid 156495) 05:48:03.913524 DATA sockfilt for passive data channel listens on port 37265 05:48:03.913584 > "229 Entering Passive Mode (|||37265|)[CR][LF]" 05:48:03.913610 Client has been notified that DATA conn will be accepted on port 37265 05:48:03.913936 Client connects to port 37265 05:48:03.913971 ====> Client established passive DATA connection on port 37265 05:48:03.914075 < "TYPE I" 05:48:03.918967 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:03.919273 < "SIZE verifiedserver" 05:48:03.919330 > "213 17[CR][LF]" 05:48:03.919504 < "RETR verifiedserver" 05:48:03.919543 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:03.919642 =====> Closing passive DATA connection... 05:48:03.919659 Server disconnects passive DATA connection 05:48:03.919932 Server disconnected passive DATA connection 05:48:03.919962 DATA sockfilt for passive data channel quits (pid 156495) 05:48:03.920249 DATA sockfilt for passive data channel quit (pid 156495) 05:48:03.920277 =====> Closed passive DATA connection 05:48:03.920306 > "226 File transfer complete[CR][LF]" 05:48:03.965830 < "QUIT" 05:48:03.965895 > "221 bye bye baby[CR][LF]" 05:48:03.967189 MAIN sockfilt said DISC 05:48:03.967225 ====> Client disconnected 05:48:03.967298 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:04.363478 ====> Client connect 05:48:04.364532 Received DATA (on stdin) 05:48:04.364549 > 146 bytes data, server => client 05:48:04.364560 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:04.364569 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:04.364577 '220 \___|\___/|_| \_\_____|\r\n' 05:48:04.368539 < 16 bytes data, client => server 05:48:04.368565 'USER anonymous\r\n' 05:48:04.369084 Received DATA (on stdin) 05:48:04.369099 > 33 bytes data, server => client 05:48:04.369111 '331 We are happy you popped in!\r\n' 05:48:04.369195 < 22 bytes data, client => server 05:48:04.369212 'PASS ftp@example.com\r\n' 05:48:04.369343 Received DATA (on stdin) 05:48:04.369356 > 30 bytes data, server => client 05:48:04.369367 '230 Welcome you silly person\r\n' 05:48:04.369425 < 5 bytes data, client => server 05:48:04.369440 'PWD\r\n' 05:48:04.369569 Received DATA (on stdin) 05:48:04.369582 > 30 bytes data, server => client 05:48:04.369593 '257 "/" is current directory\r\n' 05:48:04.369667 < 6 bytes data, client => server 05:48:04.369682 'EPSV\r\n' 05:48:04.375078 Received DATA (on stdin) 05:48:04.375097 > 39 bytes data, server => client 05:48:04.375109 '229 Entering Passive Mode (|||37265|)\r\n' 05:48:04.375303 < 8 bytes data, client => server 05:48:04.375320 'TYPE I\r\n' 05:48:04.380314 Received DATA (on stdin) 05:48:04.380342 > 33 bytes data, server => client 05:48:04.380471 '200 I modify TYPE as you wanted\r\n' 05:48:04.380582 < 21 bytes data, client => server 05:48:04.380596 'SIZE verifiedserver\r\n' 05:48:04.380793 Received DATA (on stdin) 05:48:04.380806 > 8 bytes data, server => client 05:48:04.380816 '213 17\r\n' 05:48:04.380867 < 21 bytes data, client => server 05:48:04.380877 'RETR verifiedserver\r\n' 05:48:04.381113 Received DATA (on stdin) 05:48:04.381125 > 29 bytes data, server => client 05:48:04.381134 '150 Binary junk (17 bytes).\r\n' 05:48:04.381762 Received DATA (on stdin) 05:48:04.381775 > 28 bytes data, server => client 05:48:04.381784 '226 File transfer complete\r\n' 05:48:04.427103 < 6 bytes data, client => server 05:48:04.427137 'QUIT\r\n' 05:48:04.427360 Received DATA (on stdin) 05:48:04.427375 > 18 bytes data, server => client 05:48:04.427385 '221 bye bye baby\r\n' 05:48:04.428584 ====> Client disconnect 05:48:04.428750 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:03.374446 Running IPv4 version 05:48:03.374538 Listening on port 37265 05:48:03.374579 Wrote pid 156495 to log/15/server/ftp_sockdata.pid 05:48:03.374756 Received PING (on stdin) 05:48:03.374870 Received PORT (on stdin) 05:48:03.375340 ====> Client connect 05:48:03.381169 Received DATA (on stdin) 05:48:03.381188 > 17 bytes data, server => client 05:48:03.381198 'WE ROOLZ: 81070\r\n' 05:48:03.381231 Received DISC (on stdin) 05:48:03.381245 ====> Client forcibly disconnected 05:48:03.381424 Received QUIT (on stdin) 05:48:03.381437 quits 05:48:03.381514 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 502 no such command REPLY EPRT 502 no such command Testnum 1414 === End of file server.cmd === Start of file valgrind1414 ==156581== ==156581== Process terminating with default action of signal 4 (SIGILL) ==156581== Illegal opcode at address 0x4014883 ==156581== at 0x4014883: getparameter (tool_getparam.c:2899) ==156581== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156581== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156581== by 0x4004208: main (tool_main.c:189) === End of file valgrind1414 test 1422...[HTTP GET with -O -J and Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1422 ../src/curl -q --trace-ascii log/6/trace1422 --trace-time http://127.0.0.1:33035/1422 -J -O file:///startdir/src/build-curl/tests/log/6/name1422 --output-dir log/6 > log/6/stdout1422 2> log/6/stderr1422 1422: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1422 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1422 ../src/curl -q --trace-ascii log/6/trace1422 --trace-time http://127.0.0.1:33035/1422 -J -O file:///startdir/src/build-curl/tests/log/6/name1422 --output-dir log/6 > log/6/stdout1422 2> log/6/stderr1422 === End of file commands.log === Start of file http_server.log 05:48:03.742688 ====> Client connect 05:48:03.742718 accept_connection 3 returned 4 05:48:03.742734 accept_connection 3 returned 0 05:48:03.742749 Read 93 bytes 05:48:03.742759 Process 93 bytes request 05:48:03.742773 Got request: GET /verifiedserver HTTP/1.1 05:48:03.742782 Are-we-friendly question received 05:48:03.742807 Wrote request (93 bytes) input to log/6/server.input 05:48:03.742823 Identifying ourselves as friends 05:48:03.742878 Response sent (56 bytes) and written to log/6/server.response 05:48:03.742888 special request received, no persistency 05:48:03.742897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 49842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1422 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind1422 ==157013== ==157013== Process terminating with default CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1417 ../src/curl -q --output log/14/curl1417.out --include --trace-ascii log/14/trace1417 --trace-time http://127.0.0.1:35549/1417 -D log/14/heads1417 > log/14/stdout1417 2> log/14/stderr1417 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1421 ../src/curl -q --include --trace-ascii log/11/trace1421 --trace-time --proxy http://127.0.0.1:34551 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/11/stdout1421 2> log/11/stderr1421 action of signal 4 (SIGILL) ==157013== Illegal opcode at address 0x4014883 ==157013== at 0x4014883: getparameter (tool_getparam.c:2899) ==157013== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157013== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157013== by 0x4004208: main (tool_main.c:189) === End of file valgrind1422 test 1417...[HTTP GET with chunked encoding and chunked trailer without CRs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1417 ../src/curl -q --output log/14/curl1417.out --include --trace-ascii log/14/trace1417 --trace-time http://127.0.0.1:35549/1417 -D log/14/heads1417 > log/14/stdout1417 2> log/14/stderr1417 1417: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1417 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1417 ../src/curl -q --output log/14/curl1417.out --include --trace-ascii log/14/trace1417 --trace-time http://127.0.0.1:35549/1417 -D log/14/heads1417 > log/14/stdout1417 2> log/14/stderr1417 === End of file commands.log === Start of file http_server.log 05:48:04.577321 ====> Client connect 05:48:04.577359 accept_connection 3 returned 4 05:48:04.577378 accept_connection 3 returned 0 05:48:04.577395 Read 93 bytes 05:48:04.577406 Process 93 bytes request 05:48:04.577420 Got request: GET /verifiedserver HTTP/1.1 05:48:04.577430 Are-we-friendly question received 05:48:04.577460 Wrote request (93 bytes) input to log/14/server.input 05:48:04.577478 Identifying ourselves as friends 05:48:04.577541 Response sent (56 bytes) and written to log/14/server.response 05:48:04.577552 special request received, no persistency 05:48:04.577561 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 34146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1417 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1417 ==156791== ==156791== Process terminating with default action of signal 4 (SIGILL) ==156791== Illegal opcode at address 0x4014883 ==156791== at 0x4014883: getparameter (tool_getparam.c:2899) ==156791== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156791== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156791== by 0x4004208: main (tool_main.c:189) === End of file valgrind1417 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1408 ../src/curl -q --output log/24/curl1408.out --include --trace-ascii log/24/trace1408 --trace-time -c log/24/jar1408 -g http://[::1]:37785/path/14080001 http://[::1]:37785/path/14080002 > log/24/stdout1408 2> log/24/stderr1408 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1420 ../src/curl -q --output log/7/curl1420.out --include --trace-ascii log/7/trace1420 --trace-time 'imap://127.0.0.1:43315/1420/;MAILINDEX=1' -u user:secret --libcurl log/7/test1420.c > log/7/stdout1420 2> log/7/stderr1420 test 1421...[Reusing HTTP proxy connection for two different hostnames] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1421 ../src/curl -q --include --trace-ascii log/11/trace1421 --trace-time --proxy http://127.0.0.1:34551 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/11/stdout1421 2> log/11/stderr1421 1421: stdout FAILED: --- log/11/check-expected 2026-03-14 05:48:06.751282646 +0000 +++ log/11/check-generated 2026-03-14 05:48:06.751282646 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/11/ directory after test 1421 === Start of file check-expected HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1421 ../src/curl -q --include --trace-ascii log/11/trace1421 --trace-time --proxy http://127.0.0.1:34551 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/11/stdout1421 2> log/11/stderr1421 === End of file commands.log === Start of file http_server.log 05:48:04.701209 ====> Client connect 05:48:04.701243 accept_connection 3 returned 4 05:48:04.701259 accept_connection 3 returned 0 05:48:04.701275 Read 93 bytes 05:48:04.701285 Process 93 bytes request 05:48:04.701299 Got request: GET /verifiedserver HTTP/1.1 05:48:04.701309 Are-we-friendly question received 05:48:04.701333 Wrote request (93 bytes) input to log/11/server.input 05:48:04.701350 Identifying ourselves as friends 05:48:04.701407 Response sent (56 bytes) and written to log/11/server.response 05:48:04.701417 special request received, no persistency 05:48:04.701426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 47020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1421 ==156969== ==156969== Process terminating with default action of signal 4 (SIGILL) ==156969== Illegal opcode at address 0x4014883 ==156969== at 0x4014883: getparameter (tool_getparam.c:2899) ==156969== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==156969== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==156969== by 0x4004208: main (tool_main.c:189) === End of file valgrind1421 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_ipv6_server.pid" --logfile "log/24/http_ipv6_server.log" --logdir "log/24" --portfile log/24/server/http_ipv6_server.port --config log/24/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 156176 port 37785 * pid http-ipv6 => 156176 156176 test 1408...[HTTP receive cookies over IPV6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1408 ../src/curl -q --output log/24/curl1408.out --include --trace-ascii log/24/trace1408 --trace-time -c log/24/jar1408 -g http://[::1]:37785/path/14080001 http://[::1]:37785/path/14080002 > log/24/stdout1408 2> log/24/stderr1408 1408: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1408 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1408 ../src/curl -q --output log/24/curl1408.out --include --trace-ascii log/24/trace1408 --trace-time -c log/24/jar1408 -g http://[::1]:37785/path/14080001 http://[::1]:37785/path/14080002 > log/24/stdout1408 2> log/24/stderr1408 === End of file commands.log === Start of file http_ipv6_server.log 05:48:03.974182 Running HTTP IPv6 version on port 37785 05:48:03.974286 Wrote pid 156176 to log/24/server/http_ipv6_server.pid 05:48:03.974363 Wrote port 37785 to log/24/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1408 === End of file server.cmd === Start of file valgrind1408 ==157148== ==157148== Process terminating with default action of signal 4 (SIGILL) ==157148== Illegal opcode at address 0x4014883 ==157148== at 0x4014883: getparameter (tool_getparam.c:2899) ==157148== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157148== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157148== by 0x4004208: main (tool_main.c:189) === End of file valgrind1408 test 1420...[--libcurl for IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1420 ../src/curl -q --output log/7/curl1420.out --include --trace-ascii log/7/trace1420 --trace-time 'imap://127.0.0.1:43315/1420/;MAILINDEX=1' -u user:secret --libcurl log/7/test1420.c > log/7/stdout1420 2> log/7/stderr1420 1420: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1420 ../src/curl -q --output log/7/curl1420.out --include --trace-ascii log/7/trace1420 --trace-time 'imap://127.0.0.1:43315/1420/;MAILINDEX=1' -u user:secret --libcurl log/7/test1420.c > log/7/stdout1420 2> log/7/stderr1420 === End of file commands.log === Start of file imap_server.log 05:48:04.285572 ====> Client connect 05:48:04.285775 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:04.289650 < "A001 CAPABILITY" 05:48:04.289705 > "A001 BAD Command[CR][LF]" 05:48:04.289915 < "A002 LIST "verifiedserver" *" 05:48:04.289948 LIST_imap got "verifiedserver" * 05:48:04.289978 > "* LIST () "/" "WE ROOLZ: 120283"[CR][LF]" 05:48:04.289997 > "A002 OK LIST Completed[CR][LF]" 05:48:04.290012 return proof we are we 05:48:04.332934 < "A003 LOGOUT" 05:48:04.332990 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:04.333010 > "A003 OK LOGOUT completed[CR][LF]" 05:48:04.334281 MAIN sockfilt said DISC 05:48:04.334314 ====> Client disconnected 05:48:04.334394 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:03.744685 ====> Client connect 05:48:03.750725 Received DATA (on stdin) 05:48:03.750763 > 164 bytes data, server => client 05:48:03.750776 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:03.750787 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1429 ../src/curl -q --include --trace-ascii log/5/trace1429 --trace-time http://127.0.0.1:35621/1429 --write-out '%{response_code}' > log/5/stdout1429 2> log/5/stderr1429 n \___|\___/|_|' 05:48:03.750797 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:03.750902 < 17 bytes data, client => server 05:48:03.750916 'A001 CAPABILITY\r\n' 05:48:03.751164 Received DATA (on stdin) 05:48:03.751177 > 18 bytes data, server => client 05:48:03.751188 'A001 BAD Command\r\n' 05:48:03.751252 < 30 bytes data, client => server 05:48:03.751265 'A002 LIST "verifiedserver" *\r\n' 05:48:03.751465 Received DATA (on stdin) 05:48:03.751477 > 34 bytes data, server => client 05:48:03.751488 '* LIST () "/" "WE ROOLZ: 120283"\r\n' 05:48:03.751509 Received DATA (on stdin) 05:48:03.751519 > 24 bytes data, server => client 05:48:03.751529 'A002 OK LIST Completed\r\n' 05:48:03.794178 < 13 bytes data, client => server 05:48:03.794214 'A003 LOGOUT\r\n' 05:48:03.794463 Received DATA (on stdin) 05:48:03.794475 > 36 bytes data, server => client 05:48:03.794485 '* BYE curl IMAP server signing off\r\n' 05:48:03.794507 Received DATA (on stdin) 05:48:03.794517 > 26 bytes data, server => client 05:48:03.794526 'A003 OK LOGOUT completed\r\n' 05:48:03.795679 ====> Client disconnect 05:48:03.795851 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1420 === End of file server.cmd === Start of file valgrind1420 ==157058== ==157058== Process terminating with default action of signal 4 (SIGILL) ==157058== Illegal opcode at address 0x4014883 ==157058== at 0x4014883: getparameter (tool_getparam.c:2899) ==157058== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157058== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157058== by 0x4004208: main (tool_main.c:189) === End of file valgrind1420 env: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1427 ../src/curl -q --output log/3/curl1427.out --include --trace-ascii log/3/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/3/stdout1427 2> log/3/stderr1427 env: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1424 ../src/curl -q --trace-ascii log/19/trace1424 --trace-time http://127.0.0.1:35701/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1423 ../src/curl -q --trace-ascii log/16/trace1423 --trace-time http://127.0.0.1:44673/1423 -o log/16/outfile1423 file:///startdir/src/build-curl/tests/log/16/outfile1423 > log/16/stdout1423 2> log/16/stderr1423 test 1429...[HTTP GET with 999 response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1429 ../src/curl -q --include --trace-ascii log/5/trace1429 --trace-time http://127.0.0.1:35621/1429 --write-out '%{response_code}' > log/5/stdout1429 2> log/5/stderr1429 1429: stdout FAILED: --- log/5/check-expected 2026-03-14 05:48:07.374615979 +0000 +++ log/5/check-generated 2026-03-14 05:48:07.374615979 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 999 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] -999 == Contents of files in the log/5/ directory after test 1429 === Start of file check-expected HTTP/1.1 999 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] 999 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1429 ../src/curl -q --include --trace-ascii log/5/trace1429 --trace-time http://127.0.0.1:35621/1429 --write-out '%{response_code}' > log/5/stdout1429 2> log/5/stderr1429 === End of file commands.log === Start of file http_server.log 05:48:05.910527 ====> Client connect 05:48:05.910564 accept_connection 3 returned 4 05:48:05.910582 accept_connection 3 returned 0 05:48:05.910597 Read 93 bytes 05:48:05.910607 Process 93 bytes request 05:48:05.910622 Got request: GET /verifiedserver HTTP/1.1 05:48:05.910632 Are-we-friendly question received 05:48:05.910658 Wrote request (93 bytes) input to log/5/server.input 05:48:05.910676 Identifying ourselves as friends 05:48:05.910740 Response sent (56 bytes) and written to log/5/server.response 05:48:05.910751 special request received, no persistency 05:48:05.910760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 44804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1429 ==157498== ==157498== Process terminating with default action of signal 4 (SIGILL) ==157498== Illegal opcode at address 0x4014883 ==157498== at 0x4014883: getparameter (tool_getparam.c:2899) ==157498== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157498== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157498== by 0x4004208: main (tool_main.c:189) === End of file valgrind1429 test 1427...[too large -m timeout value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1427 ../src/curl -q --output log/3/curl1427.out --include --trace-ascii log/3/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/3/stdout1427 2> log/3/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/3/ directory after test 1427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1427 ../src/curl -q --output log/3/curl1427.out --include --trace-ascii log/3/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/3/stdout1427 2> log/3/stderr1427 === End of file commands.log === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==157342== ==157342== Process terminating with default action of signal 4 (SIGILL) ==157342== Illegal opcode at address 0x4014883 ==157342== at 0x4014883: getparameter (tool_getparam.c:2899) ==157342== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157342== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157342== by 0x4004208: main (tool_main.c:189) === End of file valgrind1427 test 1424...[HTTP GET -o fname without Content-Disposition (unmet time condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1424 ../src/curl -q --trace-ascii log/19/trace1424 --trace-time http://127.0.0.1:35701/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 1424: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1424 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1424 ../src/curl -q --trace-ascii log/19/trace1424 --trace-time http://127.0.0.1:35701/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 === End of file commands.log === Start of file http_server.log 05:48:04.543100 ====> Client connect 05:48:04.543137 accept_connection 3 returned 4 05:48:04.543154 accept_connection 3 returned 0 05:48:04.543169 Read 93 bytes 05:48:04.543178 Process 93 bytes request 05:48:04.543191 Got request: GET /verifiedserver HTTP/1.1 05:48:04.543199 Are-we-friendly question received 05:48:04.543220 Wrote request (93 bytes) input to log/19/server.input 05:48:04.543235 Identifying ourselves as friends 05:48:04.543290 Response sent (56 bytes) and written to log/19/server.response 05:48:04.543300 special request received, no persistency 05:48:04.543308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 60080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file outfile1424 original contents === End of file outfile1424 === Start of file server.cmd Testnum 1424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1424 ==157338== ==157338== Process terminating with default action of signal 4 (SIGILL) ==157338== Illegal opcode at address 0x4014883 ==157338== at 0x4014883: getparameter (tool_getparam.c:2899) ==157338== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157338== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157338== by 0x4004208: main (tool_main.c:189) === End of file valgrind1424 test env: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1430 ../src/curl -q --output log/17/curl1430.out --include --trace-ascii log/17/trace1430 --trace-time http://127.0.0.1:41219/1430 > log/17/stdout1430 2> log/17/stderr1430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1432 ../src/curl -q --output log/10/curl1432.out --include --trace-ascii log/10/trace1432 --trace-time http://127.0.0.1:46741/1432 > log/10/stdout1432 2> log/10/stderr1432 1423...[HTTP GET -o fname without Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1423 ../src/curl -q --trace-ascii log/16/trace1423 --trace-time http://127.0.0.1:44673/1423 -o log/16/outfile1423 file:///startdir/src/build-curl/tests/log/16/outfile1423 > log/16/stdout1423 2> log/16/stderr1423 1423: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1423 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1423 ../src/curl -q --trace-ascii log/16/trace1423 --trace-time http://127.0.0.1:44673/1423 -o log/16/outfile1423 file:///startdir/src/build-curl/tests/log/16/outfile1423 > log/16/stdout1423 2> log/16/stderr1423 === End of file commands.log === Start of file http_server.log 05:48:05.383160 ====> Client connect 05:48:05.383199 accept_connection 3 returned 4 05:48:05.383218 accept_connection 3 returned 0 05:48:05.383378 Read 93 bytes 05:48:05.383395 Process 93 bytes request 05:48:05.383411 Got request: GET /verifiedserver HTTP/1.1 05:48:05.383422 Are-we-friendly question received 05:48:05.383463 Wrote request (93 bytes) input to log/16/server.input 05:48:05.383487 Identifying ourselves as friends 05:48:05.383553 Response sent (56 bytes) and written to log/16/server.response 05:48:05.383565 special request received, no persistency 05:48:05.383575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 33356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1423 ==157268== ==157268== Process terminating with default action of signal 4 (SIGILL) ==157268== Illegal opcode at address 0x4014883 ==157268== at 0x4014883: getparameter (tool_getparam.c:2899) ==157268== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157268== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157268== by 0x4004208: main (tool_main.c:189) === End of file valgrind1423 test 1430...[HTTP GET with negative response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1430 ../src/curl -q --output log/17/curl1430.out --include --trace-ascii log/17/trace1430 --trace-time http://127.0.0.1:41219/1430 > log/17/stdout1430 2> log/17/stderr1430 1430: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1430 ../src/curl -q --output log/17/curl1430.out --include --trace-ascii log/17/trace1430 --trace-time http://127.0.0.1:41219/1430 > log/17/stdout1430 2> log/17/stderr1430 === End of file commands.log === Start of file http_server.log 05:48:05.993637 ====> Client connect 05:48:05.993684 accept_connection 3 returned 4 05:48:05.993703 accept_connection 3 returned 0 05:48:05.993719 Read 93 bytes 05:48:05.993729 Process 93 bytes request 05:48:05.993743 Got request: GET /verifiedserver HTTP/1.1 05:48:05.993753 Are-we-friendly question received 05:48:05.993777 Wrote request (93 bytes) input to log/17/server.input 05:48:05.993794 Identifying ourselves as friends 05:48:05.993856 Response sent (57 bytes) and written to log/17/server.response 05:48:05.993867 special request received, no persistency 05:48:05.993876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 54574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file valgrind1430 ==157532== ==157532== Process terminating with default action of signal 4 (SIGILL) ==157532== Illegal opcode at address 0x4014883 ==157532== at 0x4014883: getparameter (tool_getparam.c:2899) ==157532== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157532== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157532== by 0x4004208: main (tool_main.c:189) === End of file valgrind1430 test 1432...[HTTP GET with 100-digit response code and survive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1432 ../src/curl -q --output log/10/curl1432.out --include --trace-ascii log/10/trace1432 --trace-time http://127.0.0.1:46741/1432 > log/10/stdout1432 2> log/10/stderr1432 1432: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1432 ../src/curl -q --output log/10/curl1432.out --include --trace-ascii log/10/trace1432 --trace-time http://127.0.0.1:46741/1432 > log/10/stdout1432 2> log/10/stderr1432 === End of file commands.log === Start of file http_server.log 05:48:05.362965 ====> Client connect 05:48:05.363000 accept_connection 3 returned 4 05:48:05.363016 accept_connection 3 returned 0 05:48:05.363030 Read 93 bytes 05:48:05.363040 Process 93 bytes request 05:48:05.363054 Got request: GET /verifiedserver HTTP/1.1 05:48:05.363064 Are-we-friendly question received 05:48:05.363089 Wrote request (93 bytes) input to log/10/server.input 05:48:05.363106 Identifying ourselves as friends 05:48:05.363162 Response sent (56 bytes) and written to log/10/server.response 05:48:05.363172 special request received, no persistency 05:48:05.363180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 60430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1432 === End of file server.cmCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1431 ../src/curl -q --output log/12/curl1431.out --include --trace-ascii log/12/trace1431 --trace-time http://127.0.0.1:36353/1431 > log/12/stdout1431 2> log/12/stderr1431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1445 ../src/curl -q --output log/14/curl1445.out --include --trace-ascii log/14/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/test1445.dir/plainfile.txt --remote-time > log/14/stdout1445 2> log/14/stderr1445 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1440 ../src/curl -q --include --trace-ascii log/22/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/22/non-existent-file.txt --write-out '%{' > log/22/stdout1440 2> log/22/stderr1440 d === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind1432 ==157724== ==157724== Process terminating with default action of signal 4 (SIGILL) ==157724== Illegal opcode at address 0x4014883 ==157724== at 0x4014883: getparameter (tool_getparam.c:2899) ==157724== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157724== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157724== by 0x4004208: main (tool_main.c:189) === End of file valgrind1432 test 1431...[HTTP GET with single-digit response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1431 ../src/curl -q --output log/12/curl1431.out --include --trace-ascii log/12/trace1431 --trace-time http://127.0.0.1:36353/1431 > log/12/stdout1431 2> log/12/stderr1431 1431: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1431 ../src/curl -q --output log/12/curl1431.out --include --trace-ascii log/12/trace1431 --trace-time http://127.0.0.1:36353/1431 > log/12/stdout1431 2> log/12/stderr1431 === End of file commands.log === Start of file http_server.log 05:48:06.227390 ====> Client connect 05:48:06.227422 accept_connection 3 returned 4 05:48:06.227437 accept_connection 3 returned 0 05:48:06.227450 Read 93 bytes 05:48:06.227459 Process 93 bytes request 05:48:06.227473 Got request: GET /verifiedserver HTTP/1.1 05:48:06.227481 Are-we-friendly question received 05:48:06.227502 Wrote request (93 bytes) input to log/12/server.input 05:48:06.227517 Identifying ourselves as friends 05:48:06.227569 Response sent (56 bytes) and written to log/12/server.response 05:48:06.227577 special request received, no persistency 05:48:06.227585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 57554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1431 ==157633== ==157633== Process terminating with default action of signal 4 (SIGILL) ==157633== Illegal opcode at address 0x4014883 ==157633== at 0x4014883: getparameter (tool_getparam.c:2899) ==157633== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157633== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157633== by 0x4004208: main (tool_main.c:189) === End of file valgrind1431 Use of uninitialized value $mtime in numeric ne (!=) at /startdir/src/curl/tests/libtest/test613.pl line 103. CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/14/test1445.dir log/14/curl1445.out 946728000 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1434 ../src/curl -q --output log/21/curl1434.out --include --trace-ascii log/21/trace1434 --trace-time http://127.0.0.1:42891/1434 -C 100 > log/21/stdout1434 2> log/21/stderr1434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1437 ../src/curl -q --output log/4/curl1437.out --include --trace-ascii log/4/trace1437 --trace-time http://127.0.0.1:40253/1437 -u testuser:testpass --digest > log/4/stdout1437 2> log/4/stderr1437 test 1440...[Check --write-out with trailing %{] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1440 ../src/curl -q --include --trace-ascii log/22/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/22/non-existent-file.txt --write-out '%{' > log/22/stdout1440 2> log/22/stderr1440 1440: stdout FAILED: --- log/22/check-expected 2026-03-14 05:48:08.387949312 +0000 +++ log/22/check-generated 2026-03-14 05:48:08.387949312 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/22/ directory after test 1440 === Start of file check-expected %{ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1440 ../src/curl -q --include --trace-ascii log/22/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/22/non-existent-file.txt --write-out '%{' > log/22/stdout1440 2> log/22/stderr1440 === End of file commands.log === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==158010== ==158010== Process terminating with default action of signal 4 (SIGILL) ==158010== Illegal opcode at address 0x4014883 ==158010== at 0x4014883: getparameter (tool_getparam.c:2899) ==158010== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158010== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158010== by 0x4004208: main (tool_main.c:189) === End of file valgrind1440 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/14/test1445.dir test 1445...[file:// with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1445 ../src/curl -q --output log/14/curl1445.out --include --trace-ascii log/14/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/test1445.dir/plainfile.txt --remote-time > log/14/stdout1445 2> log/14/stderr1445 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/14/test1445.dir log/14/curl1445.out 946728000 1445: postcheck FAILED == Contents of files in the log/14/ directory after test 1445 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1445 ../src/curl -q --output log/14/curl1445.out --include --trace-ascii log/14/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/test1445.dir/plainfile.txt --remote-time > log/14/stdout1445 2> log/14/stderr1445 === End of file commands.log === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==158321== ==158321== Process terminating with default action of signal 4 (SIGILL) ==158321== Illegal opcode at address 0x4014883 ==158321== at 0x4014883: getparameter (tool_getparam.c:2899) ==158321== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158321== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158321== by 0x4004208: main (tool_main.c:189) === End of file valgrind1445 test 1434...[HTTP GET resume at exactly the existing file size is fine] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1434 ../src/curl -q --output log/21/curl1434.out --include --trace-ascii log/21/trace1434 --trace-time http://127.0.0.1:42891/1434 -C 100 > log/21/stdout1434 2> log/21/stderr1434 1434: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1434 ../src/curl -q --output log/21/curl1434.out --include --trace-ascii log/21/trace1434 --trace-time http://127.0.0.1:42891/1434 -C 100 > log/21/stdout1434 2> log/21/stderr1434 === End of file commands.log === Start of file curl1434.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1434.out === Start of file http_server.log 05:48:05.432899 ====> Client connect 05:48:05.432938 accept_connection 3 returned 4 05:48:05.432956 accept_connection 3 returned 0 05:48:05.432972 Read 93 bytes 05:48:05.432983 Process 93 bytes request 05:48:05.432997 Got request: GET /verifiedserver HTTP/1.1 05:48:05.433008 Are-we-friendly question received 05:48:05.433037 Wrote request (93 bytes) input to log/21/server.input 05:48:05.433057 Identifying ourselves as friends 05:48:05.433124 Response sent (56 bytes) and written to log/21/server.response 05:48:05.433134 special request received, no persistency 05:48:05.433144 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 52524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1434 ==157775== ==157775== Process terminating with default action of signal 4 (SIGILL) ==157775== Illegal opcode at address 0x4014883 ==157775== at 0x4014883: getparameter (tool_getparam.c:2899) ==157775== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157775== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157775== by 0x4004208: main (tool_main.c:189) === End of file valgrind1434 test 1437...[HTTP with duplicated WWW-Authenticate parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1437 ../src/curl -q --output log/4/curl1437.out --include --trace-ascii log/4/trace1437 --trace-time http://127.0.0.1:40253/1437 -u testuser:testpass --digest > log/4/stdout1437 2> log/4/stderr1437 1437: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1437 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1437 ../src/curl -q --output log/4/curl1437.out --include --trace-ascii log/4/trace1437 --trace-time http://127.0.0.1:40253/1437 -u testuser:testpass --digest > log/4/stdout1437 2> log/4/stderr1437 === End of file commands.log === Start of file http_server.log 05:48:05.823718 ====> Client connect 05:48:05.823760 accept_connection 3 returned 4 05:48:05.823781 accept_connection 3 returned 0 05:48:05.823966 Read 93 bytes 05:48:05.823983 Process 93 bytes request 05:48:05.823998 Got request: GET /verifiedserver HTTP/1.1 05:48:05.824008 Are-we-friendly question received 05:48:05.824038 Wrote request (93 bytes) input to log/4/server.input 05:48:05.824058 Identifying ourselves as friendsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1442 ../src/curl -q --include --trace-ascii log/9/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out='\' > log/9/stdout1442 2> log/9/stderr1442 05:48:05.824124 Response sent (56 bytes) and written to log/4/server.response 05:48:05.824137 special request received, no persistency 05:48:05.824147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 46026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1437 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1437 ==157927== ==157927== Process terminating with default action of signal 4 (SIGILL) ==157927== Illegal opcode at address 0x4014883 ==157927== at 0x4014883: getparameter (tool_getparam.c:2899) ==157927== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157927== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157927== by 0x4004208: main (tool_main.c:189) === End of file valgrind1437 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1433 ../src/curl -q --output log/1/curl1433.out --include --trace-ascii log/1/trace1433 --trace-time http://127.0.0.1:38765/1433 > log/1/stdout1433 2> log/1/stderr1433 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1438 ../src/curl -q --include --trace-ascii log/18/trace1438 --trace-time http://127.0.0.1:39913/1438 --write-out '%{scheme}' > log/18/stdout1438 2> log/18/stderr1438 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1439 ../src/curl -q --include --trace-ascii log/23/trace1439 --trace-time http://127.0.0.1:33217/1439 --write-out '%{http_version}' > log/23/stdout1439 2> log/23/stderr1439 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1428 ../src/curl -q --output log/2/curl1428.out --include --trace-ascii log/2/trace1428 --trace-time http://test.1428:41799/we/want/that/page/1428 -p -x 127.0.0.1:36593 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/2/stdout1428 2> log/2/stderr1428 test 1442...[Check --write-out with trailing \] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1442 ../src/curl -q --include --trace-ascii log/9/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out='\' > log/9/stdout1442 2> log/9/stderr1442 1442: stdout FAILED: --- log/9/check-expected 2026-03-14 05:48:08.587949311 +0000 +++ log/9/check-generated 2026-03-14 05:48:08.587949311 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/9/ directory after test 1442 === Start of file check-expected \ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1442 ../src/curl -q --include --trace-ascii log/9/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt --write-out='\' > log/9/stdout1442 2> log/9/stderr1442 === End of file commands.log === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==158052== ==158052== Process terminating with default action of signal 4 (SIGILL) ==158052== Illegal opcode at address 0x4014883 ==158052== at 0x4014883: getparameter (tool_getparam.c:2899) ==158052== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158052== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158052== by 0x4004208: main (tool_main.c:189) === End of file valgrind1442 test 1433...[HTTP GET with 100-digit subversion number in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1433 ../src/curl -q --output log/1/curl1433.out --include --trace-ascii log/1/trace1433 --trace-time http://127.0.0.1:38765/1433 > log/1/stdout1433 2> log/1/stderr1433 1433: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1433 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1433 ../src/curl -q --output log/1/curl1433.out --include --trace-ascii log/1/trace1433 --trace-time http://127.0.0.1:38765/1433 > log/1/stdout1433 2> log/1/stderr1433 === End of file commands.log === Start of file http_server.log 05:48:06.372535 ====> Client connect 05:48:06.372566 accept_connection 3 returned 4 05:48:06.372582 accept_connection 3 returned 0 05:48:06.372595 Read 93 bytes 05:48:06.372605 Process 93 bytes request 05:48:06.372619 Got request: GET /verifiedserver HTTP/1.1 05:48:06.372628 Are-we-friendly question received 05:48:06.372650 Wrote request (93 bytes) input to log/1/server.input 05:48:06.372668 Identifying ourselves as friends 05:48:06.372722 Response sent (56 bytes) and written to log/1/server.response 05:48:06.372732 special request received, no persistency 05:48:06.372740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 50866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1433 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1433 ==157727== ==157727== Process terminating with default action of signal 4 (SIGILL) ==157727== Illegal opcode at address 0x4014883 ==157727== at 0x4014883: getparameter (tool_getparam.c:2899) ==157727== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157727== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157727== by 0x4004208: main (tool_main.c:189) === End of file valgrind1433 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/2/server/http2_server.pid" --logfile "log/2/http2_server.log" --logdir "log/2" --portfile log/2/server/http2_server.port --config log/2/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 157458 port 36593 * pid http-proxy => 157458 157458 test 1428...[HTTP over proxy-tunnel with --proxy-header and --header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1428 ../src/curl -q --output log/2/curl1428.out --include --trace-ascii log/2/trace1428 --trace-time http://test.1428:41799/we/want/that/page/1428 -p -x 127.0.0.1:36593 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/2/stdout1428 2> log/2/stderr1428 1428: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1428 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1428 ../src/curl -q --output log/2/curl1428.out --include --trace-ascii log/2/trace1428 --trace-time http://test.1428:41799/we/want/that/page/1428 -p -x 127.0.0.1:36593 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/2/stdout1428 2> log/2/stderr1428 === End of file commands.log === Start of file http2_server.log 05:48:05.850941 Run as proxy, CONNECT to host 127.0.0.1 05:48:05.851085 Running HTTP IPv4 version on port 36593 05:48:05.851158 Wrote pid 157458 to log/2/server/http2_server.pid 05:48:05.851185 Wrote port 36593 to log/2/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:48:05.793318 ====> Client connect 05:48:05.793359 accept_connection 3 returned 4 05:48:05.793376 accept_connection 3 returned 0 05:48:05.793390 Read 93 bytes 05:48:05.793399 Process 93 bytes request 05:48:05.793413 Got request: GET /verifiedserver HTTP/1.1 05:48:05.793422 Are-we-friendly question received 05:48:05.793448 Wrote request (93 bytes) input to log/2/server.input 05:48:05.793464 Identifying ourselves as friends 05:48:05.793527 Response sent (56 bytes) and written to log/2/server.response 05:48:05.793537 special request received, no persistency 05:48:05.793546 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 59560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind1428 ==157923== ==157923== Process terminating with default action of signal 4 (SIGILL) ==157923== Illegal opcode at address 0x4014883 ==157923== at 0x4014883: getparameter (tool_getparam.c:2899) ==157923== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157923== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157923== by 0x4004208: main (tool_main.c:189) === End of file valgrind1428 test 1438...[Check if %{scheme} returns HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1438 ../src/curl -q --include --trace-ascii log/18/trace1438 --trace-time http://127.0.0.1:39913/1438 --write-out '%{scheme}' > log/18/stdout1438 2> log/18/stderr1438 1438: stdout FAILED: --- log/18/check-expected 2026-03-14 05:48:08.611282645 +0000 +++ log/18/check-generated 2026-03-14 05:48:08.611282645 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -http == Contents of files in the log/18/ directory after test 1438 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] http === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1438 ../src/curl -q --include --trace-ascii log/18/trace1438 --trace-time http://127.0.0.1:39913/1438 --write-out '%{scheme}' > log/18/stdout1438 2> log/18/stderr1438 === End of file commands.log === Start of file http_server.log 05:48:05.846005 ====> Client connect 05:48:05.846038 accept_connection 3 returned 4 05:48:05.846053 accept_connection 3 returned 0 05:48:05.846066 Read 93 bytes 05:48:05.846076 Process 93 bytes request 05:48:05.846089 Got request: GET /verifiedserver HTTP/1.1 05:48:05.846098 Are-we-friendly question received 05:48:05.846123 Wrote request (93 bytes) input to log/18/server.input 05:48:05.846139 Identifying ourselves as friends 05:48:05.846194 Response sent (56 bytes) and written to log/18/server.response 05:48:05.846203 special request received, no persistency 05:48:05.846211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 53670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1438 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1438 ==157934== ==157934== Process terminating with default action of signal 4 (SIGILL) ==157934== Illegal opcode at address 0x4014883 ==157934== at 0x4014883: getparameter (tool_getparam.c:2899) ==157934== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==157934== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==157934== by 0x4004208: main (tool_main.c:189) === End of file valgrind1438 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1435 ../src/curl -q --output log/20/curl1435.out --include --trace-ascii log/20/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/20/server/http-uds http://server-interpreted.example.com/1435 > log/20/stdout1435 2> log/20/stderr1435 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1443 ../src/curl -q --trace-ascii log/15/trace1443 --trace-time http://127.0.0.1:43413/1443 -O --remote-time --output-dir log/15 > log/15/stdout1443 2> log/15/stderr1443 CMD (256): /usr/bin/perl -e 'exit((stat("log/15/1443"))[9] != 960898200)' test 1439...[Check if %{http_version} returns 1.1] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1439 ../src/curl -q --include --trace-ascii log/23/trace1439 --trace-time http://127.0.0.1:33217/1439 --write-out '%{http_version}' > log/23/stdout1439 2> log/23/stderr1439 1439: stdout FAILED: --- log/23/check-expected 2026-03-14 05:48:08.637949311 +0000 +++ log/23/check-generated 2026-03-14 05:48:08.637949311 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -1.1 == Contents of files in the log/23/ directory after test 1439 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 1.1 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1439 ../src/curl -q --include --trace-ascii log/23/trace1439 --trace-time http://127.0.0.1:33217/1439 --write-out '%{http_version}' > log/23/stdout1439 2> log/23/stderr1439 === End of file commands.log === Start of file http_server.log 05:48:06.932413 ====> Client connect 05:48:06.932444 accept_connection 3 returned 4 05:48:06.932463 accept_connection 3 returned 0 05:48:06.932478 Read 93 bytes 05:48:06.932487 Process 93 bytes request 05:48:06.932500 Got request: GET /verifiedserver HTTP/1.1 05:48:06.932509 Are-we-friendly question received 05:48:06.932531 Wrote request (93 bytes) input to log/23/server.input 05:48:06.932547 Identifying ourselves as friends 05:48:06.932598 Response sent (56 bytes) and written to log/23/server.response 05:48:06.932607 special request received, no persistency 05:48:06.932616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 49438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1439 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1439 ==158085== ==158085== Process terminating with default action of signal 4 (SIGILL) ==158085== Illegal opcode at address 0x4014883 ==158085== at 0x4014883: getparameter (tool_getparam.c:2899) ==158085== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158085== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158085== by 0x4004208: main (tool_main.c:189) === End of file valgrind1439 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_unix_server.pid" --logfile "log/20/http_unix_server.log" --logdir "log/20" --portfile log/20/server/http_unix_server.port --config log/20/server.cmd --unix-socket '/startdir/src/build-curl/tests/log/20/server/http-uds' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 157841 port 8999 * pid http-unix => 157841 157841 test 1435...[simple HTTP GET over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1435 ../src/curl -q --output log/20/curl1435.out --include --trace-ascii log/20/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/20/server/http-uds http://server-interpreted.example.com/1435 > log/20/stdout1435 2> log/20/stderr1435 1435: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1435 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1435 ../src/curl -q --output log/20/curl1435.out --include --trace-ascii log/20/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/20/server/http-uds http://server-interpreted.example.com/1435 > log/20/stdout1435 2> log/20/stderr1435 === End of file commands.log === Start of file http_unix_server.log 05:48:06.580878 Running HTTP unix version on /startdir/src/build-curl/tests/log/20/server/http-uds 05:48:06.580960 Wrote pid 157841 to log/20/server/http_unix_server.pid 05:48:06.581024 Wrote port 8999 to log/20/server/http_unix_server.port === End of file http_unix_server.log === Start of file server.cmd Testnum 1435 === End of file server.cmd === Start of file valgrind1435 ==158597== ==158597== Process terminating with default action of signal 4 (SIGILL) ==158597== Illegal opcode at address 0x4014883 ==158597== at 0x4014883: getparameter (tool_getparam.c:2899) ==158597== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158597== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158597== by 0x4004208: main (tool_main.c:189) === End of file valgrind1435 test 1443...[HTTP GET with -O and --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1443 ../src/curl -q --trace-ascii log/15/trace1443 --trace-time http://127.0.0.1:43413/1443 -O --remote-time --output-dir log/15 > log/15/stdout1443 2> log/15/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/15/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/15/ directory after test 1443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1443 ../src/curl -q --trace-ascii log/15/trace1443 --trace-time http://127.0.0.1:43413/1443 -O --remote-time --output-dir log/15 > log/15/stdout1443 2> log/15/stderr1443 === End of file commands.log === Start of file http_server.log 05:48:07.026528 ====> Client connect 05:48:07.026567 accept_connection 3 returned 4 05:48:07.026587 accept_connection 3 returned 0 05:48:07.026754 Read 93 bytes 05:48:07.026773 Process 93 bytes request 05:48:07.026788 Got request: GET /verifiedserver HTTP/1.1 05:48:07.026798 Are-we-friendly question received 05:48:07.026831 Wrote request (93 bytes) input to log/15/server.input 05:48:07.026851 Identifying ourselves as friends 05:48:07.030407 Response sent (56 bytes) and written to log/15/server.response 05:48:07.030425 special request received, no persistency 05:48:07.030435 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1447 ../src/curl -q --output log/11/curl1447.out --include --trace-ascii log/11/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/11/stdout1447 2> log/11/stderr1447 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1441 ../src/curl -q --include --trace-ascii log/13/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/13/non-existent-file.txt --write-out '%' > log/13/stdout1441 2> log/13/stderr1441 Start of file valgrind1443 ==158231== ==158231== Process terminating with default action of signal 4 (SIGILL) ==158231== Illegal opcode at address 0x4014883 ==158231== at 0x4014883: getparameter (tool_getparam.c:2899) ==158231== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158231== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158231== by 0x4004208: main (tool_main.c:189) === End of file valgrind1443 test 1447...[Provide illegal proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1447 ../src/curl -q --output log/11/curl1447.out --include --trace-ascii log/11/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/11/stdout1447 2> log/11/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/11/ directory after test 1447 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1447 ../src/curl -q --output log/11/curl1447.out --include --trace-ascii log/11/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/11/stdout1447 2> log/11/stderr1447 === End of file commands.log === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==158416== ==158416== Process terminating with default action of signal 4 (SIGILL) ==158416== Illegal opcode at address 0x4014883 ==158416== at 0x4014883: getparameter (tool_getparam.c:2899) ==158416== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158416== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158416== by 0x4004208: main (tool_main.c:189) === End of file valgrind1447 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1448 ../src/curl -q --include --trace-ascii log/24/trace1448 --trace-time http://åäö.se:33593/1448 --resolve xn--4cab6c.se:33593:127.0.0.1 -L --connect-to 127.0.0.1:33593:127.0.0.1:33593 > log/24/stdout1448 2> log/24/stderr1448 test 1441...[Check --write-out with trailing %] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1441 ../src/curl -q --include --trace-ascii log/13/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/13/non-existent-file.txt --write-out '%' > log/13/stdout1441 2> log/13/stderr1441 1441: stdout FAILED: --- log/13/check-expected 2026-03-14 05:48:09.074615977 +0000 +++ log/13/check-generated 2026-03-14 05:48:09.074615977 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/13/ directory after test 1441 === Start of file check-expected % === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1441 ../src/curl -q --include --trace-ascii log/13/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/13/non-existent-file.txt --write-out '%' > log/13/stdout1441 2> log/13/stderr1441 === End of file commands.log === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==158038== ==158038== Process terminating with default action of signal 4 (SIGILL) ==158038== Illegal opcode at address 0x4014883 ==158038== at 0x4014883: getparameter (tool_getparam.c:2899) ==158038== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158038== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158038== by 0x4004208: main (tool_main.c:189) === End of file valgrind1441 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1444 ../src/curl -q --output log/6/curl1444.out --include --trace-ascii log/6/trace1444 --trace-time ftp://127.0.0.1:36813/1444 --remote-time > log/6/stdout1444 2> log/6/stderr1444 CMD (256): /usr/bin/perl -e 'exit((stat("log/6/curl1444.out"))[9] != 1234567890)' setenv LC_ALL = C.UTF-8 test 1448...[Redirect following to UTF-8 IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1448 ../src/curl -q --include --trace-ascii log/24/trace1448 --trace-time http://åäö.se:33593/1448 --resolve xn--4cab6c.se:33593:127.0.0.1 -L --connect-to 127.0.0.1:33593:127.0.0.1:33593 > log/24/stdout1448 2> log/24/stderr1448 1448: stdout FAILED: --- log/24/check-expected 2026-03-14 05:48:09.311282645 +0000 +++ log/24/check-generated 2026-03-14 05:48:09.311282645 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: http://%c3%a5%c3%a4%c3%b6.se:33593/14480001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] == Contents of files in the log/24/ directory after test 1448 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: http://%c3%a5%c3%a4%c3%b6.se:33593/14480001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1448 ../src/curl -q --include --trace-ascii log/24/trace1448 --trace-time http://åäö.se:33593/1448 --resolve xn--4cab6c.se:33593:127.0.0.1 -L --connect-to 127.0.0.1:33593:127.0.0.1:33593 > log/24/stdout1448 2> log/24/stderr1448 === End of file commands.log === Start of file http_server.log 05:48:07.367168 ====> Client connect 05:48:07.367209 accept_connection 3 returned 4 05:48:07.367233 accept_connection 3 returned 0 05:48:07.367249 Read 93 bytes 05:48:07.367260 Process 93 bytes request 05:48:07.367274 Got request: GET /verifiedserver HTTP/1.1 05:48:07.367283 Are-we-friendly question received 05:48:07.367309 Wrote request (93 bytes) input to log/24/server.input 05:48:07.367329 Identifying ourselves as friends 05:48:07.367566 Response sent (56 bytes) and written to log/24/server.response 05:48:07.367581 special request received, no persistency 05:48:07.367590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 49680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1448 ==158528== ==158528== Process terminating with default action of signal 4 (SIGILL) ==158528== Illegal opcode at address 0x4014883 ==158528== at 0x4014883: getparameter (tool_getparam.c:2899) ==158528== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158528== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158528== by 0x4004208: main (tool_main.c:189) === End of file valgrind1448 test 1444...[FTP with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1444 ../src/curl -q --output log/6/curl1444.out --include --trace-ascii log/6/trace1444 --trace-time ftp://127.0.0.1:36813/1444 --remote-time > log/6/stdout1444 2> log/6/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/6/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/6/ directory after test 1444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1444 ../src/curl -q --output log/6/curl1444.out --include --trace-ascii log/6/trace1444 --trace-time ftp://127.0.0.1:36813/1444 --remote-time > log/6/stdout1444 2> log/6/stderr1444 === End of file commands.log === Start of file ftp_server.log 05:48:06.725700 ====> Client connect 05:48:06.725887 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:06.732638 < "USER anonymous" 05:48:06.732706 > "331 We are happy you popped in![CR][LF]" 05:48:06.732897 < "PASS ftp@example.com" 05:48:06.732928 > "230 Welcome you silly person[CR][LF]" 05:48:06.733101 < "PWD" 05:48:06.733135 > "257 "/" is current directory[CR][LF]" 05:48:06.733314 < "EPSV" 05:48:06.733349 ====> Passive DATA channel requested by client 05:48:06.733364 DATA sockfilt for passive data channel starting... 05:48:06.752250 DATA sockfilt for passive data channel started (pid 158403) 05:48:06.752486 DATA sockfilt for passive data channel listens on port 42111 05:48:06.752549 > "229 Entering Passive Mode (|||42111|)[CR][LF]" 05:48:06.752575 Client has been notified that DATA conn will be accepted on port 42111 05:48:06.752948 Client connects to port 42111 05:48:06.752984 ====> Client established passive DATA connection on port 42111 05:48:06.753093 < "TYPE I" 05:48:06.753136 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:06.753319 < "SIZE verifiedserver" 05:48:06.753365 > "213 17[CR][LF]" 05:48:06.753542 < "RETR verifiedserver" 05:48:06.753581 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:06.753693 =====> Closing passive DATA connection... 05:48:06.753719 Server disconnects passive DATA connection 05:48:06.753977 Server disconnected passive DATA connection 05:48:06.754007 DATA sockfilt for passive data channel quits (pid 158403) 05:48:06.754312 DATA sockfilt for passive data channel quit (pid 158403) 05:48:06.754342 =====> Closed passive DATA connection 05:48:06.754373 > "226 File transfer complete[CR][LF]" 05:48:06.799460 < "QUIT" 05:48:06.799522 > "221 bye bye baby[CR][LF]" 05:48:06.808909 MAIN sockfilt said DISC 05:48:06.808996 ====> Client disconnected 05:48:06.809086 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:06.187006 ====> Client connect 05:48:06.187354 Received DATA (on stdin) 05:48:06.187369 > 146 bytes data, server => client 05:48:06.187381 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:06.187391 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:06.187400 '220 \___|\___/|_| \_\_____|\r\n' 05:48:06.193813 < 16 bytes data, client => server 05:48:06.193853 'USER anonymous\r\n' 05:48:06.194166 Received DATA (on stdin) 05:48:06.194179 > 33 bytes data, server => client 05:48:06.194190 '331 We are happy you popped in!\r\n' 05:48:06.194249 < 22 bytes data, client => server 05:48:06.194264 'PASS ftp@example.com\r\n' 05:48:06.194383 Received DATA (on stdin) 05:48:06.194396 > 30 bytes data, server => client 05:48:06.194406 '230 Welcome you silly person\r\n' 05:48:06.194462 < 5 bytes data, client => server 05:48:06.194475 'PWD\r\n' 05:48:06.194588 Received DATA (on stdin) 05:48:06.194600 > 30 bytes data, server => client 05:48:06.194611 '257 "/" is current directory\r\n' 05:48:06.194677 < 6 bytes data, client => server 05:48:06.194689 'EPSV\r\n' 05:48:06.214042 Received DATA (on stdin) 05:48:06.214062 > 39 bytes data, server => client 05:48:06.214074 '229 Entering Passive Mode (|||42111|)\r\n' 05:48:06.214306 < 8 bytesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1449 ../src/curl -q --output log/7/curl1449.out --include --trace-ascii log/7/trace1449 --trace-time ftp://127.0.0.1:44937/1449 -r 36893488147419103232- > log/7/stdout1449 2> log/7/stderr1449 data, client => server 05:48:06.214324 'TYPE I\r\n' 05:48:06.214595 Received DATA (on stdin) 05:48:06.214609 > 33 bytes data, server => client 05:48:06.214621 '200 I modify TYPE as you wanted\r\n' 05:48:06.214675 < 21 bytes data, client => server 05:48:06.214688 'SIZE verifiedserver\r\n' 05:48:06.214822 Received DATA (on stdin) 05:48:06.214835 > 8 bytes data, server => client 05:48:06.214845 '213 17\r\n' 05:48:06.214899 < 21 bytes data, client => server 05:48:06.214914 'RETR verifiedserver\r\n' 05:48:06.215276 Received DATA (on stdin) 05:48:06.215291 > 29 bytes data, server => client 05:48:06.215302 '150 Binary junk (17 bytes).\r\n' 05:48:06.215825 Received DATA (on stdin) 05:48:06.215836 > 28 bytes data, server => client 05:48:06.215847 '226 File transfer complete\r\n' 05:48:06.260687 < 6 bytes data, client => server 05:48:06.260726 'QUIT\r\n' 05:48:06.260981 Received DATA (on stdin) 05:48:06.260996 > 18 bytes data, server => client 05:48:06.261006 '221 bye bye baby\r\n' 05:48:06.267113 ====> Client disconnect 05:48:06.270544 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:06.198187 Running IPv4 version 05:48:06.198283 Listening on port 42111 05:48:06.198328 Wrote pid 158403 to log/6/server/ftp_sockdata.pid 05:48:06.210320 Received PING (on stdin) 05:48:06.213805 Received PORT (on stdin) 05:48:06.214348 ====> Client connect 05:48:06.215178 Received DATA (on stdin) 05:48:06.215192 > 17 bytes data, server => client 05:48:06.215203 'WE ROOLZ: 81206\r\n' 05:48:06.215231 Received DISC (on stdin) 05:48:06.215246 ====> Client forcibly disconnected 05:48:06.215468 Received QUIT (on stdin) 05:48:06.215481 quits 05:48:06.215556 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==158453== ==158453== Process terminating with default action of signal 4 (SIGILL) ==158453== Illegal opcode at address 0x4014883 ==158453== at 0x4014883: getparameter (tool_getparam.c:2899) ==158453== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158453== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158453== by 0x4004208: main (tool_main.c:189) === End of file valgrind1444 test 1449...[FTP download range with integer overflow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1449 ../src/curl -q --output log/7/curl1449.out --include --trace-ascii log/7/trace1449 --trace-time ftp://127.0.0.1:44937/1449 -r 36893488147419103232- > log/7/stdout1449 2> log/7/stderr1449 1449: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1449 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1449 ../src/curl -q --output log/7/curl1449.out --include --trace-ascii log/7/trace1449 --trace-time ftp://127.0.0.1:44937/1449 -r 36893488147419103232- > log/7/stdout1449 2> log/7/stderr1449 === End of file commands.log === Start of file ftp_server.log 05:48:06.979630 ====> Client connect 05:48:06.979925 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:06.981256 < "USER anonymous" 05:48:06.981293 > "331 We are happy you popped in![CR][LF]" 05:48:06.981455 < "PASS ftp@example.com" 05:48:06.981480 > "230 Welcome you silly person[CR][LF]" 05:48:06.981627 < "PWD" 05:48:06.981655 > "257 "/" is current directory[CR][LF]" 05:48:06.985780 < "EPSV" 05:48:06.985812 ====> Passive DATA channel requested by client 05:48:06.985827 DATA sockfilt for passive data channel starting... 05:48:06.998954 DATA sockfilt for passive data channel started (pid 158537) 05:48:06.999137 DATA sockfilt for passive data channel listens on port 45845 05:48:06.999210 > "229 Entering Passive Mode (|||45845|)[CR][LF]" 05:48:06.999237 Client has been notified that DATA conn will be accepted on port 45845 05:48:07.008972 Client connects to port 45845 05:48:07.009058 ====> Client established passive DATA connection on port 45845 05:48:07.009207 < "TYPE I" 05:48:07.009260 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:07.017080 < "SIZE verifiedserver" 05:48:07.017158 > "213 17[CR][LF]" 05:48:07.017355 < "RETR verifiedserver" 05:48:07.017395 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:07.017516 =====> Closing passive DATA connection... 05:48:07.017544 Server disconnects passive DATA connection 05:48:07.019025 Server disconnected passive DATA connection 05:48:07.019061 DATA sockfilt for passive data channel quits (pid 158537) 05:48:07.022239 DATA sockfilt for passive data channel quit (pid 158537) 05:48:07.022279 =====> Closed passive DATA connection 05:48:07.022324 > "226 File transfer complete[CR][LF]" 05:48:07.062564 < "QUIT" 05:48:07.062629 > "221 bye bye baby[CR][LF]" 05:48:07.063948 MAIN sockfilt said DISC 05:48:07.063984 ====> Client disconnected 05:48:07.064076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:07.440940 ====> Client connect 05:48:07.442419 Received DATA (on stdin) 05:48:07.442439 > 146 bytes data, server => client 05:48:07.442452 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:07.442463 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:07.442472 '220 \___|\___/|_| \_\_____|\r\n' 05:48:07.442554 < 16 bytes data, client => server 05:48:07.442566 'USER anonymous\r\n' 05:48:07.442748 Received DATA (on stdin) 05:48:07.442760 > 33 bytes data, server => client 05:48:07.442771 '331 We are happy you popped in!\r\n' 05:48:07.442822 < 22 bytes data, client => server 05:48:07.442833 'PASS ftp@example.com\r\n' 05:48:07.442930 Received DATA (on stdin) 05:48:07.442941 > 30 bytes data, server => client 05:48:07.442952 '230 Welcome you silly person\r\n' 05:48:07.442998 < 5 bytes data, client => server 05:48:07.443009 'PWD\r\n' 05:48:07.446976 Received DATA (on stdin) 05:48:07.447007 > 30 bytes data, server => client 05:48:07.447019 '257 "/" is current directory\r\n' 05:48:07.447110 < 6 bytes data, client => server 05:48:07.447121 'EPSV\r\n' 05:48:07.463658 Received DATA (on stdin) 05:48:07.463688 > 39 bytes data, server => client 05:48:07.463701 '229 Entering Passive Mode (|||45845|)\r\n' 05:48:07.466983 < 8 bytes data, client => server 05:48:07.467009 'TYPE I\r\n' 05:48:07.473647 Received DATA (on stdin) 05:48:07.473674 > 33 bytes data, server => client 05:48:07.473686 '200 I modify TYPE as you wanted\r\n' 05:48:07.478320 < 21 bytes data, client => server 05:48:07.478350 'SIZE verifiedserver\r\n' 05:48:07.478625 Received DATA (on stdin) 05:48:07.478639 > 8 bytes data, server => client 05:48:07.478649 '213 17\r\n' 05:48:07.478708 < 21 bytes data, client => server 05:48:07.478723 'RETR verifiedserver\r\n' 05:48:07.479005 Received DATA (on stdin) 05:48:07.479019 > 29 bytes data, server => client 05:48:07.479031 '150 Binary junk (17 bytes).\r\n' 05:48:07.488927 Received DATA (on stdin) 05:48:07.488973 > 28 bytes data, server => client 05:48:07.488986 '226 File transfer complete\r\n' 05:48:07.523788 < 6 bytes data, client => server 05:48:07.523831 'QUIT\r\n' 05:48:07.524089 Received DATA (on stdin) 05:48:07.524102 > 18 bytes data, server => client 05:48:07.524113 '221 bye bye baby\r\n' 05:48:07.525343 ====> Client disconnect 05:48:07.525534 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:06.457737 Running IPv4 version 05:48:06.457814 Listening on port 45845 05:48:06.457851 Wrote pid 158537 to log/7/server/ftp_sockdata.pid 05:48:06.460308 Received PING (on stdin) 05:48:06.460468 Received PORT (on stdin) 05:48:06.470CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1453 ../src/curl -q --output log/16/curl1453.out --include --trace-ascii log/16/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/16/stdout1453 2> log/16/stderr1453 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/16/stdout1477 2> log/16/stderr1477 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1456 ../src/curl -q --output log/10/curl1456.out --include --trace-ascii log/10/trace1456 --trace-time -g "http://[::1]:35211/1456" --haproxy-protocol > log/10/stdout1456 2> log/10/stderr1456 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/16/stdout1478 2> log/16/stderr1478 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1436 ../src/curl -q --include --trace-ascii log/8/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/8/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/8/stdout1436 2> log/8/stderr1436 333 ====> Client connect 05:48:06.480314 Received DATA (on stdin) 05:48:06.480344 > 17 bytes data, server => client 05:48:06.480355 'WE ROOLZ: 81085\r\n' 05:48:06.480396 Received DISC (on stdin) 05:48:06.480414 ====> Client forcibly disconnected 05:48:06.480529 Received QUIT (on stdin) 05:48:06.480543 quits 05:48:06.480628 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==158581== ==158581== Process terminating with default action of signal 4 (SIGILL) ==158581== Illegal opcode at address 0x4014883 ==158581== at 0x4014883: getparameter (tool_getparam.c:2899) ==158581== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158581== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158581== by 0x4004208: main (tool_main.c:189) === End of file valgrind1449 test 1453...[Too long tftp filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1453 ../src/curl -q --output log/16/curl1453.out --include --trace-ascii log/16/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/16/stdout1453 2> log/16/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/16/ directory after test 1453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1453 ../src/curl -q --output log/16/curl1453.out --include --trace-ascii log/16/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/16/stdout1453 2> log/16/stderr1453 === End of file commands.log === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==158786== ==158786== Process terminating with default action of signal 4 (SIGILL) ==158786== Illegal opcode at address 0x4014883 ==158786== at 0x4014883: getparameter (tool_getparam.c:2899) ==158786== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158786== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158786== by 0x4004208: main (tool_main.c:189) === End of file valgrind1453 test 1477...[Verify that error codes in headers and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/16/stdout1477 2> log/16/stderr1477 valgrind SKIPPED s------e--- OK (1407 out of 1773, remaining: 00:43, took 0.044s, duration: 02:48) test 1456...[HTTP-IPv6 GET with PROXY protocol] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1456 ../src/curl -q --output log/10/curl1456.out --include --trace-ascii log/10/trace1456 --trace-time -g "http://[::1]:35211/1456" --haproxy-protocol > log/10/stdout1456 2> log/10/stderr1456 1456: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1456 ../src/curl -q --output log/10/curl1456.out --include --trace-ascii log/10/trace1456 --trace-time -g "http://[::1]:35211/1456" --haproxy-protocol > log/10/stdout1456 2> log/10/stderr1456 === End of file commands.log === Start of file http_ipv6_server.log 05:48:07.221919 ====> Client connect 05:48:07.221955 accept_connection 3 returned 4 05:48:07.221971 accept_connection 3 returned 0 05:48:07.222918 Read 89 bytes 05:48:07.222934 Process 89 bytes request 05:48:07.222957 Got request: GET /verifiedserver HTTP/1.1 05:48:07.222967 Are-we-friendly question received 05:48:07.222997 Wrote request (89 bytes) input to log/10/server.input 05:48:07.223017 Identifying ourselves as friends 05:48:07.223072 Response sent (57 bytes) and written to log/10/server.response 05:48:07.223085 special request received, no persistency 05:48:07.223093 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:35211... * Established connection to ::1 (::1 port 35211) from ::1 port 60290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:35211 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:35211 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 134320 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1456 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 134320 === End of file server.response === Start of file valgrind1456 ==158860== ==158860== Process terminating with default action of signal 4 (SIGILL) ==158860== Illegal opcode at address 0x4014883 ==158860== at 0x4014883: getparameter (tool_getparam.c:2899) ==158860== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158860== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158860== by 0x4004208: main (tool_main.c:189) === End of file valgrind1456 test 1478...[src/tool_listhelp.c is in sync with docs/cmdline-opts] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/16/stdout1478 2> log/16/stderr1478 valgrind SKIPPED s------e--- OK (1408 out of 1773, remaining: 00:43, took 0.090s, duration: 02:48) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1455 ../src/curl -q --output log/17/curl1455.out --include --trace-ascii log/17/trace1455 --trace-time http://127.0.0.1:41219/1455 --haproxy-protocol -H "Testno: 1455" > log/17/stdout1455 2> log/17/stderr1455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1457 ../src/curl -q --include --trace-ascii log/12/trace1457 --trace-time http://127.0.0.1:36353/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/12/stdout1457 2> log/12/stderr1457 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_unix_server.pid" --logfile "log/8/http_unix_server.log" --logdir "log/8" --portfile log/8/server/http_unix_server.port --config log/8/server.cmd --unix-socket '/startdir/src/build-curl/tests/log/8/server/http-uds' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 157888 port 8999 * pid http-unix => 157888 157888 test 1436...[HTTP requests with multiple connections over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1436 ../src/curl -q --include --trace-ascii log/8/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/8/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/8/stdout1436 2> log/8/stderr1436 1436: stdout FAILED: --- log/8/check-expected 2026-03-14 05:48:09.717949310 +0000 +++ log/8/check-generated 2026-03-14 05:48:09.717949310 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] -Content-Length: 6[LF] -[LF] -First[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] -Content-Length: 7[LF] -[LF] -Second[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] -Content-Length: 6[LF] -[LF] -Third[LF] == Contents of files in the log/8/ directory after test 1436 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] Content-Length: 6[LF] [LF] First[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] Content-Length: 7[LF] [LF] Second[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] Content-Length: 6[LF] [LF] Third[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1436 ../src/curl -q --include --trace-ascii log/8/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/8/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/8/stdout1436 2> log/8/stderr1436 === End of file commands.log === Start of file http_unix_server.log 05:48:06.792374 Running HTTP unix version on /startdir/src/build-curl/tests/log/8/server/http-uds 05:48:06.792467 Wrote pid 157888 to log/8/server/http_unix_server.pid 05:48:06.792506 Wrote port 8999 to log/8/server/http_unix_server.port === End of file http_unix_server.log === Start of file server.cmd Testnum 1436 === End of file server.cmd === Start of file valgrind1436 ==158711== ==158711== Process terminating with default action of signal 4 (SIGILL) ==158711== Illegal opcode at address 0x4014883 ==158711== at 0x4014883: getparameter (tool_getparam.c:2899) ==158711== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158711== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158711== by 0x4004208: main (tool_main.c:189) === End of file valgrind1436 test 1455...[HTTP GET when PROXY Protocol enabled] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1455 ../src/curl -q --output log/17/curl1455.out --include --trace-ascii log/17/trace1455 --trace-time http://127.0.0.1:41219/1455 --haproxy-protocol -H "Testno: 1455" > log/17/stdout1455 2> log/17/stderr1455 1455: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1455 ../src/curl -q --output log/17/curl1455.out --include --trace-ascii log/17/trace1455 --trace-time http://127.0.0.1:41219/1455 --haproxy-protocol -H "Testno: 1455" > log/17/stdout1455 2> log/17/stderr1455 === End of file commands.log === Start of file http_server.log 05:48:08.258540 ====> Client connect 05:48:08.258575 accept_connection 3 returned 4 05:48:08.258595 accept_connection 3 returned 0 05:48:08.258612 Read 93 bytes 05:48:08.258622 Process 93 bytes request 05:48:08.258637 Got request: GET /verifiedserver HTTP/1.1 05:48:08.258646 Are-we-friendly question received 05:48:08.258673 Wrote request (93 bytes) input to log/17/server.input 05:48:08.258690 Identifying ourselves as friends 05:48:08.258755 Response sent (57 bytes) and written to log/17/server.response 05:48:08.258767 special request received, no persistency 05:48:08.258775 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 57522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file valgrind1455 ==158878== ==158878== Process terminating with default action of signal 4 (SIGILL) ==158878== Illegal opcode at address 0x4014883 ==158878== at 0x4014883: getparameter (tool_getparam.c:2899) ==158878== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==158878== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==158878== by 0x4004208: main (tool_main.c:189) === End of file valgrind1455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1464 ../src/curl -q --include --trace-ascii log/9/trace1464 --trace-time --help fIlE > log/9/stdout1464 2> log/9/stderr1464 test 1457...[Check if %{stderr} and %{stdout} switch between stdout and stderr.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1457 ../src/curl -q --include --trace-ascii log/12/trace1457 --trace-time http://127.0.0.1:36353/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/12/stdout1457 2> log/12/stderr1457 1457: stdout FAILED: --- log/12/check-expected 2026-03-14 05:48:10.374615977 +0000 +++ log/12/check-generated 2026-03-14 05:48:10.374615977 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -line1line3 == Contents of files in the log/12/ directory after test 1457 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] line1line3 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1457 ../src/curl -q --include --trace-ascii log/12/trace1457 --trace-time http://127.0.0.1:36353/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/12/stdout1457 2> log/12/stderr1457 === End of file commands.log === Start of file http_server.log 05:48:08.715914 ====> Client connect 05:48:08.715942 accept_connection 3 returned 4 05:48:08.715956 accept_connection 3 returned 0 05:48:08.716082 Read 93 bytes 05:48:08.716093 Process 93 bytes request 05:48:08.716104 Got request: GET /verifiedserver HTTP/1.1 05:48:08.716113 Are-we-friendly question received 05:48:08.716134 Wrote request (93 bytes) input to log/12/server.input 05:48:08.716149 Identifying ourselves as friends 05:48:08.716195 Response sent (56 bytes) and written to log/12/server.response 05:48:08.716203 special request received, no persistency 05:48:08.716211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 42706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1457 ==159011== ==159011== Process terminating with default action of signal 4 (SIGILL) ==159011== Illegal opcode at address 0x4014883 ==159011== at 0x4014883: getparameter (tool_getparam.c:2899) ==159011== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159011== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159011== by 0x4004208: main (tool_main.c:189) === End of file valgrind1457 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1471 ../src/curl -q --output log/15/curl1471.out --include --trace-ascii log/15/trace1471 --trace-time red.onion > log/15/stdout1471 2> log/15/stderr1471 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1462 ../src/curl -q --include --trace-ascii log/21/trace1462 --trace-time --help sdfafdsfadsfsd > log/21/stdout1462 2> log/21/stderr1462 test 1464...[curl file category --help with lower/upper mix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1464 ../src/curl -q --include --trace-ascii log/9/trace1464 --trace-time --help fIlE > log/9/stdout1464 2> log/9/stderr1464 1464: stdout FAILED: --- log/9/check-expected 2026-03-14 05:48:10.467949311 +0000 +++ log/9/check-generated 2026-03-14 05:48:10.467949311 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/9/ directory after test 1464 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1464 ../src/curl -q --include --trace-ascii log/9/trace1464 --trace-time --help fIlE > log/9/stdout1464 2> log/9/stderr1464 === End of file commands.log === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==159289== ==159289== Process terminating with default action of signal 4 (SIGILL) ==159289== Illegal opcode at address 0x4014883 ==159289== at 0x4014883: getparameter (tool_getparam.c:2899) ==159289== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159289== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159289== by 0x4004208: main (tool_main.c:189) === End of file valgrind1464 test 1471...[Fail to resolve .onion TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1471 ../src/curl -q --output log/15/curl1471.out --include --trace-ascii log/15/trace1471 --trace-time red.onion > log/15/stdout1471 2> log/15/stderr1471 1471: stderr FAILED: --- log/15/check-expected 2026-03-14 05:48:10.491282643 +0000 +++ log/15/check-generated 2026-03-14 05:48:10.491282643 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/15/ directory after test 1471 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1471 ../src/curl -q --output log/15/curl1471.out --include --trace-ascii log/15/trace1471 --trace-time red.onion > log/15/stdout1471 2> log/15/stderr1471 === End of file commands.log === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==159449== ==159449== Process terminating with default action of signal 4 (SIGILL) ==159449== Illegal opcode at address 0x4014883 ==159449== at 0x4014883: getparameter (tool_getparam.c:2899) ==159449== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159449== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159449== by 0x4004208: main (tool_main.c:189) === End of file valgrind1471 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1460 ../src/curl -q --trace-ascii log/14/trace1460 --trace-time http://127.0.0.1:35549/1460 -Ji -O --output-dir log/14 > log/14/stdout1460 2> log/14/stderr1460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1463 ../src/curl -q --include --trace-ascii log/4/trace1463 --trace-time --help file > log/4/stdout1463 2> log/4/stderr1463 test 1462...[curl invalid category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1462 ../src/curl -q --include --trace-ascii log/21/trace1462 --trace-time --help sdfafdsfadsfsd > log/21/stdout1462 2> log/21/stderr1462 1462: stdout FAILED: --- log/21/check-expected 2026-03-14 05:48:10.507949310 +0000 +++ log/21/check-generated 2026-03-14 05:48:10.507949310 +0000 @@ -1,27 +0,0 @@ -Unknown category provided, here is a list of all categories:[CR][LF] -[CR][LF] - auth Authentication methods[CR][LF] - connection Manage connections[CR][LF] - curl The command line tool itself[CR][LF] - deprecated Legacy[CR][LF] - dns Names and resolving[CR][LF] - file FILE protocol[CR][LF] - ftp FTP protocol[CR][LF] - global Global options[CR][LF] - http HTTP and HTTPS protocol[CR][LF] - imap IMAP protocol[CR][LF] - ldap LDAP protocol[CR][LF] - output File system output[CR][LF] - pop3 POP3 protocol[CR][LF] - post HTTP POST specific[CR][LF] - proxy Options for proxies[CR][LF] - scp SCP protocol[CR][LF] - sftp SFTP protocol[CR][LF] - smtp SMTP protocol[CR][LF] - ssh SSH protocol[CR][LF] - telnet TELNET protocol[CR][LF] - tftp TFTP protocol[CR][LF] - timeout Timeouts and delays[CR][LF] - tls TLS/SSL related[CR][LF] - upload Upload, sending data[CR][LF] - verbose Tracing, logging etc[CR][LF] == Contents of files in the log/21/ directory after test 1462 === Start of file check-expected Unknown category provided, here is a list of all categories:[CR][LF] [CR][LF] auth Authentication methods[CR][LF] connection Manage connections[CR][LF] curl The command line tool itself[CR][LF] deprecated Legacy[CR][LF] dns Names and resolving[CR][LF] file FILE protocol[CR][LF] ftp FTP protocol[CR][LF] global Global options[CR][LF] http HTTP and HTTPS protocol[CR][LF] imap IMAP protocol[CR][LF] ldap LDAP protocol[CR][LF] output File system output[CR][LF] pop3 POP3 protocol[CR][LF] post HTTP POST specific[CR][LF] proxy Options for proxies[CR][LF] scp SCP protocol[CR][LF] sftp SFTP protocol[CR][LF] smtp SMTP protocol[CR][LF] ssh SSH protocol[CR][LF] telnet TELNET protocol[CR][LF] tftp TFTP protocol[CR][LF] timeout Timeouts and delays[CR][LF] tls TLS/SSL related[CR][LF] upload Upload, sending data[CR][LF] verbose Tracing, logging etc[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1462 ../src/curl -q --include --trace-ascii log/21/trace1462 --trace-time --help sdfafdsfadsfsd > log/21/stdout1462 2> log/21/stderr1462 === End of file commands.log === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==159061== ==159061== Process terminating with default action of signal 4 (SIGILL) ==159061== Illegal opcode at address 0x4014883 ==159061== at 0x4014883: getparameter (tool_getparam.c:2899) ==159061== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159061== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159061== by 0x4004208: main (tool_main.c:189) === End of file valgrind1462 test 1460...[HTTP GET with -Ji and Content-Disposition with existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1460 ../src/curl -q --trace-ascii log/14/trace1460 --trace-time http://127.0.0.1:35549/1460 -Ji -O --output-dir log/14 > log/14/stdout1460 2> log/14/stderr1460 curl returned 132, when expecting 23 1460: exit FAILED == Contents of files in the log/14/ directory after test 1460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1460 ../src/curl -q --trace-ascii log/14/trace1460 --trace-time http://127.0.0.1:35549/1460 -Ji -O --output-dir log/14 > log/14/stdout1460 2> log/14/stderr1460 === End of file commands.log === Start of file http_server.log 05:48:08.957089 ====> Client connect 05:48:08.957127 accept_connection 3 returned 4 05:48:08.957145 accept_connection 3 returned 0 05:48:08.957160 Read 93 bytes 05:48:08.957170 Process 93 bytes request 05:48:08.957184 Got request: GET /verifiedserver HTTP/1.1 05:48:08.957193 Are-we-friendly question received 05:48:08.957220 Wrote request (93 bytes) input to log/14/server.input 05:48:08.957238 Identifying ourselves as friends 05:48:08.957307 Response sent (56 bytes) and written to log/14/server.response 05:48:08.957319 special request received, no persistency 05:48:08.957328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 39210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file name1460 initial content === End of file name1460 === Start of file server.cmd Testnum 1460 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1460 ==159157== ==159157== Process terminating with default action of signal 4 (SIGILL) ==159157== Illegal opcode at address 0x4014883 ==159157== at 0x4014883: getparameter (tool_getparam.c:2899) ==159157== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159157== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159157== by 0x4004208: main (tool_main.c:189) === End of file valgrind1460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1458 ../src/curl -q --output log/22/curl1458.out --include --trace-ascii log/22/trace1458 --trace-time --resolve *:41477:127.0.0.1 http://example.com:41477/1458 > log/22/stdout1458 2> log/22/stderr1458 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/14/stdout1486 2> log/14/stderr1486 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl /startdir/src/curl/tests/../docs/VERSIONS.md > log/15/stdout1488 2> log/15/stderr1488 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1469 ../src/curl -q --output log/20/curl1469.out --include --trace-ascii log/20/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/20/irrelevant-file > log/20/stdout1469 2> log/20/stderr1469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1473 ../src/curl -q --output log/13/curl1473.out --include --trace-ascii log/13/trace1473 --trace-time http://127.0.0.1:45359/1473 > log/13/stdout1473 2> log/13/stderr1473 test 1463...[curl file category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1463 ../src/curl -q --include --trace-ascii log/4/trace1463 --trace-time --help file > log/4/stdout1463 2> log/4/stderr1463 1463: stdout FAILED: --- log/4/check-expected 2026-03-14 05:48:10.594615976 +0000 +++ log/4/check-generated 2026-03-14 05:48:10.594615976 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/4/ directory after test 1463 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1463 ../src/curl -q --include --trace-ascii log/4/trace1463 --trace-time --help file > log/4/stdout1463 2> log/4/stderr1463 === End of file commands.log === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==159063== ==159063== Process terminating with default action of signal 4 (SIGILL) ==159063== Illegal opcode at address 0x4014883 ==159063== at 0x4014883: getparameter (tool_getparam.c:2899) ==159063== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159063== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159063== by 0x4004208: main (tool_main.c:189) === End of file valgrind1463 test 1458...[HTTP with wildcard --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1458 ../src/curl -q --output log/22/curl1458.out --include --trace-ascii log/22/trace1458 --trace-time --resolve *:41477:127.0.0.1 http://example.com:41477/1458 > log/22/stdout1458 2> log/22/stderr1458 1458: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1458 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1458 ../src/curl -q --output log/22/curl1458.out --include --trace-ascii log/22/trace1458 --trace-time --resolve *:41477:127.0.0.1 http://example.com:41477/1458 > log/22/stdout1458 2> log/22/stderr1458 === End of file commands.log === Start of file http_server.log 05:48:08.945919 ====> Client connect 05:48:08.945950 accept_connection 3 returned 4 05:48:08.945965 accept_connection 3 returned 0 05:48:08.945979 Read 93 bytes 05:48:08.945989 Process 93 bytes request 05:48:08.946003 Got request: GET /verifiedserver HTTP/1.1 05:48:08.946013 Are-we-friendly question received 05:48:08.946035 Wrote request (93 bytes) input to log/22/server.input 05:48:08.946052 Identifying ourselves as friends 05:48:08.946103 Response sent (56 bytes) and written to log/22/server.response 05:48:08.946112 special request received, no persistency 05:48:08.946121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 32878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1458 ==159145== ==159145== Process terminating with default action of signal 4 (SIGILL) ==159145== Illegal opcode at address 0x4014883 ==159145== at 0x4014883: getparameter (tool_getparam.c:2899) ==159145== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159145== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159145== by 0x4004208: main (tool_main.c:189) === End of file valgrind1458 test 1486...[Verify that write-out.md and tool_writeout.c are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/14/stdout1486 2> log/14/stderr1486 valgrind SKIPPED s------e--- OK (1416 out of 1773, remaining: 00:42, took 0.058s, duration: 02:49) test 1488...[symbols-in-versions and man pages agree on added-in versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl /startdir/src/curl/tests/../docs/VERSIONS.md > log/15/stdout1488 2> log/15/stderr1488 valgrind SKIPPED s------e--- OK (1418 out of 1773, remaining: 00:42, took 0.069s, duration: 02:49) test 1469...[Space in FTP upload URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1469 ../src/curl -q --output log/20/curl1469.out --include --trace-ascii log/20/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/20/irrelevant-file > log/20/stdout1469 2> log/20/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/20/ directory after test 1469 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1469 ../src/curl -q --output log/20/curl1469.out --include --trace-ascii log/20/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/20/irrelevant-file > log/20/stdout1469 2> log/20/stderr1469 === End of file commands.log === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==159425== ==159425== Process terminating with default action of signal 4 (SIGILL) ==159425== Illegal opcode at address 0x4014883 ==159425== at 0x4014883: getparameter (tool_getparam.c:2899) ==159425== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159425== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159425== by 0x4004208: main (tool_main.c:189) === End of file valgrind1469 test 1473...[first HTTP header starts with white space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1473 ../src/curl -q --output log/13/curl1473.out --include --trace-ascii log/13/trace1473 --trace-time http://127.0.0.1:45359/1473 > log/13/stdout1473 2> log/13/stderr1473 1473: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1473 ../src/curl -q --output log/13/curl1473.out --include --trace-ascii log/13/trace1473CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1466 ../src/curl -q --output log/18/curl1466.out --include --trace-ascii log/18/trace1466 --trace-time http://127.0.0.1:39913/1466 > log/18/stdout1466 2> log/18/stderr1466 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1472 ../src/curl -q --output log/11/curl1472.out --include --trace-ascii log/11/trace1472 --trace-time tasty.onion. > log/11/stdout1472 2> log/11/stderr1472 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1465 ../src/curl -q --output log/23/curl1465.out --include --trace-ascii log/23/trace1465 --trace-time http://127.0.0.1:33217/we/want/1465 --libcurl log/23/test1465.c --data-binary @log/23/1465-upload > log/23/stdout1465 2> log/23/stderr1465 --trace-time http://127.0.0.1:45359/1473 > log/13/stdout1473 2> log/13/stderr1473 === End of file commands.log === Start of file http_server.log 05:48:09.620407 ====> Client connect 05:48:09.620451 accept_connection 3 returned 4 05:48:09.620468 accept_connection 3 returned 0 05:48:09.620645 Read 93 bytes 05:48:09.620657 Process 93 bytes request 05:48:09.620671 Got request: GET /verifiedserver HTTP/1.1 05:48:09.620680 Are-we-friendly question received 05:48:09.620706 Wrote request (93 bytes) input to log/13/server.input 05:48:09.620722 Identifying ourselves as friends 05:48:09.620787 Response sent (56 bytes) and written to log/13/server.response 05:48:09.620797 special request received, no persistency 05:48:09.620806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 48150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1473 ==159657== ==159657== Process terminating with default action of signal 4 (SIGILL) ==159657== Illegal opcode at address 0x4014883 ==159657== at 0x4014883: getparameter (tool_getparam.c:2899) ==159657== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159657== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159657== by 0x4004208: main (tool_main.c:189) === End of file valgrind1473 test 1466...[HTTP GET with 3-digit response and only digits in reason] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1466 ../src/curl -q --output log/18/curl1466.out --include --trace-ascii log/18/trace1466 --trace-time http://127.0.0.1:39913/1466 > log/18/stdout1466 2> log/18/stderr1466 1466: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1466 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1466 ../src/curl -q --output log/18/curl1466.out --include --trace-ascii log/18/trace1466 --trace-time http://127.0.0.1:39913/1466 > log/18/stdout1466 2> log/18/stderr1466 === End of file commands.log === Start of file http_server.log 05:48:08.189596 ====> Client connect 05:48:08.189637 accept_connection 3 returned 4 05:48:08.189656 accept_connection 3 returned 0 05:48:08.189672 Read 93 bytes 05:48:08.189683 Process 93 bytes request 05:48:08.189697 Got request: GET /verifiedserver HTTP/1.1 05:48:08.189706 Are-we-friendly question received 05:48:08.189735 Wrote request (93 bytes) input to log/18/server.input 05:48:08.189755 Identifying ourselves as friends 05:48:08.189819 Response sent (56 bytes) and written to log/18/server.response 05:48:08.189832 special request received, no persistency 05:48:08.189842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 57820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1466 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1466 ==159368== ==159368== Process terminating with default action of signal 4 (SIGILL) ==159368== Illegal opcode at address 0x4014883 ==159368== at 0x4014883: getparameter (tool_getparam.c:2899) ==159368== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159368== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159368== by 0x4004208: main (tool_main.c:189) === End of file valgrind1466 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1480 ../src/curl -q --output log/16/curl1480.out --include --trace-ascii log/16/trace1480 --trace-time http://127.0.0.1:44673/1480 > log/16/stdout1480 2> log/16/stderr1480 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1475 ../src/curl -q --output log/6/curl1475.out --include --trace-ascii log/6/trace1475 --trace-time http://127.0.0.1:33035/1475 -C - -f > log/6/stdout1475 2> log/6/stderr1475 RUN: Process with pid 76952 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1474 ../src/curl -q --output log/24/curl1474.out --include --trace-ascii log/24/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/24/stdout1474 2> log/24/stderr1474 test 1472...[Fail to resolve .onion. TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1472 ../src/curl -q --output log/11/curl1472.out --include --trace-ascii log/11/trace1472 --trace-time tasty.onion. > log/11/stdout1472 2> log/11/stderr1472 1472: stderr FAILED: --- log/11/check-expected 2026-03-14 05:48:11.031282643 +0000 +++ log/11/check-generated 2026-03-14 05:48:11.031282643 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/11/ directory after test 1472 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1472 ../src/curl -q --output log/11/curl1472.out --include --trace-ascii log/11/trace1472 --trace-time tasty.onion. > log/11/stdout1472 2> log/11/stderr1472 === End of file commands.log === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==159613== ==159613== Process terminating with default action of signal 4 (SIGILL) ==159613== Illegal opcode at address 0x4014883 ==159613== at 0x4014883: getparameter (tool_getparam.c:2899) ==159613== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159613== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159613== by 0x4004208: main (tool_main.c:189) === End of file valgrind1472 test 1465...[--libcurl for POST with binary content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1465 ../src/curl -q --output log/23/curl1465.out --include --trace-ascii log/23/trace1465 --trace-time http://127.0.0.1:33217/we/want/1465 --libcurl log/23/test1465.c --data-binary @log/23/1465-upload > log/23/stdout1465 2> log/23/stderr1465 1465: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1465 === Start of file 1465-upload abcde\"? fghi jklm === End of file 1465-upload === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1465 ../src/curl -q --output log/23/curl1465.out --include --trace-ascii log/23/trace1465 --trace-time http://127.0.0.1:33217/we/want/1465 --libcurl log/23/test1465.c --data-binary @log/23/1465-upload > log/23/stdout1465 2> log/23/stderr1465 === End of file commands.log === Start of file http_server.log 05:48:09.198861 ====> Client connect 05:48:09.198895 accept_connection 3 returned 4 05:48:09.198909 accept_connection 3 returned 0 05:48:09.198921 Read 93 bytes 05:48:09.198929 Process 93 bytes request 05:48:09.198941 Got request: GET /verifiedserver HTTP/1.1 05:48:09.198950 Are-we-friendly question received 05:48:09.198969 Wrote request (93 bytes) input to log/23/server.input 05:48:09.198983 Identifying ourselves as friends 05:48:09.199029 Response sent (56 bytes) and written to log/23/server.response 05:48:09.199037 special request received, no persistency 05:48:09.199044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 36992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1465 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1465 ==159361== ==159361== Process terminating with default action of signal 4 (SIGILL) ==159361== Illegal opcode at address 0x4014883 ==159361== at 0x4014883: getparameter (tool_getparam.c:2899) ==159361== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159361== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159361== by 0x4004208: main (tool_main.c:189) === End of file valgrind1465 test 1480...[HTTP Continue response without final response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1480 ../src/curl -q --output log/16/curl1480.out --include --trace-ascii log/16/trace1480 --trace-time http://127.0.0.1:44673/1480 > log/16/stdout1480 2> log/16/stderr1480 1480: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1480 ../src/curl -q --output log/16/curl1480.out --include --trace-ascii log/16/trace1480 --trace-time http://127.0.0.1:44673/1480 > log/16/stdout1480 2> log/16/stderr1480 === End of file commands.log === Start of file http_server.log 05:48:10.226637 ====> Client connect 05:48:10.226678 accept_connection 3 returned 4 05:48:10.226697 accept_connection 3 returned 0 05:48:10.226714 Read 93 bytes 05:48:10.226726 Process 93 bytes request 05:48:10.226739 Got request: GET /verifiedserver HTTP/1.1 05:48:10.226754 Are-we-friendly question received 05:48:10.226782 Wrote request (93 bytes) input to log/16/server.input 05:48:10.226803 Identifying ourselves as friends 05:48:10.226869 Response sent (56 bytes) and written to log/16/server.response 05:48:10.226881 special request received, no persistency 05:48:10.226890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 48222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1480 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1480 ==159995== ==159995== Process terminating with default action of signal 4 (SIGILL) ==159995== Illegal opcode at address 0x4014883 ==159995== at 0x4014883: getparameter (tool_getparam.c:2899) ==159995== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159995== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159995== by 0x4004208: main (tool_main.c:189) === End of file valgrind1480 test 1474...[--proto -all disables all protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1474 ../src/curl -q --output log/24/curl1474.out --include --trace-ascii log/24/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/24/stdout1474 2> log/24/stderr1474 curl returned 132, when expecting 2 1474: exit FAILED == CoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1481 ../src/curl -q --output log/8/curl1481.out --include --trace-ascii log/8/trace1481 --trace-time http://moo/ --libcurl log/8/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:45623 > log/8/stdout1481 2> log/8/stderr1481 RUN: Process with pid 76952 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1476 ../src/curl -q --output log/7/curl1476.out --include --trace-ascii log/7/trace1476 --trace-time -x http://127.0.0.1:39013/1476 http://curl.co.UK -c log/7/cookies1476.txt > log/7/stdout1476 2> log/7/stderr1476 ntents of files in the log/24/ directory after test 1474 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1474 ../src/curl -q --output log/24/curl1474.out --include --trace-ascii log/24/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/24/stdout1474 2> log/24/stderr1474 === End of file commands.log === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==159732== ==159732== Process terminating with default action of signal 4 (SIGILL) ==159732== Illegal opcode at address 0x4014883 ==159732== at 0x4014883: getparameter (tool_getparam.c:2899) ==159732== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159732== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159732== by 0x4004208: main (tool_main.c:189) === End of file valgrind1474 test 1481...[--libcurl with TLS version options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1481 ../src/curl -q --output log/8/curl1481.out --include --trace-ascii log/8/trace1481 --trace-time http://moo/ --libcurl log/8/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:45623 > log/8/stdout1481 2> log/8/stderr1481 1481: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1481 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1481 ../src/curl -q --output log/8/curl1481.out --include --trace-ascii log/8/trace1481 --trace-time http://moo/ --libcurl log/8/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:45623 > log/8/stdout1481 2> log/8/stderr1481 === End of file commands.log === Start of file http_server.log 05:48:09.283858 ====> Client connect 05:48:09.283907 accept_connection 3 returned 4 05:48:09.283928 accept_connection 3 returned 0 05:48:09.283946 Read 93 bytes 05:48:09.283956 Process 93 bytes request 05:48:09.283972 Got request: GET /verifiedserver HTTP/1.1 05:48:09.283981 Are-we-friendly question received 05:48:09.284007 Wrote request (93 bytes) input to log/8/server.input 05:48:09.284025 Identifying ourselves as friends 05:48:09.284112 Response sent (56 bytes) and written to log/8/server.response 05:48:09.284120 special request received, no persistency 05:48:09.284129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 38298 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1481 ==160063== ==160063== Process terminating with default action of signal 4 (SIGILL) ==160063== Illegal opcode at address 0x4014883 ==160063== at 0x4014883: getparameter (tool_getparam.c:2899) ==160063== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160063== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160063== by 0x4004208: main (tool_main.c:189) === End of file valgrind1481 test 1475...[-f and 416 with Content-Range: */size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1475 ../src/curl -q --output log/6/curl1475.out --include --trace-ascii log/6/trace1475 --trace-time http://127.0.0.1:33035/1475 -C - -f > log/6/stdout1475 2> log/6/stderr1475 1475: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1475 ../src/curl -q --output log/6/curl1475.out --include --trace-ascii log/6/trace1475 --trace-time http://127.0.0.1:33035/1475 -C - -f > log/6/stdout1475 2> log/6/stderr1475 === End of file commands.log === Start of file curl1475.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1475.out === Start of file http_server.log 05:48:08.876043 ====> Client connect 05:48:08.876079 accept_connection 3 returned 4 05:48:08.876095 accept_connection 3 returned 0 05:48:08.876109 Read 93 bytes 05:48:08.876119 Process 93 bytes request 05:48:08.876132 Got request: GET /verifiedserver HTTP/1.1 05:48:08.876141 Are-we-friendly question received 05:48:08.876163 Wrote request (93 bytes) input to log/6/server.input 05:48:08.876179 Identifying ourselves as friends 05:48:08.876231 Response sent (56 bytes) and written to log/6/server.response 05:48:08.876241 special request received, no persistency 05:48:08.876249 ====> Client disconnect 0 exit_signal_handler: called 05:48:11.022220 signalled to die 05:48:11.022324 ========> IPv4 sws (port 33035 pid: 76952) exits with signal (15) 05:48:11.022339 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33035... * Established connection to 127.0.0.1 (127.0.0.1 port 33035) from 127.0.0.1 port 46368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33035 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33035 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76952 === End of file http_verify.out === Start of file server.cmd Testnum 1475 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76952 === End of file server.response === Start of file valgrind1475 ==159775== ==159775== Process terminating with default action of signal 4 (SIGILL) ==159775== Illegal opcode at address 0x4014883 ==159775== at 0x4014883: getparameter (tool_getparam.c:2899) ==159775== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159775== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159775== by 0x4004208: main (tool_main.c:189) === End of file valgrind1475 test 1476...[PSL violating cookie with mixed case domain and cookie domain property] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1476 ../src/curl -q --output log/7/curl1476.out --include --trace-ascii log/7/trace1476 --trace-time -x http://127.0.0.1:39013/1476 http://curl.co.UK -c log/7/cookies1476.txt > log/7/stdout1476 2> log/7/stderr1476 1476: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1476 ../src/curl -q --output log/7/curl1476.out --includeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1467 ../src/curl -q --output log/2/curl1467.out --include --trace-ascii log/2/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/2/server/socks-uds http://127.0.0.1:41799/1467 > log/2/stdout1467 2> log/2/stderr1467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1479 ../src/curl -q --output log/10/curl1479.out --include --trace-ascii log/10/trace1479 --trace-time http://127.0.0.1:46741/1479 http://127.0.0.1:46741/14790002 > log/10/stdout1479 2> log/10/stderr1479 --trace-ascii log/7/trace1476 --trace-time -x http://127.0.0.1:39013/1476 http://curl.co.UK -c log/7/cookies1476.txt > log/7/stdout1476 2> log/7/stderr1476 === End of file commands.log === Start of file http_server.log 05:48:08.987040 ====> Client connect 05:48:08.987078 accept_connection 3 returned 4 05:48:08.987093 accept_connection 3 returned 0 05:48:08.987108 Read 93 bytes 05:48:08.987117 Process 93 bytes request 05:48:08.987129 Got request: GET /verifiedserver HTTP/1.1 05:48:08.987137 Are-we-friendly question received 05:48:08.987160 Wrote request (93 bytes) input to log/7/server.input 05:48:08.987175 Identifying ourselves as friends 05:48:08.987238 Response sent (56 bytes) and written to log/7/server.response 05:48:08.987247 special request received, no persistency 05:48:08.987255 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 40434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1476 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1476 ==159867== ==159867== Process terminating with default action of signal 4 (SIGILL) ==159867== Illegal opcode at address 0x4014883 ==159867== at 0x4014883: getparameter (tool_getparam.c:2899) ==159867== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159867== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159867== by 0x4004208: main (tool_main.c:189) === End of file valgrind1476 startnew: ./server/servers socksd --pidfile log/2/server/socks2_server.pid --reqfile log/2/socksd-request.log --logfile log/2/socks2_server.log --unix-socket /startdir/src/build-curl/tests/log/2/server/socks-uds --backend 127.0.0.1 --config log/2/server.cmd RUN: SOCKS2 server is now running PID 159438 * pid socks5unix => 159438 159438 test 1467...[HTTP GET via SOCKS5 proxy via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1467 ../src/curl -q --output log/2/curl1467.out --include --trace-ascii log/2/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/2/server/socks-uds http://127.0.0.1:41799/1467 > log/2/stdout1467 2> log/2/stderr1467 1467: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1467 ../src/curl -q --output log/2/curl1467.out --include --trace-ascii log/2/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/2/server/socks-uds http://127.0.0.1:41799/1467 > log/2/stdout1467 2> log/2/stderr1467 === End of file commands.log === Start of file http_server.log 05:48:09.270358 ====> Client connect 05:48:09.270393 accept_connection 3 returned 4 05:48:09.270407 accept_connection 3 returned 0 05:48:09.270523 Read 93 bytes 05:48:09.270534 Process 93 bytes request 05:48:09.270547 Got request: GET /verifiedserver HTTP/1.1 05:48:09.270555 Are-we-friendly question received 05:48:09.270583 Wrote request (93 bytes) input to log/2/server.input 05:48:09.270598 Identifying ourselves as friends 05:48:09.270654 Response sent (56 bytes) and written to log/2/server.response 05:48:09.270663 special request received, no persistency 05:48:09.270672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 55446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1467 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file socks2_server.log 05:48:08.278961 Running unix version 05:48:08.279032 Listening on Unix socket /startdir/src/build-curl/tests/log/2/server/socks-uds 05:48:08.279069 Wrote pid 159438 to log/2/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==160028== ==160028== Process terminating with default action of signal 4 (SIGILL) ==160028== Illegal opcode at address 0x4014883 ==160028== at 0x4014883: getparameter (tool_getparam.c:2899) ==160028== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160028== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160028== by 0x4004208: main (tool_main.c:189) === End of file valgrind1467 test 1479...[HTTP/1.1 response followed by an HTTP/0.9 response over the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1479 ../src/curl -q --output log/10/curl1479.out --include --trace-ascii log/10/trace1479 --trace-time http://127.0.0.1:46741/1479 http://127.0.0.1:46741/14790002 > log/10/stdout1479 2> log/10/stderr1479 1479: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1479 ../src/curl -q --output log/10/curl1479.out --include --trace-ascii log/10/trace1479 --trace-time http://127.0.0.1:46741/1479 http://127.0.0.1:46741/14790002 > log/10/stdout1479 2> log/10/stderr1479 === End of file commands.log === Start of file http_server.log 05:48:09.183728 ====> Client connect 05:48:09.183773 accept_connection 3 returned 4 05:48:09.183791 accept_connection 3 returned 0 05:48:09.183808 Read 93 bytes 05:48:09.183817 Process 93 bytes request 05:48:09.183830 Got request: GET /verifiedserver HTTP/1.1 05:48:09.183846 Are-we-friendly question received 05:48:09.183872 Wrote request (93 bytes) input to log/10/server.input 05:48:09.183890 Identifying ourselves as friends 05:48:09.183969 Response sent (56 bytes) and written to log/10/server.response 05:48:09.183979 special request received, no persistency 05:48:09.183987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 52518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1482 ../src/curl -q --output log/17/curl1482.out --include --trace-ascii log/17/trace1482 --trace-time http://127.0.0.1:41219/1482 -D log/17/heads1482 > log/17/stdout1482 2> log/17/stderr1482 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:42891/1485 > log/21/stdout1485 2> log/21/stderr1485 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1468 ../src/curl -q --output log/1/curl1468.out --include --trace-ascii log/1/trace1468 --trace-time http://this.is.a.host.name:38765/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/1/server/socks-uds > log/1/stdout1468 2> log/1/stderr1468 f file server.response === Start of file valgrind1479 ==159948== ==159948== Process terminating with default action of signal 4 (SIGILL) ==159948== Illegal opcode at address 0x4014883 ==159948== at 0x4014883: getparameter (tool_getparam.c:2899) ==159948== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==159948== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==159948== by 0x4004208: main (tool_main.c:189) === End of file valgrind1479 test 1482...[HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1482 ../src/curl -q --output log/17/curl1482.out --include --trace-ascii log/17/trace1482 --trace-time http://127.0.0.1:41219/1482 -D log/17/heads1482 > log/17/stdout1482 2> log/17/stderr1482 1482: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1482 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1482 ../src/curl -q --output log/17/curl1482.out --include --trace-ascii log/17/trace1482 --trace-time http://127.0.0.1:41219/1482 -D log/17/heads1482 > log/17/stdout1482 2> log/17/stderr1482 === End of file commands.log === Start of file http_server.log 05:48:10.712925 ====> Client connect 05:48:10.712958 accept_connection 3 returned 4 05:48:10.712973 accept_connection 3 returned 0 05:48:10.712988 Read 93 bytes 05:48:10.712998 Process 93 bytes request 05:48:10.713011 Got request: GET /verifiedserver HTTP/1.1 05:48:10.713020 Are-we-friendly question received 05:48:10.713044 Wrote request (93 bytes) input to log/17/server.input 05:48:10.713060 Identifying ourselves as friends 05:48:10.713116 Response sent (57 bytes) and written to log/17/server.response 05:48:10.713126 special request received, no persistency 05:48:10.713134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 57538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file valgrind1482 ==160270== ==160270== Process terminating with default action of signal 4 (SIGILL) ==160270== Illegal opcode at address 0x4014883 ==160270== at 0x4014883: getparameter (tool_getparam.c:2899) ==160270== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160270== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160270== by 0x4004208: main (tool_main.c:189) === End of file valgrind1482 test 1485...[get curlinfo on last header in callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:42891/1485 > log/21/stdout1485 2> log/21/stderr1485 1485: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1485 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:42891/1485 > log/21/stdout1485 2> log/21/stderr1485 === End of file commands.log === Start of file http_server.log 05:48:10.070536 ====> Client connect 05:48:10.070572 accept_connection 3 returned 4 05:48:10.070589 accept_connection 3 returned 0 05:48:10.070603 Read 93 bytes 05:48:10.070612 Process 93 bytes request 05:48:10.070625 Got request: GET /verifiedserver HTTP/1.1 05:48:10.070634 Are-we-friendly question received 05:48:10.070657 Wrote request (93 bytes) input to log/21/server.input 05:48:10.070673 Identifying ourselves as friends 05:48:10.070728 Response sent (56 bytes) and written to log/21/server.response 05:48:10.070737 special request received, no persistency 05:48:10.070745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1485 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr1485 URL: http://127.0.0.1:42891/1485 === End of file stderr1485 === Start of file valgrind1485 ==160414== ==160414== Process terminating with default action of signal 4 (SIGILL) ==160414== Illegal opcode at address 0x402A14F ==160414== at 0x402A14F: UnknownInlinedFun (string_fortified.h:59) ==160414== by 0x402A14F: test_lib1485.lto_priv.0 (lib1485.c:94) ==160414== by 0x40034B5: main (first.c:279) === End of file valgrind1485 startnew: ./server/servers socksd --pidfile log/1/server/socks2_server.pid --reqfile log/1/socksd-request.log --logfile log/1/socks2_server.log --unix-socket /startdir/src/build-curl/tests/log/1/server/socks-uds --backend 127.0.0.1 --config log/1/server.cmd RUN: SOCKS2 server is now running PID 159453 * pid socks5unix => 159453 159453 test 1468...[HTTP GET with hostname using SOCKS5h via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1468 ../src/curl -q --output log/1/curl1468.out --include --trace-ascii log/1/trace1468 --trace-time http://this.is.a.host.name:38765/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/1/server/socks-uds > log/1/stdout1468 2> log/1/stderr1468 1468: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1468 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1468 ../src/curl -q --output log/1/curl1468.out --include --trace-ascii log/1/trace1468 --trace-time http://this.is.a.host.name:38765/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/1/server/socks-uds > log/1/stdout1468 2> log/1/stderr1468 === End of file commands.log === Start of file http_server.log 05:48:09.288675 ====> Client connect 05:48:09.288706 accept_connection 3 returned 4 05:48:09.288723 accept_connection 3 returned 0 05:48:09.288737 Read 93 bytes 05:48:09.288746 Process 93 bytes request 05:48:09.288759 Got request: GET /verifiedserver HTTP/1.1 05:48:09.288768 Are-we-friendly question received 05:48:09.288790 Wrote request (93 bytes) input to log/1/server.input 05:48:09.288806 Identifying ourselves CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1487 ../src/curl -q --trace-ascii log/4/trace1487 --trace-time http://127.0.0.1:40253/1487 -J -O --output-dir log/4 > log/4/stdout1487 2> log/4/stderr1487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1491 ../src/curl -q --include --trace-ascii log/15/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/15/test1491.txt -o log/15/test1491.txt --skip-existing > log/15/stdout1491 2> log/15/stderr1491 as friends 05:48:09.288860 Response sent (56 bytes) and written to log/1/server.response 05:48:09.288869 special request received, no persistency 05:48:09.288877 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 37316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file socks2_server.log 05:48:08.296524 Running unix version 05:48:08.296590 Listening on Unix socket /startdir/src/build-curl/tests/log/1/server/socks-uds 05:48:08.296628 Wrote pid 159453 to log/1/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==160059== ==160059== Process terminating with default action of signal 4 (SIGILL) ==160059== Illegal opcode at address 0x4014883 ==160059== at 0x4014883: getparameter (tool_getparam.c:2899) ==160059== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160059== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160059== by 0x4004208: main (tool_main.c:189) === End of file valgrind1468 startnew: /startdir/src/curl/tests/dictserver.py --port 41531 --pidfile "log/5/server/dict_server.pid" --logfile "log/5/dict_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the DICT server test 1450 SKIPPED: failed starting DICT server startnew: /startdir/src/curl/tests/smbserver.py --port 37567 --pidfile "log/3/server/smb_server.pid" --logfile "log/3/smb_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the SMB server test 1451 SKIPPED: failed starting SMB server startnew: /startdir/src/curl/tests/negtelnetserver.py --port 46471 --pidfile "log/19/server/telnet_server.pid" --logfile "log/19/telnet_server.log" --srcdir "/startdir/src/curl/tests" startnew: child process has died, server might start up RUN: failed to start the TELNET server test 1452 SKIPPED: failed starting neg TELNET server test 1487...[HTTP GET with -J and Content-Disposition on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1487 ../src/curl -q --trace-ascii log/4/trace1487 --trace-time http://127.0.0.1:40253/1487 -J -O --output-dir log/4 > log/4/stdout1487 2> log/4/stderr1487 1487: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1487 ../src/curl -q --trace-ascii log/4/trace1487 --trace-time http://127.0.0.1:40253/1487 -J -O --output-dir log/4 > log/4/stdout1487 2> log/4/stderr1487 === End of file commands.log === Start of file http_server.log 05:48:10.140159 ====> Client connect 05:48:10.140199 accept_connection 3 returned 4 05:48:10.140217 accept_connection 3 returned 0 05:48:10.140233 Read 93 bytes 05:48:10.140243 Process 93 bytes request 05:48:10.140258 Got request: GET /verifiedserver HTTP/1.1 05:48:10.140268 Are-we-friendly question received 05:48:10.140317 Wrote request (93 bytes) input to log/4/server.input 05:48:10.140337 Identifying ourselves as friends 05:48:10.140397 Response sent (56 bytes) and written to log/4/server.response 05:48:10.140406 special request received, no persistency 05:48:10.140415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 36572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind1487 ==160534== ==160534== Process terminating with default action of signal 4 (SIGILL) ==160534== Illegal opcode at address 0x4014883 ==160534== at 0x4014883: getparameter (tool_getparam.c:2899) ==160534== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160534== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160534== by 0x4004208: main (tool_main.c:189) === End of file valgrind1487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1483 ../src/curl -q --output log/12/curl1483.out --include --trace-ascii log/12/trace1483 --trace-time http://127.0.0.1:36353/1483 -D log/12/heads1483 > log/12/stdout1483 2> log/12/stderr1483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1490 ../src/curl -q --output log/14/curl1490.out --trace-ascii log/14/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/result1490.txt -T log/14/upload1490.txt > log/14/stdout1490 2> log/14/stderr1490 test 1491...[file:// do not overwrite self with --skip-existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1491 ../src/curl -q --include --trace-ascii log/15/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/15/test1491.txt -o log/15/test1491.txt --skip-existing > log/15/stdout1491 2> log/15/stderr1491 1491: stderr FAILED: --- log/15/check-expected 2026-03-14 05:48:12.757949308 +0000 +++ log/15/check-generated 2026-03-14 05:48:12.757949308 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/15/test1491.txt" exists locally[CR][LF] == Contents of files in the log/15/ directory after test 1491 === Start of file check-expected Note: skips transfer, "log/15/test1491.txt" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1491 ../src/curl -q --include --trace-ascii log/15/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/15/test1491.txt -o log/15/test1491.txt --skip-existing > log/15/stdout1491 2> log/15/stderr1491 === End of file commands.log === Start of file server.cmd Testnum 1491 === End of file server.cmd === Start of file test1491.txt foo bar bar foo moo === End of file test1491.txt === Start of file valgrind1491 ==160508== ==160508== Process terminating with default action of signal 4 (SIGILL) ==160508== Illegal opcode at address 0x4014883 ==160508== at 0x4014883: getparameter (tool_getparam.c:2899) ==160508== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160508== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160508== by 0x4004208: main (tool_main.c:189) === End of file valgrind1491 test 1483...[HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1483 ../src/curl -q --output log/12/curl1483.out --include --trace-ascii log/12/trace1483 --trace-time http://127.0.0.1:36353/1483 -D log/12/heads1483 > log/12/stdout1483 2> log/12/stderr1483 1483: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1483 ../src/curl -q --output log/12/curl1483.out --include --trace-ascii log/12/trace1483 --trace-time http://127.0.0.1:36353/1483 -D log/12/heads1483 > log/12/stdout1483 2> log/12/stderr1483 === End of file commands.log === Start of file http_server.log 05:48:10.916993 ====> Client connect 05:48:10.917027 accept_connection 3 returned 4 05:48:10.917042 accept_connection 3 returned 0 05:48:10.917056 Read 93 bytes 05:48:10.917065 Process 93 bytes request 05:48:10.917077 Got request: GET /verifiedserver HTTP/1.1 05:48:10.917086 Are-we-friendly question received 05:48:10.917106 Wrote request (93 bytes) input to log/12/server.input 05:48:10.917123 Identifying ourselves as friends 05:48:10.917198 Response sent (56 bytes) and written to log/12/server.response 05:48:10.917208 special request received, no persistency 05:48:10.917216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 42712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1483 ==160340== ==160340== Process terminating with default action of signal 4 (SIGILL) ==160340== Illegal opcode at address 0x4014883 ==160340== at 0x4014883: getparameter (tool_getparam.c:2899) ==160340== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160340== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160340== by 0x4004208: main (tool_main.c:189) === End of file valgrind1483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1489 ../src/curl -q --output log/22/curl1489.out --trace-ascii log/22/trace1489 --trace-time http://127.0.0.1:41477/1489 -D % -s > log/22/stdout1489 2> log/22/stderr1489 test 1490...["upload" with file:// overwriting existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1490 ../src/curl -q --output log/14/curl1490.out --trace-ascii log/14/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/result1490.txt -T log/14/upload1490.txt > log/14/stdout1490 2> log/14/stderr1490 1490: output (log/14/result1490.txt) FAILED: --- log/14/check-expected 2026-03-14 05:48:12.874615976 +0000 +++ log/14/check-generated 2026-03-14 05:48:12.874615976 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/14/ directory after test 1490 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file check-generated already existing[LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1490 ../src/curl -q --output log/14/curl1490.out --trace-ascii log/14/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/14/result1490.txt -T log/14/upload1490.txt > log/14/stdout1490 2> log/14/stderr1490 === End of file commands.log === Start of file result1490.txt already existing === End of file result1490.txt === Start of file server.cmd Testnum 1490 === End of file server.cmd === Start of file upload1490.txt data in file to write === End of file upload1490.txt === Start of file valgrind1490 ==160466== ==160466== Process terminating with default action of signal 4 (SIGILL) ==160466== Illegal opcode at address 0x4014883 ==160466== at 0x4014883: getparameter (tool_getparam.c:2899) ==160466== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160466== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160466== by 0x4004208: main (tool_main.c:189) === End of file valgrind1490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1484 ../src/curl -q --output log/9/curl1484.out --include --trace-ascii log/9/trace1484 --trace-time -I http://127.0.0.1:33885/1484 --http1.1 > log/9/stdout1484 2> log/9/stderr1484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1496 ../src/curl -q --output log/11/curl1496.out --include --trace-ascii log/11/trace1496 --trace-time http://127.0.0.1:34551/1496 -D log/11/heads1496 > log/11/stdout1496 2> log/11/stderr1496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1494 ../src/curl -q --output log/18/curl1494.out --include --trace-ascii log/18/trace1494 --trace-time http://127.0.0.1:39913/1494 -D log/18/heads1494 > log/18/stdout1494 2> log/18/stderr1494 test 1489...[-D sent to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1489 ../src/curl -q --output log/22/curl1489.out --trace-ascii log/22/trace1489 --trace-time http://127.0.0.1:41477/1489 -D % -s > log/22/stdout1489 2> log/22/stderr1489 1489: stderr FAILED: --- log/22/check-expected 2026-03-14 05:48:12.937949309 +0000 +++ log/22/check-generated 2026-03-14 05:48:12.937949309 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] == Contents of files in the log/22/ directory after test 1489 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1489 ../src/curl -q --output log/22/curl1489.out --trace-ascii log/22/trace1489 --trace-time http://127.0.0.1:41477/1489 -D % -s > log/22/stdout1489 2> log/22/stderr1489 === End of file commands.log === Start of file http_server.log 05:48:11.161503 ====> Client connect 05:48:11.161541 accept_connection 3 returned 4 05:48:11.161557 accept_connection 3 returned 0 05:48:11.161574 Read 93 bytes 05:48:11.161583 Process 93 bytes request 05:48:11.161595 Got request: GET /verifiedserver HTTP/1.1 05:48:11.161603 Are-we-friendly question received 05:48:11.161623 Wrote request (93 bytes) input to log/22/server.input 05:48:11.161639 Identifying ourselves as friends 05:48:11.161713 Response sent (56 bytes) and written to log/22/server.response 05:48:11.161721 special request received, no persistency 05:48:11.161729 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 32886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind1489 ==160538== ==160538== Process terminating with default action of signal 4 (SIGILL) ==160538== Illegal opcode at address 0x4014883 ==160538== at 0x4014883: getparameter (tool_getparam.c:2899) ==160538== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160538== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160538== by 0x4004208: main (tool_main.c:189) === End of file valgrind1489 test 1484...[HTTP HEAD with response body to ignore] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1484 ../src/curl -q --output log/9/curl1484.out --include --trace-ascii log/9/trace1484 --trace-time -I http://127.0.0.1:33885/1484 --http1.1 > log/9/stdout1484 2> log/9/stderr1484 1484: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1484 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1484 ../src/curl -q --output log/9/curl1484.out --include --trace-ascii log/9/trace1484 --trace-time -I http://127.0.0.1:33885/1484 --http1.1 > log/9/stdout1484 2> log/9/stderr1484 === End of file commands.log === Start of file http_server.log 05:48:10.029140 ====> Client connect 05:48:10.029172 accept_connection 3 returned 4 05:48:10.029187 accept_connection 3 returned 0 05:48:10.029202 Read 93 bytes 05:48:10.029212 Process 93 bytes request 05:48:10.029225 Got request: GET /verifiedserver HTTP/1.1 05:48:10.029234 Are-we-friendly question received 05:48:10.029257 Wrote request (93 bytes) input to log/9/server.input 05:48:10.029274 Identifying ourselves as friends 05:48:10.029332 Response sent (56 bytes) and written to log/9/server.response 05:48:10.029342 special request received, no persistency 05:48:10.029350 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 59750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1484 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1484 ==160411== ==160411== Process terminating with default action of signal 4 (SIGILL) ==160411== Illegal opcode at address 0x4014883 ==160411== at 0x4014883: getparameter (tool_getparam.c:2899) ==160411== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160411== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160411== by 0x4004208: main (tool_main.c:189) === End of file valgrind1484 test 1496...[HTTP GET with gzip + chunked transfer-encoding without being asked] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1496 ../src/curl -q --output log/11/curl1496.out --include --trace-ascii log/11/trace1496 --trace-time http://127.0.0.1:34551/1496 -D log/11/heads1496 > log/11/stdout1496 2> log/11/stderr1496 1496: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1496 ../src/curl -q --output log/11/curl1496.out --include --trace-ascii log/11/trace1496 --trace-time http://127.0.0.1:34551/1496 -D log/11/heads1496 > log/11/stdout1496 2> log/11/stderr1496 === End of file commands.log === Start of file http_server.log 05:48:11.587128 ====> Client connect 05:48:11.587162 accept_connection 3 returned 4 05:48:11.587177 accept_connection 3 returned 0 05:48:11.587189 Read 93 bytes 05:48:11.587198 Process 93 bytes request 05:48:11.587207 Got request: GET /verifiedserver HTTP/1.1 05:48:11.587216 Are-we-friendly question received 05:48:11.587238 Wrote request (93 bytes) input to log/11/server.input 05:48:11.587256 Identifying ourselves as friends 05:48:11.587314 Response sent (56 bytes) and written to log/11/server.responsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1492 ../src/curl -q --trace-ascii log/20/trace1492 --trace-time http://127.0.0.1:38929/junk1492 -J -O --show-headers --output-dir log/20 > log/20/stdout1492 2> log/20/stderr1492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1493 ../src/curl -q --output log/13/curl1493.out --include --trace-ascii log/13/trace1493 --trace-time http://127.0.0.1:45359/1493 -D log/13/heads1493 > log/13/stdout1493 2> log/13/stderr1493 e 05:48:11.587324 special request received, no persistency 05:48:11.587332 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 45046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1496 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file valgrind1496 ==161001== ==161001== Process terminating with default action of signal 4 (SIGILL) ==161001== Illegal opcode at address 0x4014883 ==161001== at 0x4014883: getparameter (tool_getparam.c:2899) ==161001== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==161001== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==161001== by 0x4004208: main (tool_main.c:189) === End of file valgrind1496 test 1494...[HTTP GET with identity twice in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1494 ../src/curl -q --output log/18/curl1494.out --include --trace-ascii log/18/trace1494 --trace-time http://127.0.0.1:39913/1494 -D log/18/heads1494 > log/18/stdout1494 2> log/18/stderr1494 1494: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1494 ../src/curl -q --output log/18/curl1494.out --include --trace-ascii log/18/trace1494 --trace-time http://127.0.0.1:39913/1494 -D log/18/heads1494 > log/18/stdout1494 2> log/18/stderr1494 === End of file commands.log === Start of file http_server.log 05:48:10.487048 ====> Client connect 05:48:10.487089 accept_connection 3 returned 4 05:48:10.487107 accept_connection 3 returned 0 05:48:10.487124 Read 93 bytes 05:48:10.487133 Process 93 bytes request 05:48:10.487147 Got request: GET /verifiedserver HTTP/1.1 05:48:10.487158 Are-we-friendly question received 05:48:10.487193 Wrote request (93 bytes) input to log/18/server.input 05:48:10.487210 Identifying ourselves as friends 05:48:10.487285 Response sent (56 bytes) and written to log/18/server.response 05:48:10.487295 special request received, no persistency 05:48:10.487303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 57834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1494 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1494 ==160852== ==160852== Process terminating with default action of signal 4 (SIGILL) ==160852== Illegal opcode at address 0x4014883 ==160852== at 0x4014883: getparameter (tool_getparam.c:2899) ==160852== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160852== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160852== by 0x4004208: main (tool_main.c:189) === End of file valgrind1494 test 1492...[HTTP GET with -J + --show-headers but no Content-Disposition:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1492 ../src/curl -q --trace-ascii log/20/trace1492 --trace-time http://127.0.0.1:38929/junk1492 -J -O --show-headers --output-dir log/20 > log/20/stdout1492 2> log/20/stderr1492 1492: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1492 ../src/curl -q --trace-ascii log/20/trace1492 --trace-time http://127.0.0.1:38929/junk1492 -J -O --show-headers --output-dir log/20 > log/20/stdout1492 2> log/20/stderr1492 === End of file commands.log === Start of file http_server.log 05:48:10.383315 ====> Client connect 05:48:10.383349 accept_connection 3 returned 4 05:48:10.383365 accept_connection 3 returned 0 05:48:10.383544 Read 93 bytes 05:48:10.383559 Process 93 bytes request 05:48:10.383575 Got request: GET /verifiedserver HTTP/1.1 05:48:10.383585 Are-we-friendly question received 05:48:10.383614 Wrote request (93 bytes) input to log/20/server.input 05:48:10.383647 Identifying ourselves as friends 05:48:10.383703 Response sent (56 bytes) and written to log/20/server.response 05:48:10.383712 special request received, no persistency 05:48:10.383720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 52182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1492 ==160800== ==160800== Process terminating with default action of signal 4 (SIGILL) ==160800== Illegal opcode at address 0x4014883 ==160800== at 0x4014883: getparameter (tool_getparam.c:2899) ==160800== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160800== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160800== by 0x4004208: main (tool_main.c:189) === End of file valgrind1492 test 1493...[HTTP GET with identity + chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1493 ../src/curl -q --output log/13/curl1493.out --include --trace-ascii log/13/trace1493 --trace-time http://127.0.0.1:45359/1493 -D log/13/heads1493 > log/13/stdout1493 2> log/13/stderr1493 1493: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1493 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1493 ../src/curl -q --output log/13/curl1493.out --include --trace-ascii log/13/trace1493 --trace-time http://127.0.0.1:45359/1493 -D log/13/heads1493 > log/13/stdout1493 2> log/1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1495 ../src/curl -q --output log/23/curl1495.out --include --trace-ascii log/23/trace1495 --trace-time http://127.0.0.1:33217/1495 -D log/23/heads1495 > log/23/stdout1495 2> log/23/stderr1495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1498 ../src/curl -q --output log/24/curl1498.out --include --trace-ascii log/24/trace1498 --trace-time http://127.0.0.1:33593/bzz/1498 -T . log/24/stdout1498 2> log/24/stderr1498 3/stderr1493 === End of file commands.log === Start of file http_server.log 05:48:11.418489 ====> Client connect 05:48:11.418527 accept_connection 3 returned 4 05:48:11.418546 accept_connection 3 returned 0 05:48:11.418561 Read 93 bytes 05:48:11.418570 Process 93 bytes request 05:48:11.418584 Got request: GET /verifiedserver HTTP/1.1 05:48:11.418593 Are-we-friendly question received 05:48:11.418621 Wrote request (93 bytes) input to log/13/server.input 05:48:11.418639 Identifying ourselves as friends 05:48:11.418704 Response sent (56 bytes) and written to log/13/server.response 05:48:11.418716 special request received, no persistency 05:48:11.418725 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 48158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1493 ==160845== ==160845== Process terminating with default action of signal 4 (SIGILL) ==160845== Illegal opcode at address 0x4014883 ==160845== at 0x4014883: getparameter (tool_getparam.c:2899) ==160845== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160845== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160845== by 0x4004208: main (tool_main.c:189) === End of file valgrind1493 test 1495...[HTTP GET with chunked + identity in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1495 ../src/curl -q --output log/23/curl1495.out --include --trace-ascii log/23/trace1495 --trace-time http://127.0.0.1:33217/1495 -D log/23/heads1495 > log/23/stdout1495 2> log/23/stderr1495 1495: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1495 ../src/curl -q --output log/23/curl1495.out --include --trace-ascii log/23/trace1495 --trace-time http://127.0.0.1:33217/1495 -D log/23/heads1495 > log/23/stdout1495 2> log/23/stderr1495 === End of file commands.log === Start of file http_server.log 05:48:11.582926 ====> Client connect 05:48:11.582966 accept_connection 3 returned 4 05:48:11.582984 accept_connection 3 returned 0 05:48:11.585435 Read 93 bytes 05:48:11.585456 Process 93 bytes request 05:48:11.585472 Got request: GET /verifiedserver HTTP/1.1 05:48:11.585482 Are-we-friendly question received 05:48:11.585518 Wrote request (93 bytes) input to log/23/server.input 05:48:11.585539 Identifying ourselves as friends 05:48:11.585605 Response sent (56 bytes) and written to log/23/server.response 05:48:11.585617 special request received, no persistency 05:48:11.585627 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 37000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1495 ==160965== ==160965== Process terminating with default action of signal 4 (SIGILL) ==160965== Illegal opcode at address 0x4014883 ==160965== at 0x4014883: getparameter (tool_getparam.c:2899) ==160965== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==160965== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==160965== by 0x4004208: main (tool_main.c:189) === End of file valgrind1495 test 1498...[HTTP PUT from stdin using period] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1498 ../src/curl -q --output log/24/curl1498.out --include --trace-ascii log/24/trace1498 --trace-time http://127.0.0.1:33593/bzz/1498 -T . log/24/stdout1498 2> log/24/stderr1498 1498: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1498 ../src/curl -q --output log/24/curl1498.out --include --trace-ascii log/24/trace1498 --trace-time http://127.0.0.1:33593/bzz/1498 -T . log/24/stdout1498 2> log/24/stderr1498 === End of file commands.log === Start of file http_server.log 05:48:12.156413 ====> Client connect 05:48:12.156443 accept_connection 3 returned 4 05:48:12.156464 accept_connection 3 returned 0 05:48:12.156478 Read 93 bytes 05:48:12.156488 Process 93 bytes request 05:48:12.156499 Got request: GET /verifiedserver HTTP/1.1 05:48:12.156508 Are-we-friendly question received 05:48:12.156532 Wrote request (93 bytes) input to log/24/server.input 05:48:12.156549 Identifying ourselves as friends 05:48:12.156607 Response sent (56 bytes) and written to log/24/server.response 05:48:12.156618 special request received, no persistency 05:48:12.156628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 51660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stdin-for-1498 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejheCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1497 ../src/curl -q --output log/16/curl1497.out --include --trace-ascii log/16/trace1497 --trace-time http://127.0.0.1:44673/1497 --retry 3 -o /dev/null > log/16/stdout1497 2> log/16/stderr1497 jhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhej === End of file stdin-for-1498 === Start of file valgrind1498 ==161178== ==161178== Process terminating with default action of signal 4 (SIGILL) ==161178== Illegal opcode at address 0x4014883 ==161178== at 0x4014883: getparameter (tool_getparam.c:2899) ==161178== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==161178== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==161178== by 0x4004208: main (tool_main.c:189) === End of file valgrind1498 test 1497...[HTTP GET --retry on 503 error with output to /dev/null] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1497 ../src/curl -q --output log/16/curl1497.out --include --trace-ascii log/16/trace1497 --trace-time http://127.0.0.1:44673/1497 --retry 3 -o /dev/null > log/16/stdout1497 2> log/16/stderr1497 1497: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1497 ../src/curl -q --output log/16/curl1497.out --include --trace-ascii log/16/trace1497 --trace-time http://127.0.0.1:44673/1497 --retry 3 -o /dev/null > log/16/stdout1497 2> log/16/stderr1497 === End of file commands.log === Start of file http_server.log 05:48:12.092898 ====> Client connect 05:48:12.092938 accept_connection 3 returned 4 05:48:12.092958 accept_connection 3 returned 0 05:48:12.092974 Read 93 bytes 05:48:12.092985 Process 93 bytes request 05:48:12.093000 Got request: GET /verifiedserver HTTP/1.1 05:48:12.093010 Are-we-friendly question received 05:48:12.093038 Wrote request (93 bytes) input to log/16/server.input 05:48:12.093058 Identifying ourselves as friends 05:48:12.093127 Response sent (56 bytes) and written to log/16/server.response 05:48:12.093140 special request received, no persistency 05:48:12.093150 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 48236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd Testnum 1497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file valgrind1497 ==1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1503 ./libtest/libtests lib1502 http://google.com:46741/1503 46741 127.0.0.1 > log/10/stdout1503 2> log/10/stderr1503 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:45623/1499 http://127.0.0.1:45623/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:44937/1501/ > log/7/stdout1501 2> log/7/stderr1501 * kill pid for ftp-ctrl => 81106 RUN: Process with pid 81085 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1502 ./libtest/libtests lib1502 http://google.com:41799/1502 41799 127.0.0.1 > log/2/stdout1502 2> log/2/stderr1502 61162== ==161162== Process terminating with default action of signal 4 (SIGILL) ==161162== Illegal opcode at address 0x4014883 ==161162== at 0x4014883: getparameter (tool_getparam.c:2899) ==161162== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==161162== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==161162== by 0x4004208: main (tool_main.c:189) === End of file valgrind1497 test 1503...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1503 ./libtest/libtests lib1502 http://google.com:46741/1503 46741 127.0.0.1 > log/10/stdout1503 2> log/10/stderr1503 1503: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1503 ./libtest/libtests lib1502 http://google.com:46741/1503 46741 127.0.0.1 > log/10/stdout1503 2> log/10/stderr1503 === End of file commands.log === Start of file http_server.log 05:48:11.413702 ====> Client connect 05:48:11.413739 accept_connection 3 returned 4 05:48:11.413755 accept_connection 3 returned 0 05:48:11.413770 Read 93 bytes 05:48:11.413779 Process 93 bytes request 05:48:11.413790 Got request: GET /verifiedserver HTTP/1.1 05:48:11.413798 Are-we-friendly question received 05:48:11.413821 Wrote request (93 bytes) input to log/10/server.input 05:48:11.413837 Identifying ourselves as friends 05:48:11.413903 Response sent (56 bytes) and written to log/10/server.response 05:48:11.413914 special request received, no persistency 05:48:11.413923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 52528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr1503 URL: http://google.com:46741/1503 === End of file stderr1503 === Start of file valgrind1503 ==161383== ==161383== Process terminating with default action of signal 4 (SIGILL) ==161383== Illegal opcode at address 0x51D8933 ==161383== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161383== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161383== by 0x51D8933: Curl_open (url.c:503) ==161383== by 0x514E50F: curl_easy_init (easy.c:350) ==161383== by 0x40606E1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161383== by 0x40034B5: main (first.c:279) ==161383== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161383== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161383== by 0x51C58E9: UnknownInlinedFun (slist.c:62) ==161383== by 0x51C58E9: curl_slist_append (slist.c:92) ==161383== by 0x40606CF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161383== by 0x40034B5: main (first.c:279) ==161383== === End of file valgrind1503 test 1499...[HTTP chunked encoding and chunked trailer, twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:45623/1499 http://127.0.0.1:45623/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 1499: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:45623/1499 http://127.0.0.1:45623/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 === End of file commands.log === Start of file http_server.log 05:48:11.153716 ====> Client connect 05:48:11.153759 accept_connection 3 returned 4 05:48:11.153780 accept_connection 3 returned 0 05:48:11.153797 Read 93 bytes 05:48:11.153807 Process 93 bytes request 05:48:11.153821 Got request: GET /verifiedserver HTTP/1.1 05:48:11.153831 Are-we-friendly question received 05:48:11.153859 Wrote request (93 bytes) input to log/8/server.input 05:48:11.153877 Identifying ourselves as friends 05:48:11.153961 Response sent (56 bytes) and written to log/8/server.response 05:48:11.153973 special request received, no persistency 05:48:11.153982 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 38310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind1499 ==161174== ==161174== Process terminating with default action of signal 4 (SIGILL) ==161174== Illegal opcode at address 0x4014883 ==161174== at 0x4014883: getparameter (tool_getparam.c:2899) ==161174== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==161174== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==161174== by 0x4004208: main (tool_main.c:189) === End of file valgrind1499 test 1502...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1502 ./libtest/libtests lib1502 http://google.com:41799/1502 41799 127.0.0.1 > log/2/stdout1502 2> log/2/stderr1502 1502: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1502 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1502 ./libtest/libtests lib1502 http://google.com:41799/1502 41799 127.0.0.1 > log/2/stdout1502 2> log/2/stderr1502 === End of file commands.log === Start of file http_server.log 05:48:12.419634 ====> Client connect 05:48:12.419665 accept_connection 3 returned 4 05:48:12.419680 accept_connection 3 returned 0 05:48:12.419820 Read 93 bytes 05:48:12.419833 Process 93 bytes request 05:48:12.419844 Got request: GET /verifiedserver HTTP/1.1 05:48:12.419853 Are-we-friendly question received 05:48:12.419881 Wrote request (93 bytes) input to log/2/server.input 05:48:12.419897 Identifying ouRUN: Process with pid 81085 gracefully died rselves as friends 05:48:12.419960 Response sent (56 bytes) and written to log/2/server.response 05:48:12.419969 special request received, no persistency 05:48:12.419978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 55456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1502 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr1502 URL: http://google.com:41799/1502 === End of file stderr1502 === Start of file valgrind1502 ==161402== ==161402== Process terminating with default action of signal 4 (SIGILL) ==161402== Illegal opcode at address 0x51D8933 ==161402== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161402== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161402== by 0x51D8933: Curl_open (url.c:503) ==161402== by 0x514E50F: curl_easy_init (easy.c:350) ==161402== by 0x40606E1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161402== by 0x40034B5: main (first.c:279) ==161402== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161402== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161402== by 0x51C58E9: UnknownInlinedFun (slist.c:62) ==161402== by 0x51C58E9: curl_slist_append (slist.c:92) ==161402== by 0x40606CF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161402== by 0x40034B5: main (first.c:279) ==161402== === End of file valgrind1502 test 1501...[FTP with multi interface and slow LIST response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:44937/1501/ > log/7/stdout1501 2> log/7/stderr1501 1501: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:44937/1501/ > log/7/stdout1501 2> log/7/stderr1501 === End of file commands.log === Start of file ftp_server.log 05:48:11.836148 ====> Client connect 05:48:11.836319 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:11.837046 < "USER anonymous" 05:48:11.837084 > "331 We are happy you popped in![CR][LF]" 05:48:11.837250 < "PASS ftp@example.com" 05:48:11.837274 > "230 Welcome you silly person[CR][LF]" 05:48:11.837429 < "PWD" 05:48:11.837460 > "257 "/" is current directory[CR][LF]" 05:48:11.837619 < "EPSV" 05:48:11.837645 ====> Passive DATA channel requested by client 05:48:11.837661 DATA sockfilt for passive data channel starting... 05:48:11.847417 DATA sockfilt for passive data channel started (pid 161284) 05:48:11.847561 DATA sockfilt for passive data channel listens on port 46147 05:48:11.847615 > "229 Entering Passive Mode (|||46147|)[CR][LF]" 05:48:11.847633 Client has been notified that DATA conn will be accepted on port 46147 05:48:11.847962 Client connects to port 46147 05:48:11.847994 ====> Client established passive DATA connection on port 46147 05:48:11.848085 < "TYPE I" 05:48:11.848117 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:11.848291 < "SIZE verifiedserver" 05:48:11.848335 > "213 17[CR][LF]" 05:48:11.848485 < "RETR verifiedserver" 05:48:11.848521 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:11.848616 =====> Closing passive DATA connection... 05:48:11.848635 Server disconnects passive DATA connection 05:48:11.848827 Server disconnected passive DATA connection 05:48:11.848851 DATA sockfilt for passive data channel quits (pid 161284) 05:48:11.849153 DATA sockfilt for passive data channel quit (pid 161284) 05:48:11.849179 =====> Closed passive DATA connection 05:48:11.849206 > "226 File transfer complete[CR][LF]" 05:48:11.896409 < "QUIT" 05:48:11.896471 > "221 bye bye baby[CR][LF]" 05:48:11.897658 MAIN sockfilt said DISC 05:48:11.897689 ====> Client disconnected 05:48:11.897769 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:12.297463 ====> Client connect 05:48:12.298075 Received DATA (on stdin) 05:48:12.298093 > 146 bytes data, server => client 05:48:12.298106 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:12.298116 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:12.298125 '220 \___|\___/|_| \_\_____|\r\n' 05:48:12.298339 < 16 bytes data, client => server 05:48:12.298354 'USER anonymous\r\n' 05:48:12.298539 Received DATA (on stdin) 05:48:12.298550 > 33 bytes data, server => client 05:48:12.298561 '331 We are happy you popped in!\r\n' 05:48:12.298614 < 22 bytes data, client => server 05:48:12.298625 'PASS ftp@example.com\r\n' 05:48:12.298725 Received DATA (on stdin) 05:48:12.298735 > 30 bytes data, server => client 05:48:12.298746 '230 Welcome you silly person\r\n' 05:48:12.298793 < 5 bytes data, client => server 05:48:12.298805 'PWD\r\n' 05:48:12.298911 Received DATA (on stdin) 05:48:12.298922 > 30 bytes data, server => client 05:48:12.298932 '257 "/" is current directory\r\n' 05:48:12.298990 < 6 bytes data, client => server 05:48:12.299001 'EPSV\r\n' 05:48:12.309097 Received DATA (on stdin) 05:48:12.309116 > 39 bytes data, server => client 05:48:12.309127 '229 Entering Passive Mode (|||46147|)\r\n' 05:48:12.309330 < 8 bytes data, client => server 05:48:12.309345 'TYPE I\r\n' 05:48:12.309574 Received DATA (on stdin) 05:48:12.309588 > 33 bytes data, server => client 05:48:12.309599 '200 I modify TYPE as you wanted\r\n' 05:48:12.309656 < 21 bytes data, client => server 05:48:12.309669 'SIZE verifiedserver\r\n' 05:48:12.309786 Received DATA (on stdin) 05:48:12.309797 > 8 bytes data, server => client 05:48:12.309807 '213 17\r\n' 05:48:12.309855 < 21 bytes data, client => server 05:48:12.309866 'RETR verifiedserver\r\n' 05:48:12.310088 Received DATA (on stdin) 05:48:12.310099 > 29 bytes data, server => client 05:48:12.310109 '150 Binary junk (17 bytes).\r\n' 05:48:12.310657 Received DATA (on stdin) 05:48:12.310669 > 28 bytes data, server => client 05:48:12.310680 '226 File transfer complete\r\n' 05:48:12.357652 < 6 bytes data, client => server 05:48:12.357693 'QUIT\r\n' 05:48:12.357923 Received DATA (on stdin) 05:48:12.357933 > 18 bytes data, server => client 05:48:12.357942 '221 bye bye baby\r\n' 05:48:12.359058 ====> Client disconnect 05:48:12.359217 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:11.308447 Running IPv4 version 05:48:11.308559 Listening on port 46147 05:48:11.308600 Wrote pid 161284 to log/7/server/ftp_sockdata.pid 05:48:11.308806 Received PING (on stdin) 05:48:11.308908 Received PORT (on stdin) 05:48:11.309366 ====> Client connect 05:48:11.310164 Received DATA (on stdin) 05:48:11.310177 > 17 bytes data, server => client 05:48:11.310188 'WE ROOLZ: 81085\r\n' 05:48:11.310215 Received DISC (on stdin) 05:48:11.310227 ====> Client forcibly disconnected 05:48:11.310380 Received QUIT (on stdin) 05:48:11.310393 quits 05:48:11.310458 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY LIST 2 DELAY TYPE 2 Testnum 1501 === CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1505 ./libtest/libtests lib1502 http://google.com:42891/1505 42891 127.0.0.1 > log/21/stdout1505 2> log/21/stderr1505 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1504 ./libtest/libtests lib1502 http://google.com:41219/1504 41219 127.0.0.1 > log/17/stdout1504 2> log/17/stderr1504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:45461/1507 log/5/stdout1507 2> log/5/stderr1507 End of file server.cmd === Start of file stderr1501 URL: ftp://127.0.0.1:44937/1501/ === End of file stderr1501 === Start of file valgrind1501 ==161352== ==161352== Process terminating with default action of signal 4 (SIGILL) ==161352== Illegal opcode at address 0x51D8933 ==161352== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161352== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161352== by 0x51D8933: Curl_open (url.c:503) ==161352== by 0x514E50F: curl_easy_init (easy.c:350) ==161352== by 0x402BEB9: test_lib1501.lto_priv.0 (lib1501.c:42) ==161352== by 0x40034B5: main (first.c:279) === End of file valgrind1501 test 1505...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1505 ./libtest/libtests lib1502 http://google.com:42891/1505 42891 127.0.0.1 > log/21/stdout1505 2> log/21/stderr1505 1505: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1505 ./libtest/libtests lib1502 http://google.com:42891/1505 42891 127.0.0.1 > log/21/stdout1505 2> log/21/stderr1505 === End of file commands.log === Start of file http_server.log 05:48:11.834749 ====> Client connect 05:48:11.834786 accept_connection 3 returned 4 05:48:11.834804 accept_connection 3 returned 0 05:48:11.834820 Read 93 bytes 05:48:11.834830 Process 93 bytes request 05:48:11.834844 Got request: GET /verifiedserver HTTP/1.1 05:48:11.834854 Are-we-friendly question received 05:48:11.834884 Wrote request (93 bytes) input to log/21/server.input 05:48:11.834904 Identifying ourselves as friends 05:48:11.834968 Response sent (56 bytes) and written to log/21/server.response 05:48:11.834980 special request received, no persistency 05:48:11.834990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1505 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr1505 URL: http://google.com:42891/1505 === End of file stderr1505 === Start of file valgrind1505 ==161577== ==161577== Process terminating with default action of signal 4 (SIGILL) ==161577== Illegal opcode at address 0x51D8933 ==161577== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161577== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161577== by 0x51D8933: Curl_open (url.c:503) ==161577== by 0x514E50F: curl_easy_init (easy.c:350) ==161577== by 0x40606E1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161577== by 0x40034B5: main (first.c:279) ==161577== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161577== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161577== by 0x51C58E9: UnknownInlinedFun (slist.c:62) ==161577== by 0x51C58E9: curl_slist_append (slist.c:92) ==161577== by 0x40606CF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161577== by 0x40034B5: main (first.c:279) ==161577== === End of file valgrind1505 test 1504...[HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1504 ./libtest/libtests lib1502 http://google.com:41219/1504 41219 127.0.0.1 > log/17/stdout1504 2> log/17/stderr1504 1504: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1504 ./libtest/libtests lib1502 http://google.com:41219/1504 41219 127.0.0.1 > log/17/stdout1504 2> log/17/stderr1504 === End of file commands.log === Start of file http_server.log 05:48:12.797047 ====> Client connect 05:48:12.797106 accept_connection 3 returned 4 05:48:12.797123 accept_connection 3 returned 0 05:48:12.798074 Read 93 bytes 05:48:12.798089 Process 93 bytes request 05:48:12.798103 Got request: GET /verifiedserver HTTP/1.1 05:48:12.798113 Are-we-friendly question received 05:48:12.798142 Wrote request (93 bytes) input to log/17/server.input 05:48:12.798159 Identifying ourselves as friends 05:48:12.798210 Response sent (57 bytes) and written to log/17/server.response 05:48:12.798220 special request received, no persistency 05:48:12.798229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 57550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1504 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file stderr1504 URL: http://google.com:41219/1504 === End of file stderr1504 === Start of file valgrind1504 ==161563== ==161563== Process terminating with default action of signal 4 (SIGILL) ==161563== Illegal opcode at address 0x51D8933 ==161563== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161563== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161563== by 0x51D8933: Curl_open (url.c:503) ==161563== by 0x514E50F: curl_easy_init (easy.c:350) ==161563== by 0x40606E1: test_lib1502.part.0.lto_priv.0 (lib1502.c:63) ==161563== by 0x40034B5: main (first.c:279) ==161563== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 570 of 789 ==161563== at 0x51017A8: malloc (vg_replace_malloc.c:446) ==161563== by 0x51C58E9: UnknownInlinedFun (slist.c:62) ==161563== by 0x51C58E9: curl_slist_append (slist.c:92) ==161563== by 0x40606CF: test_lib1502.part.0.lto_priv.0 (lib1502.c:56) ==161563== by 0x40034B5: main (first.c:279) ==161563== === End of file valgrind1504 test 1507...[SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:45461/1507 log/5/stdout1507 2> log/5/stderr1507 1507: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:35701/1509 127.0.0.1:44431 > log/19/stdout1509 2> log/19/stderr1509 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:36353/1513 > log/12/stdout1513 2> log/12/stderr1513 /startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:45461/1507 log/5/stdout1507 2> log/5/stderr1507 === End of file commands.log === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 05:48:12.501324 ====> Client connect 05:48:12.501487 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:12.512659 < "EHLO verifiedserver" 05:48:12.512737 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:12.512948 < "HELP" 05:48:12.512986 > "214 WE ROOLZ: 126487[CR][LF]" 05:48:12.513005 return proof we are we 05:48:12.513273 < "QUIT" 05:48:12.513306 > "221 curl ESMTP server signing off[CR][LF]" 05:48:12.514502 MAIN sockfilt said DISC 05:48:12.514536 ====> Client disconnected 05:48:12.514617 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:11.962652 ====> Client connect 05:48:11.962960 Received DATA (on stdin) 05:48:11.962977 > 146 bytes data, server => client 05:48:11.962991 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:11.963002 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:11.963012 '220 \___|\___/|_| \_\_____|\r\n' 05:48:11.973808 < 21 bytes data, client => server 05:48:11.973855 'EHLO verifiedserver\r\n' 05:48:11.974201 Received DATA (on stdin) 05:48:11.974216 > 53 bytes data, server => client 05:48:11.974227 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:11.974293 < 6 bytes data, client => server 05:48:11.974308 'HELP\r\n' 05:48:11.974457 Received DATA (on stdin) 05:48:11.974470 > 22 bytes data, server => client 05:48:11.974479 '214 WE ROOLZ: 126487\r\n' 05:48:11.974626 < 6 bytes data, client => server 05:48:11.974642 'QUIT\r\n' 05:48:11.974761 Received DATA (on stdin) 05:48:11.974773 > 35 bytes data, server => client 05:48:11.974783 '221 curl ESMTP server signing off\r\n' 05:48:11.975900 ====> Client disconnect 05:48:11.976077 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1507 URL: smtp://127.0.0.1:45461/1507 === End of file stderr1507 === Start of file stdin-for-1507 From: different To: another body === End of file stdin-for-1507 === Start of file valgrind1507 ==161690== ==161690== Process terminating with default action of signal 4 (SIGILL) ==161690== Illegal opcode at address 0x51D8933 ==161690== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161690== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161690== by 0x51D8933: Curl_open (url.c:503) ==161690== by 0x514E50F: curl_easy_init (easy.c:350) ==161690== by 0x402DBCB: test_lib1507.lto_priv.0 (lib1507.c:48) ==161690== by 0x40034B5: main (first.c:279) === End of file valgrind1507 test 1509...[simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:35701/1509 127.0.0.1:44431 > log/19/stdout1509 2> log/19/stderr1509 1509: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1509 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:35701/1509 127.0.0.1:44431 > log/19/stdout1509 2> log/19/stderr1509 === End of file commands.log === Start of file http2_server.log 05:48:12.257074 ====> Client connect 05:48:12.257117 accept_connection 3 returned 4 05:48:12.257136 accept_connection 3 returned 0 05:48:12.257152 Read 93 bytes 05:48:12.257162 Process 93 bytes request 05:48:12.257191 Got request: GET /verifiedserver HTTP/1.1 05:48:12.257201 Are-we-friendly question received 05:48:12.257227 Wrote request (93 bytes) input to log/19/proxy.input 05:48:12.257249 Identifying ourselves as friends 05:48:12.257331 Response sent (57 bytes) and written to log/19/proxy.response 05:48:12.257346 special request received, no persistency 05:48:12.257355 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44431... * Established connection to 127.0.0.1 (127.0.0.1 port 44431) from 127.0.0.1 port 60846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44431 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44431 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 116662 === End of file http2_verify.out === Start of file http_server.log 05:48:12.183715 ====> Client connect 05:48:12.183757 accept_connection 3 returned 4 05:48:12.183775 accept_connection 3 returned 0 05:48:12.183790 Read 93 bytes 05:48:12.183800 Process 93 bytes request 05:48:12.183813 Got request: GET /verifiedserver HTTP/1.1 05:48:12.183822 Are-we-friendly question received 05:48:12.183851 Wrote request (93 bytes) input to log/19/server.input 05:48:12.183868 Identifying ourselves as friends 05:48:12.183943 Response sent (56 bytes) and written to log/19/server.response 05:48:12.183953 special request received, no persistency 05:48:12.183962 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 44506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 116662 === End of file proxy.response === Start of file server.cmd connection-monitor Testnum 1509 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr1509 URL: http://the.old.moo.1509:35701/1509 === End of file stderr1509 === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==161937== ==161937== Process terminating with default action of signal 4 (SIGILL) ==161937== Illegal opcode at address 0x51D8933 ==161937== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161937== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161937== by 0x51D8933: Curl_open (url.c:503) ==161937== by 0x514E50F: curl_easy_init (easy.c:350) ==161937== by 0x4030919: UnknownInlinedFun (lib1509.c:53) ==161937== by 0x4030919: test_lib1509.lto_priv.0 (lib1509.c:44) ==161937== by 0x40034B5: main (first.c:279) === End of file valgrind1509 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:43413/1511 > log/15/stdout1511 2> log/15/stderr1511 test 1513...[return failure immediately from progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:36353/1513 > log/12/stdout1513 2> log/12/stderr1513 1513: stdout FAILED: --- log/12/check-expected 2026-03-14 05:48:14.881282641 +0000 +++ log/12/check-generated 2026-03-14 05:48:14.881282641 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/12/ directory after test 1513 === Start of file check-expected PROGRESSFUNCTION called[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:36353/1513 > log/12/stdout1513 2> log/12/stderr1513 === End of file commands.log === Start of file http_server.log 05:48:13.417054 ====> Client connect 05:48:13.417092 accept_connection 3 returned 4 05:48:13.417110 accept_connection 3 returned 0 05:48:13.417304 Read 93 bytes 05:48:13.417321 Process 93 bytes request 05:48:13.417337 Got request: GET /verifiedserver HTTP/1.1 05:48:13.417346 Are-we-friendly question received 05:48:13.417374 Wrote request (93 bytes) input to log/12/server.input 05:48:13.417394 Identifying ourselves as friends 05:48:13.417455 Response sent (56 bytes) and written to log/12/server.response 05:48:13.417468 special request received, no persistency 05:48:13.417476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 42728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr1513 URL: http://127.0.0.1:36353/1513 === End of file stderr1513 === Start of file valgrind1513 ==162054== ==162054== Process terminating with default action of signal 4 (SIGILL) ==162054== Illegal opcode at address 0x51D8933 ==162054== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162054== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162054== by 0x51D8933: Curl_open (url.c:503) ==162054== by 0x514E50F: curl_easy_init (easy.c:350) ==162054== by 0x402EA4C: UnknownInlinedFun (lib1513.c:55) ==162054== by 0x402EA4C: test_lib1513.lto_priv.0 (lib1513.c:48) ==162054== by 0x40034B5: main (first.c:279) === End of file valgrind1513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1508 ./libtest/libtests lib1508 - > log/3/stdout1508 2> log/3/stderr1508 test 1511...[HTTP GET time conditions in repeated requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:43413/1511 > log/15/stdout1511 2> log/15/stderr1511 1511: data FAILED: --- log/15/check-expected 2026-03-14 05:48:14.944615974 +0000 +++ log/15/check-generated 2026-03-14 05:48:14.944615974 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/15/ directory after test 1511 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:43413/1511 > log/15/stdout1511 2> log/15/stderr1511 === End of file commands.log === Start of file http_server.log 05:48:13.307659 ====> Client connect 05:48:13.307697 accept_connection 3 returned 4 05:48:13.307716 accept_connection 3 returned 0 05:48:13.307732 Read 93 bytes 05:48:13.307743 Process 93 bytes request 05:48:13.307758 Got request: GET /verifiedserver HTTP/1.1 05:48:13.307768 Are-we-friendly question received 05:48:13.307799 Wrote request (93 bytes) input to log/15/server.input 05:48:13.307819 Identifying ourselves as friends 05:48:13.307886 Response sent (56 bytes) and written to log/15/server.response 05:48:13.307899 special request received, no persistency 05:48:13.307908 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 51332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1511 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr1511 URL: http://127.0.0.1:43413/1511 === End of file stderr1511 === Start of file valgrind1511 ==162005== ==162005== Process terminating with default action of signal 4 (SIGILL) ==162005== Illegal opcode at address 0x51D8933 ==162005== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162005== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162005== by 0x51D8933: Curl_open (url.c:503) ==162005== by 0x514E50F: curl_easy_init (easy.c:350) ==162005== by 0x4030C79: UnknownInlinedFun (lib1511.c:34) ==162005== by 0x4030C79: test_lib1511.lto_priv.0 (lib1511.c:26) ==162005== by 0x40034B5: main (first.c:279) === End of file valgrind1511 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 38765 > log/1/stdout1506 2> log/1/stderr1506 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 33885 > log/9/stdout1516 2> log/9/stderr1516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:40607/1500 > log/6/stdout1500 2> log/6/stderr1500 test 1508...[Close a multi handle without using it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1508 ./libtest/libtests lib1508 - > log/3/stdout1508 2> log/3/stderr1508 1508: output (log/3/stdout1508) FAILED: --- log/3/check-expected 2026-03-14 05:48:15.181282640 +0000 +++ log/3/check-generated 2026-03-14 05:48:15.181282640 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/3/ directory after test 1508 === Start of file check-expected We are done[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1508 ./libtest/libtests lib1508 - > log/3/stdout1508 2> log/3/stderr1508 === End of file commands.log === Start of file server.cmd Testnum 1508 === End of file server.cmd === Start of file stderr1508 URL: - === End of file stderr1508 === Start of file valgrind1508 ==161704== ==161704== Process terminating with default action of signal 4 (SIGILL) ==161704== Illegal opcode at address 0x519F3C0 ==161704== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==161704== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==161704== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==161704== by 0x402CFA3: UnknownInlinedFun (lib1508.c:35) ==161704== by 0x402CFA3: test_lib1508.lto_priv.0 (lib1508.c:26) ==161704== by 0x40034B5: main (first.c:279) ==161704== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==161704== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161704== by 0x519F354: Curl_multi_handle (multi.c:235) ==161704== by 0x402CFA3: UnknownInlinedFun (lib1508.c:35) ==161704== by 0x402CFA3: test_lib1508.lto_priv.0 (lib1508.c:26) ==161704== by 0x40034B5: main (first.c:279) ==161704== === End of file valgrind1508 test 1506...[HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 38765 > log/1/stdout1506 2> log/1/stderr1506 1506: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1506 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 38765 > log/1/stdout1506 2> log/1/stderr1506 === End of file commands.log === Start of file http_server.log 05:48:12.927043 ====> Client connect 05:48:12.927081 accept_connection 3 returned 4 05:48:12.927099 accept_connection 3 returned 0 05:48:12.927114 Read 93 bytes 05:48:12.927123 Process 93 bytes request 05:48:12.927137 Got request: GET /verifiedserver HTTP/1.1 05:48:12.927146 Are-we-friendly question received 05:48:12.927169 Wrote request (93 bytes) input to log/1/server.input 05:48:12.927186 Identifying ourselves as friends 05:48:12.927255 Response sent (56 bytes) and written to log/1/server.response 05:48:12.927264 special request received, no persistency 05:48:12.927273 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 37328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1506 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr1506 URL: - === End of file stderr1506 === Start of file valgrind1506 ==161660== ==161660== Process terminating with default action of signal 4 (SIGILL) ==161660== Illegal opcode at address 0x519F3C0 ==161660== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==161660== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==161660== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==161660== by 0x402D27B: test_lib1506.lto_priv.0 (lib1506.c:58) ==161660== by 0x40034B5: main (first.c:279) ==161660== 728 bytes in 1 blocks are definitely lost in loss record 716 of 790 ==161660== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161660== by 0x519F354: Curl_multi_handle (multi.c:235) ==161660== by 0x402D27B: test_lib1506.lto_priv.0 (lib1506.c:58) ==161660== by 0x40034B5: main (first.c:279) ==161660== === End of file valgrind1506 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 40253 > log/4/stdout1510 2> log/4/stderr1510 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:35549/1514 > log/14/stdout1514 2> log/14/stderr1514 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 161152 port 40607 * pid http => 161152 161152 test 1500...[curl_multi_wait] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:40607/1500 > log/6/stdout1500 2> log/6/stderr1500 1500: data FAILED: --- log/6/check-expected 2026-03-14 05:48:15.217949307 +0000 +++ log/6/check-generated 2026-03-14 05:48:15.217949307 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 all good![CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/6/ directory after test 1500 === Start of file check-expected HTTP/1.1 200 all good![CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:40607/1500 > log/6/stdout1500 2> log/6/stderr1500 === End of file commands.log === Start of file http_server.log 05:48:11.155890 Running HTTP IPv4 version on port 40607 05:48:11.155978 Wrote pid 161152 to log/6/server/http_server.pid 05:48:11.156046 Wrote port 40607 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1500 === End of file server.cmd === Start of file stderr1500 URL: http://127.0.0.1:40607/1500 === End of file stderr1500 === Start of file valgrind1500 ==161830== ==161830== Process terminating with default action of signal 4 (SIGILL) ==161830== Illegal opcode at address 0x519F3C0 ==161830== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==161830== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==161830== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==161830== by 0x40294E0: UnknownInlinedFun (lib1500.c:39) ==161830== by 0x40294E0: test_lib1500.lto_priv.0 (lib1500.c:26) ==161830== by 0x40034B5: main (first.c:279) ==161830== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==161830== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==161830== by 0x519F354: Curl_multi_handle (multi.c:235) ==161830== by 0x40294E0: UnknownInlinedFun (lib1500.c:39) ==161830== by 0x40294E0: test_lib1500.lto_priv.0 (lib1500.c:26) ==161830== by 0x40034B5: main (first.c:279) ==161830== === End of file valgrind1500 test 1516...[caching of manual libcurl DNS entries after dead connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 33885 > log/9/stdout1516 2> log/9/stderr1516 libtests returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/9/ directory after test 1516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 33885 > log/9/stdout1516 2> log/9/stderr1516 === End of file commands.log === Start of file http_server.log 05:48:12.508027 ====> Client connect 05:48:12.508061 accept_connection 3 returned 4 05:48:12.508076 accept_connection 3 returned 0 05:48:12.508089 Read 93 bytes 05:48:12.508098 Process 93 bytes request 05:48:12.508109 Got request: GET /verifiedserver HTTP/1.1 05:48:12.508118 Are-we-friendly question received 05:48:12.508141 Wrote request (93 bytes) input to log/9/server.input 05:48:12.508157 Identifying ourselves as friends 05:48:12.508209 Response sent (56 bytes) and written to log/9/server.response 05:48:12.508219 special request received, no persistency 05:48:12.508228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 59764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr1516 URL: path/1516 === End of file stderr1516 === Start of file valgrind1516 ==162232== ==162232== Process terminating with default action of signal 4 (SIGILL) ==162232== Illegal opcode at address 0x519F3C0 ==162232== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==162232== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==162232== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==162232== by 0x4031761: test_lib1515.lto_priv.0 (lib1515.c:121) ==162232== by 0x40034B5: main (first.c:279) ==162232== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==162232== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162232== by 0x519F354: Curl_multi_handle (multi.c:235) ==162232== by 0x4031761: test_lib1515.lto_priv.0 (lib1515.c:121) ==162232== by 0x40034B5: main (first.c:279) ==162232== === End of file valgrind1516 test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 40253 > log/4/stdout1510 2> log/4/stderr1510 1510: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 40253 > log/4/stdout1510 2> log/4/stderr1510 === End of file commands.log === Start of file http_server.log 05:48:12.307034 ====> Client connect 05:48:12.307075 accept_connection 3 returned 4 05:48:12.307093 accept_connection 3 returned 0 05:48:12.317175 Read 93 bytes 05:48:12.317205 Process 93 bytes request 05:48:12.317220 Got request: GET /verifiedserver HTTP/1.1 05:48:12.317229 Are-we-friendly question received 05:48:12.317272 Wrote request (93 bytes) input to log/4/server.input 05:48:12.317293 Identifying ourselves as friends 05:48:12.317358 Response sent (56 bytes) and written to log/4/server.response 05:48:12.317367 special request received, no persistency 05:48:12.317376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 36574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-LengCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:38177/1520 log/13/stdout1520 2> log/13/stderr1520 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:39913/1518 > log/18/stdout1518 2> log/18/stderr1518 th: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr1510 URL: - === End of file stderr1510 === Start of file valgrind1510 ==161993== ==161993== Process terminating with default action of signal 4 (SIGILL) ==161993== Illegal opcode at address 0x51D8933 ==161993== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==161993== by 0x51D8933: UnknownInlinedFun (request.c:40) ==161993== by 0x51D8933: Curl_open (url.c:503) ==161993== by 0x514E50F: curl_easy_init (easy.c:350) ==161993== by 0x402E29E: test_lib1510.lto_priv.0 (lib1510.c:59) ==161993== by 0x40034B5: main (first.c:279) === End of file valgrind1510 test 1514...[HTTP POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:35549/1514 > log/14/stdout1514 2> log/14/stderr1514 1514: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:35549/1514 > log/14/stdout1514 2> log/14/stderr1514 === End of file commands.log === Start of file http_server.log 05:48:13.447253 ====> Client connect 05:48:13.447287 accept_connection 3 returned 4 05:48:13.447306 accept_connection 3 returned 0 05:48:13.447320 Read 93 bytes 05:48:13.447329 Process 93 bytes request 05:48:13.447342 Got request: GET /verifiedserver HTTP/1.1 05:48:13.447352 Are-we-friendly question received 05:48:13.447378 Wrote request (93 bytes) input to log/14/server.input 05:48:13.447396 Identifying ourselves as friends 05:48:13.447461 Response sent (56 bytes) and written to log/14/server.response 05:48:13.447474 special request received, no persistency 05:48:13.447483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 39216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file stderr1514 URL: http://127.0.0.1:35549/1514 === End of file stderr1514 === Start of file valgrind1514 ==162144== ==162144== Process terminating with default action of signal 4 (SIGILL) ==162144== Illegal opcode at address 0x51D8933 ==162144== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162144== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162144== by 0x51D8933: Curl_open (url.c:503) ==162144== by 0x514E50F: curl_easy_init (easy.c:350) ==162144== by 0x402ECCC: test_lib1514.lto_priv.0 (lib1514.c:64) ==162144== by 0x40034B5: main (first.c:279) === End of file valgrind1514 test 1520...[SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:38177/1520 log/13/stdout1520 2> log/13/stderr1520 1520: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:38177/1520 log/13/stdout1520 2> log/13/stderr1520 === End of file commands.log === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 05:48:13.247567 ====> Client connect 05:48:13.247713 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:13.248022 < "EHLO verifiedserver" 05:48:13.248070 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:13.248265 < "HELP" 05:48:13.248300 > "214 WE ROOLZ: 125770[CR][LF]" 05:48:13.248317 return proof we are we 05:48:13.248539 < "QUIT" 05:48:13.248571 > "221 curl ESMTP server signing off[CR][LF]" 05:48:13.250619 MAIN sockfilt said DISC 05:48:13.250659 ====> Client disconnected 05:48:13.250755 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:13.708895 ====> Client connect 05:48:13.709182 Received DATA (on stdin) 05:48:13.709199 > 146 bytes data, server => client 05:48:13.709211 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:13.709221 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:13.709230 '220 \___|\___/|_| \_\_____|\r\n' 05:48:13.709315 < 21 bytes data, client => server 05:48:13.709330 'EHLO verifiedserver\r\n' 05:48:13.709526 Received DATA (on stdin) 05:48:13.709539 > 53 bytes data, server => client 05:48:13.709550 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:13.709611 < 6 bytes data, client => server 05:48:13.709623 'HELP\r\n' 05:48:13.709767 Received DATA (on stdin) 05:48:13.709778 > 22 bytes data, server => client 05:48:13.709789 '214 WE ROOLZ: 125770\r\n' 05:48:13.709892 < 6 bytes data, client => server 05:48:13.709906 'QUIT\r\n' 05:48:13.710021 Received DATA (on stdin) 05:48:13.710033 > 35 bytes data, server => client 05:48:13.710043 '221 curl ESMTP server signing off\r\n' 05:48:13.712006 ====> Client disconnect 05:48:13.712214 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1520 URL: smtp://127.0.0.1:38177/1520 === End of file stderr1520 === Start of file stdin-for-1520 From: different To: another . . . body === End of file stdin-for-1520 === Start of file valgrind1520 ==162458== ==162458== Process terminating with default action of signal 4 (SIGILL) ==162458== Illegal opcode at address 0x51D8933 ==162458== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162458== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162458== by 0x51D8933: Curl_open (url.c:503) ==162458== by 0x514E50F: curl_easy_init (easy.c:350) ==162458== by 0x402F0C0: test_lib1520.lto_priv.0 (lib1520.c:78) ==162458== by 0x40034B5: main (first.c:279) === End of file valgrind1520 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:34551/1517 > log/11/stdout1517 2> log/11/stderr1517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 41477 > log/22/stdout1515 2> log/22/stderr1515 test 1518...[Extract Location: with broken URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:39913/1518 > log/18/stdout1518 2> log/18/stderr1518 1518: stdout FAILED: --- log/18/check-expected 2026-03-14 05:48:15.357949307 +0000 +++ log/18/check-generated 2026-03-14 05:48:15.357949307 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:39913/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/18/ directory after test 1518 === Start of file check-expected result 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:39913/1518[LF] redirecturl http://1.2 .4.5/test[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:39913/1518 > log/18/stdout1518 2> log/18/stderr1518 === End of file commands.log === Start of file http_server.log 05:48:12.640462 ====> Client connect 05:48:12.640504 accept_connection 3 returned 4 05:48:12.640522 accept_connection 3 returned 0 05:48:12.640538 Read 93 bytes 05:48:12.640547 Process 93 bytes request 05:48:12.640560 Got request: GET /verifiedserver HTTP/1.1 05:48:12.640569 Are-we-friendly question received 05:48:12.640592 Wrote request (93 bytes) input to log/18/server.input 05:48:12.640607 Identifying ourselves as friends 05:48:12.640690 Response sent (56 bytes) and written to log/18/server.response 05:48:12.640700 special request received, no persistency 05:48:12.640708 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 57848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1518 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file stderr1518 URL: http://127.0.0.1:39913/1518 === End of file stderr1518 === Start of file valgrind1518 ==162398== ==162398== Process terminating with default action of signal 4 (SIGILL) ==162398== Illegal opcode at address 0x51D8933 ==162398== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162398== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162398== by 0x51D8933: Curl_open (url.c:503) ==162398== by 0x514E50F: curl_easy_init (easy.c:350) ==162398== by 0x4032498: test_lib1518.lto_priv.0 (lib1518.c:47) ==162398== by 0x40034B5: main (first.c:279) === End of file valgrind1518 test 1517...[HTTP POST, server responds before completed send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:34551/1517 > log/11/stdout1517 2> log/11/stderr1517 1517: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1517 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:34551/1517 > log/11/stdout1517 2> log/11/stderr1517 === End of file commands.log === Start of file http_server.log 05:48:13.603793 ====> Client connect 05:48:13.603832 accept_connection 3 returned 4 05:48:13.603851 accept_connection 3 returned 0 05:48:13.603868 Read 93 bytes 05:48:13.603879 Process 93 bytes request 05:48:13.603892 Got request: GET /verifiedserver HTTP/1.1 05:48:13.603902 Are-we-friendly question received 05:48:13.603929 Wrote request (93 bytes) input to log/11/server.input 05:48:13.603948 Identifying ourselves as friends 05:48:13.604020 Response sent (56 bytes) and written to log/11/server.response 05:48:13.604032 special request received, no persistency 05:48:13.604041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 45058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd skip: 45 Testnum 1517 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr1517 URL: http://127.0.0.1:34551/1517 === End of file stderr1517 === Start of file valgrind1517 ==162349== ==162349== Process terminating with default action of signal 4 (SIGILL) ==162349== Illegal opcode at address 0x51D8933 ==162349== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162349== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162349== by 0x51D8933: Curl_open (url.c:503) ==162349== by 0x514E50F: curl_easy_init (easy.c:350) ==162349== by 0x402EF2A: test_lib1517.lto_priv.0 (lib1517.c:70) ==162349== by 0x40034B5: main (first.c:279) === End of file valgrind1517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:38929/1519 > log/20/stdout1519 2> log/20/stderr1519 test 1515...[caching of manual libcurl DNS entries after DNS cache timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 41477 > log/22/stdout1515 2> log/22/stderr1515 1515: data FAILED: --- log/22/check-expected 2026-03-14 05:48:15.457949307 +0000 +++ log/22/check-generated 2026-03-14 05:48:15.457949307 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/22/ directory after test 1515 === Start of file check-expected hello[LF] hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 41477 > log/22/stdout1515 2> log/22/stderr1515 === End of file commands.log === Start of file http_server.log 05:48:13.507049 ====> Client connect 05:48:13.507085 accept_connection 3 returned 4 05:48:13.507103 accept_connection 3 returned 0 05:48:13.507119 Read 93 bytes 05:48:13.507130 Process 93 bytes request 05:48:13.507144 Got request: GET /verifiedserver HTTP/1.1 05:48:13.507153 Are-we-friendly question received 05:48:13.507180 Wrote request (93 bytes) input to log/22/server.input 05:48:13.507196 Identifying ourselves as friends 05:48:13.507261 Response sent (56 bytes) and written to log/22/server.response 05:48:13.507271 special request received, no persistency 05:48:13.507280 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 32900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file stderr1515 URL: path/1515 === End of file stderr1515 === Start of file valgrind1515 ==162207== ==162207== Process terminating with default action of signal 4 (SIGILL) ==162207== Illegal opcode at address 0x519F3C0 ==162207== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==162207== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==162207== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==162207== by 0x4031761: test_lib1515.lto_priv.0 (lib1515.c:121) ==162207== by 0x40034B5: main (first.c:279) ==162207== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==162207== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==162207== by 0x519F354: Curl_multi_handle (multi.c:235) ==162207== by 0x4031761: test_lib1515.lto_priv.0 (lib1515.c:121) ==162207== by 0x40034B5: main (first.c:279) ==162207== === End of file valgrind1515 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/20/stdout1544 2> log/20/stderr1544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:33593/1522 > log/24/stdout1522 2> log/24/stderr1522 test 1519...[Extract Location: with broken absolute URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:38929/1519 > log/20/stdout1519 2> log/20/stderr1519 1519: stdout FAILED: --- log/20/check-expected 2026-03-14 05:48:15.751282641 +0000 +++ log/20/check-generated 2026-03-14 05:48:15.751282641 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:38929/1519[LF] -redirecturl http://127.0.0.1:38929/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/20/ directory after test 1519 === Start of file check-expected result 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:38929/1519[LF] redirecturl http://127.0.0.1:38929/h%20ttp://1.2.4.5/test[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:38929/1519 > log/20/stdout1519 2> log/20/stderr1519 === End of file commands.log === Start of file http_server.log 05:48:12.702821 ====> Client connect 05:48:12.702861 accept_connection 3 returned 4 05:48:12.702877 accept_connection 3 returned 0 05:48:12.702892 Read 93 bytes 05:48:12.702902 Process 93 bytes request 05:48:12.702914 Got request: GET /verifiedserver HTTP/1.1 05:48:12.702923 Are-we-friendly question received 05:48:12.702949 Wrote request (93 bytes) input to log/20/server.input 05:48:12.702966 Identifying ourselves as friends 05:48:12.703026 Response sent (56 bytes) and written to log/20/server.response 05:48:12.703037 special request received, no persistency 05:48:12.703046 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 52186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr1519 URL: http://127.0.0.1:38929/1519 === End of file stderr1519 === Start of file valgrind1519 ==162440== ==162440== Process terminating with default action of signal 4 (SIGILL) ==162440== Illegal opcode at address 0x51D8933 ==162440== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162440== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162440== by 0x51D8933: Curl_open (url.c:503) ==162440== by 0x514E50F: curl_easy_init (easy.c:350) ==162440== by 0x4032498: test_lib1518.lto_priv.0 (lib1518.c:47) ==162440== by 0x40034B5: main (first.c:279) === End of file valgrind1519 test 1544...[Verify all string options are translated by OS/400 wrapper] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/20/stdout1544 2> log/20/stderr1544 valgrind SKIPPED -------e--- OK (1473 out of 1773, remaining: 00:35, took 0.070s, duration: 02:54) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1521 ./libtest/libtests lib1521 - > log/23/stdout1521 2> log/23/stderr1521 test 1522...[CURLINFO_SIZE_UPLOAD with small SO_SNDBUF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:33593/1522 > log/24/stdout1522 2> log/24/stderr1522 1522: stdout FAILED: --- log/24/check-expected 2026-03-14 05:48:16.097949307 +0000 +++ log/24/check-generated 2026-03-14 05:48:16.097949307 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/24/ directory after test 1522 === Start of file check-expected -foo-[LF] uploadSize = 40960[LF] !!!!!!!!!! PASS[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:33593/1522 > log/24/stdout1522 2> log/24/stderr1522 === End of file commands.log === Start of file http_server.log 05:48:14.333757 ====> Client connect 05:48:14.333800 accept_connection 3 returned 4 05:48:14.333821 accept_connection 3 returned 0 05:48:14.333838 Read 93 bytes 05:48:14.333848 Process 93 bytes request 05:48:14.333862 Got request: GET /verifiedserver HTTP/1.1 05:48:14.333871 Are-we-friendly question received 05:48:14.333894 Wrote request (93 bytes) input to log/24/server.input 05:48:14.333911 Identifying ourselves as friends 05:48:14.333989 Response sent (56 bytes) and written to log/24/server.response 05:48:14.334000 special request received, no persistency 05:48:14.334009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 51674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stderr1522 URL: http://127.0.0.1:33593/1522 === End of file stderr1522 === Start of file valgrind1522 ==162695== ==162695== Process terminating with default action of signal 4 (SIGILL) ==162695== Illegal opcode at address 0x51D8933 ==162695== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162695== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162695== by 0x51D8933: Curl_open (url.c:503) ==162695== by 0x514E50F: curl_easy_init (easy.c:350) ==162695== by 0x40327A6: test_lib1522.lto_priv.0 (lib1522.c:54) ==162695== by 0x40034B5: main (first.c:279) === End of file valgrind1522 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:44673/1523 > log/16/stdout1523 2> log/16/stderr1523 RUN: Process with pid 74790 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1524 ../src/curl -q --output log/10/curl1524.out --include --trace-ascii log/10/trace1524 --trace-time http://127.0.0.1:46741/blah/1524 -L -T log/10/upload1524.txt > log/10/stdout1524 2> log/10/stderr1524 RUN: Process with pid 74790 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:35701/1531 > log/19/stdout1531 2> log/19/stderr1531 test 1521...[Test all curl_easy_setopt and curl_easy_getinfo options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1521 ./libtest/libtests lib1521 - > log/23/stdout1521 2> log/23/stderr1521 1521: stdout FAILED: --- log/23/check-expected 2026-03-14 05:48:16.301282641 +0000 +++ log/23/check-generated 2026-03-14 05:48:16.301282641 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/23/ directory after test 1521 === Start of file check-expected ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1521 ./libtest/libtests lib1521 - > log/23/stdout1521 2> log/23/stderr1521 === End of file commands.log === Start of file server.cmd Testnum 1521 === End of file server.cmd === Start of file stderr1521 URL: - === End of file stderr1521 === Start of file valgrind1521 ==162598== ==162598== Process terminating with default action of signal 4 (SIGILL) ==162598== Illegal opcode at address 0x51D8933 ==162598== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162598== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162598== by 0x51D8933: Curl_open (url.c:503) ==162598== by 0x514E50F: curl_easy_init (easy.c:350) ==162598== by 0x404981A: test_lib1521.lto_priv.0 (lib1521.c:241) ==162598== by 0x40034B5: main (first.c:279) === End of file valgrind1521 test 1524...[HTTP PUT with 303 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1524 ../src/curl -q --output log/10/curl1524.out --include --trace-ascii log/10/trace1524 --trace-time http://127.0.0.1:46741/blah/1524 -L -T log/10/upload1524.txt > log/10/stdout1524 2> log/10/stderr1524 1524: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1524 ../src/curl -q --output log/10/curl1524.out --include --trace-ascii log/10/trace1524 --trace-time http://127.0.0.1:46741/blah/1524 -L -T log/10/upload1524.txt > log/10/stdout1524 2> log/10/stderr1524 === End of file commands.log === Start of file http_server.log 05:48:13.633708 ====> Client connect 05:48:13.633746 accept_connection 3 returned 4 05:48:13.633762 accept_connection 3 returned 0 05:48:13.633778 Read 93 bytes 05:48:13.633787 Process 93 bytes request 05:48:13.633801 Got request: GET /verifiedserver HTTP/1.1 05:48:13.633809 Are-we-friendly question received 05:48:13.633832 Wrote request (93 bytes) input to log/10/server.input 05:48:13.633847 Identifying ourselves as friends 05:48:13.633920 Response sent (56 bytes) and written to log/10/server.response 05:48:13.633928 special request received, no persistency 05:48:13.633936 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 52542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1524 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==162847== ==162847== Process terminating with default action of signal 4 (SIGILL) ==162847== Illegal opcode at address 0x4014883 ==162847== at 0x4014883: getparameter (tool_getparam.c:2899) ==162847== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==162847== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==162847== by 0x4004208: main (tool_main.c:189) === End of file valgrind1524 test 1523...[CURLINFO_LOW_SPEED_LIMIT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:44673/1523 > log/16/stdout1523 2> log/16/stderr1523 libtests returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/16/ directory after test 1523 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:44673/1523 > log/16/stdout1523 2> log/16/stderr1523 === End of file commands.log === Start of file http_server.log 05:48:14.474258 ====> Client connect 05:48:14.474289 accept_connection 3 returned 4 05:48:14.474305 accept_connection 3 returned 0 05:48:14.474320 Read 93 bytes 05:48:14.474329 Process 93 bytes request 05:48:14.474342 Got request: GET /verifiedserver HTTP/1.1 05:48:14.474351 Are-we-friendly question received 05:48:14.474375 Wrote request (93 bytes) input to log/16/server.input 05:48:14.474391 Identifying ourselves as friends 05:48:14.474447 Response sent (56 bytes) and written to log/16/server.response 05:48:14.474456 special request received, no persistency 05:48:14.474465 ====> Client disconnect 0 exit_signal_handler: called 05:48:16.896899 signalled to die 05:48:16.897044 ========> IPv4 sws (port 44673 pid: 74790) exits with signal (15) 05:48:16.897062 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44673... * Established connection to 127.0.0.1 (127.0.0.1 port 44673) from 127.0.0.1 port 48242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44673 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44673 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74790 === End of file http_verify.out === Start of file server.cmd writedelay: 1000 Testnum 1523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74790 === End of file server.response === Start of file stderr1523 URL: http://127.0.0.1:44673/1523 === End of file stderr1523 === Start of file valgrind1523 ==162758== ==162758== Process terminating with default action of signal 4 (SIGILL) ==162758== Illegal opcode at address 0x51D8933 ==162758== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162758== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162758== by 0x51D8933: Curl_open (url.c:503) ==162758== by 0x514E50F: curl_easy_init (easy.c:350) ==162758== by 0x402F274: test_lib1523.lto_priv.0 (lib1523.c:60) ==162758== by 0x40034B5: main (first.c:279) === End of file valgrind1523 test 1531...[CURLOPT_POSTFIELDS with binary data set after multi_add_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:35701/1531 > log/19/stdout1531 2> log/19/stderr1531 1531: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:45623/1525 127.0.0.1:41163 > log/8/stdout1525 2> log/8/stderr1525 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:41799/1526 127.0.0.1:36593 > log/2/stdout1526 2> log/2/stderr1526 of files in the log/19/ directory after test 1531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:35701/1531 > log/19/stdout1531 2> log/19/stderr1531 === End of file commands.log === Start of file http_server.log 05:48:14.393708 ====> Client connect 05:48:14.393747 accept_connection 3 returned 4 05:48:14.393764 accept_connection 3 returned 0 05:48:14.393780 Read 93 bytes 05:48:14.393789 Process 93 bytes request 05:48:14.393802 Got request: GET /verifiedserver HTTP/1.1 05:48:14.393810 Are-we-friendly question received 05:48:14.393833 Wrote request (93 bytes) input to log/19/server.input 05:48:14.393850 Identifying ourselves as friends 05:48:14.393914 Response sent (56 bytes) and written to log/19/server.response 05:48:14.393923 special request received, no persistency 05:48:14.393931 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 44510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1531 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr1531 URL: 127.0.0.1:35701/1531 === End of file stderr1531 === Start of file valgrind1531 ==163301== ==163301== Process terminating with default action of signal 4 (SIGILL) ==163301== Illegal opcode at address 0x51D8933 ==163301== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163301== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163301== by 0x51D8933: Curl_open (url.c:503) ==163301== by 0x514E50F: curl_easy_init (easy.c:350) ==163301== by 0x405FFD5: test_lib1531.part.0.lto_priv.0 (lib1531.c:43) ==163301== by 0x40034B5: main (first.c:279) === End of file valgrind1531 test 1525...[CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:45623/1525 127.0.0.1:41163 > log/8/stdout1525 2> log/8/stderr1525 1525: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:45623/1525 127.0.0.1:41163 > log/8/stdout1525 2> log/8/stderr1525 === End of file commands.log === Start of file http2_server.log 05:48:14.732834 ====> Client connect 05:48:14.732872 accept_connection 3 returned 4 05:48:14.732888 accept_connection 3 returned 0 05:48:14.732903 Read 93 bytes 05:48:14.732913 Process 93 bytes request 05:48:14.732928 Got request: GET /verifiedserver HTTP/1.1 05:48:14.732937 Are-we-friendly question received 05:48:14.732962 Wrote request (93 bytes) input to log/8/proxy.input 05:48:14.732979 Identifying ourselves as friends 05:48:14.733042 Response sent (57 bytes) and written to log/8/proxy.response 05:48:14.733052 special request received, no persistency 05:48:14.733061 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41163... * Established connection to 127.0.0.1 (127.0.0.1 port 41163) from 127.0.0.1 port 44494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41163 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41163 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 114247 === End of file http2_verify.out === Start of file http_server.log 05:48:13.650400 ====> Client connect 05:48:13.650448 accept_connection 3 returned 4 05:48:13.650467 accept_connection 3 returned 0 05:48:13.650484 Read 93 bytes 05:48:13.650493 Process 93 bytes request 05:48:13.650507 Got request: GET /verifiedserver HTTP/1.1 05:48:13.650515 Are-we-friendly question received 05:48:13.650558 Wrote request (93 bytes) input to log/8/server.input 05:48:13.650574 Identifying ourselves as friends 05:48:13.650655 Response sent (56 bytes) and written to log/8/server.response 05:48:13.650664 special request received, no persistency 05:48:13.650673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 38318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 114247 === End of file proxy.response === Start of file server.cmd Testnum 1525 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr1525 URL: http://the.old.moo.1525:45623/1525 === End of file stderr1525 === Start of file valgrind1525 ==162907== ==162907== Process terminating with default action of signal 4 (SIGILL) ==162907== Illegal opcode at address 0x51D8933 ==162907== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==162907== by 0x51D8933: UnknownInlinedFun (request.c:40) ==162907== by 0x51D8933: Curl_open (url.c:503) ==162907== by 0x514E50F: curl_easy_init (easy.c:350) ==162907== by 0x402F42C: test_lib1525.lto_priv.0 (lib1525.c:59) ==162907== by 0x40034B5: main (first.c:279) === End of file valgrind1525 test 1526...[CURLOPT_PROXYHEADER: separate host/proxy headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:41799/1526 127.0.0.1:36593 > log/2/stdout1526 2> log/2/stderr1526 1526: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:41799/1526 127.0.0.1:36593 > log/2/stdout1526 2> log/2/stderr1526 === End of file commands.log === Start of file http2_server.log 05:48:15.027431 ====> Client connect 05:48:15.027474 accept_connection 3 returned 4 05:48:15.027493 accept_connection 3 returned 0 05:48:15.027510 Read 93 bytes 05:48:15.027521 Process 93 bytes request 05:48:15.027546 Got request: GET /verifiedserver HTTP/1.1 05:48:15.027556 Are-we-friendly question received 05:48:15.027588 Wrote request (93 bytes) input to log/2/proxy.input 05:48:15.027612 Identifying ourselves as friends 05:48:15.027686 ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:36353/1532 > log/12/stdout1532 2> log/12/stderr1532 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:39591/1534 > log/3/stdout1534 2> log/3/stderr1534 sponse sent (57 bytes) and written to log/2/proxy.response 05:48:15.027703 special request received, no persistency 05:48:15.027712 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36593... * Established connection to 127.0.0.1 (127.0.0.1 port 36593) from 127.0.0.1 port 59224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:36593 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 157458 === End of file http2_verify.out === Start of file http_server.log 05:48:14.929747 ====> Client connect 05:48:14.929787 accept_connection 3 returned 4 05:48:14.929804 accept_connection 3 returned 0 05:48:14.929819 Read 93 bytes 05:48:14.929829 Process 93 bytes request 05:48:14.929843 Got request: GET /verifiedserver HTTP/1.1 05:48:14.929852 Are-we-friendly question received 05:48:14.929879 Wrote request (93 bytes) input to log/2/server.input 05:48:14.929896 Identifying ourselves as friends 05:48:14.929954 Response sent (56 bytes) and written to log/2/server.response 05:48:14.929965 special request received, no persistency 05:48:14.929974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 55470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157458 === End of file proxy.response === Start of file server.cmd Testnum 1526 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr1526 URL: http://the.old.moo.1526:41799/1526 === End of file stderr1526 === Start of file valgrind1526 ==163049== ==163049== Process terminating with default action of signal 4 (SIGILL) ==163049== Illegal opcode at address 0x51D8933 ==163049== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163049== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163049== by 0x51D8933: Curl_open (url.c:503) ==163049== by 0x514E50F: curl_easy_init (easy.c:350) ==163049== by 0x402F68E: test_lib1526.lto_priv.0 (lib1526.c:58) ==163049== by 0x40034B5: main (first.c:279) === End of file valgrind1526 test 1532...[Test CURLINFO_RESPONSE_CODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:36353/1532 > log/12/stdout1532 2> log/12/stderr1532 1532: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:36353/1532 > log/12/stdout1532 2> log/12/stderr1532 === End of file commands.log === Start of file http_server.log 05:48:15.410387 ====> Client connect 05:48:15.410423 accept_connection 3 returned 4 05:48:15.410442 accept_connection 3 returned 0 05:48:15.410456 Read 93 bytes 05:48:15.410466 Process 93 bytes request 05:48:15.410480 Got request: GET /verifiedserver HTTP/1.1 05:48:15.410490 Are-we-friendly question received 05:48:15.410606 Wrote request (93 bytes) input to log/12/server.input 05:48:15.410634 Identifying ourselves as friends 05:48:15.410707 Response sent (56 bytes) and written to log/12/server.response 05:48:15.410718 special request received, no persistency 05:48:15.410727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 42736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1532 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr1532 URL: http://127.0.0.1:36353/1532 === End of file stderr1532 === Start of file valgrind1532 ==163294== ==163294== Process terminating with default action of signal 4 (SIGILL) ==163294== Illegal opcode at address 0x51D8933 ==163294== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163294== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163294== by 0x51D8933: Curl_open (url.c:503) ==163294== by 0x514E50F: curl_easy_init (easy.c:350) ==163294== by 0x4032F19: UnknownInlinedFun (lib1532.c:36) ==163294== by 0x4032F19: test_lib1532.lto_priv.0 (lib1532.c:28) ==163294== by 0x40034B5: main (first.c:279) === End of file valgrind1532 test 1534...[CURLINFO_FILETIME init and reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:39591/1534 > log/3/stdout1534 2> log/3/stderr1534 1534: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:39591/1534 > log/3/stdout1534 2> log/3/stderr1534 === End of file commands.log === Start of file http_server.log 05:48:15.785927 ====> Client connect 05:48:15.785963 accept_connection 3 returned 4 05:48:15.785979 accept_connection 3 returned 0 05:48:15.785992 Read 93 bytes 05:48:15.786002 Process 93 bytes request 05:48:15.786016 Got request: GET /verifiedserver HTTP/1.1 05:48:15.786024 Are-we-friendly question received 05:48:15.786047 Wrote request (93 bytes) input to log/3/server.input 05:48:15.786063 Identifying ourselves as friends 05:48:15.786117 Response sent (56 bytes) and written to log/3/server.response 05:48:15.786126 special request received, no persistency 05:48:15.786135 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 42832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1534 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of filCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1538 ./libtest/libtests lib1538 - > log/13/stdout1538 2> log/13/stderr1538 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:39013/1527 127.0.0.1:38747 > log/7/stdout1527 2> log/7/stderr1527 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1530 ./libtest/libtests lib1530 - > log/5/stdout1530 2> log/5/stderr1530 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40607/1539 > log/6/stdout1539 2> log/6/stderr1539 e stderr1534 URL: http://127.0.0.1:39591/1534 === End of file stderr1534 === Start of file valgrind1534 ==163537== ==163537== Process terminating with default action of signal 4 (SIGILL) ==163537== Illegal opcode at address 0x51D8933 ==163537== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163537== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163537== by 0x51D8933: Curl_open (url.c:503) ==163537== by 0x514E50F: curl_easy_init (easy.c:350) ==163537== by 0x40332DB: UnknownInlinedFun (lib1534.c:36) ==163537== by 0x40332DB: test_lib1534.lto_priv.0 (lib1534.c:28) ==163537== by 0x40034B5: main (first.c:279) === End of file valgrind1534 test 1538...[libcurl strerror API call tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1538 ./libtest/libtests lib1538 - > log/13/stdout1538 2> log/13/stderr1538 s------e-v- OK (1467 out of 1773, remaining: 00:36, took 1.755s, duration: 02:55) test 1527...[Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:39013/1527 127.0.0.1:38747 > log/7/stdout1527 2> log/7/stderr1527 1527: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:39013/1527 127.0.0.1:38747 > log/7/stdout1527 2> log/7/stderr1527 === End of file commands.log === Start of file http2_server.log 05:48:15.062299 ====> Client connect 05:48:15.062336 accept_connection 3 returned 4 05:48:15.062354 accept_connection 3 returned 0 05:48:15.062370 Read 93 bytes 05:48:15.062380 Process 93 bytes request 05:48:15.062393 Got request: GET /verifiedserver HTTP/1.1 05:48:15.062403 Are-we-friendly question received 05:48:15.062431 Wrote request (93 bytes) input to log/7/proxy.input 05:48:15.062450 Identifying ourselves as friends 05:48:15.062552 Response sent (56 bytes) and written to log/7/proxy.response 05:48:15.062564 special request received, no persistency 05:48:15.062572 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38747... * Established connection to 127.0.0.1 (127.0.0.1 port 38747) from 127.0.0.1 port 60186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38747 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38747 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 92451 === End of file http2_verify.out === Start of file http_server.log 05:48:13.989060 ====> Client connect 05:48:13.989095 accept_connection 3 returned 4 05:48:13.989113 accept_connection 3 returned 0 05:48:13.989261 Read 93 bytes 05:48:13.989274 Process 93 bytes request 05:48:13.989289 Got request: GET /verifiedserver HTTP/1.1 05:48:13.989298 Are-we-friendly question received 05:48:13.989328 Wrote request (93 bytes) input to log/7/server.input 05:48:13.989345 Identifying ourselves as friends 05:48:13.989399 Response sent (56 bytes) and written to log/7/server.response 05:48:13.989408 special request received, no persistency 05:48:13.989416 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 40448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 92451 === End of file proxy.response === Start of file server.cmd Testnum 1527 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file stderr1527 URL: http://the.old.moo.1527:39013/1527 === End of file stderr1527 === Start of file valgrind1527 ==163058== ==163058== Process terminating with default action of signal 4 (SIGILL) ==163058== Illegal opcode at address 0x51D8933 ==163058== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163058== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163058== by 0x51D8933: Curl_open (url.c:503) ==163058== by 0x514E50F: curl_easy_init (easy.c:350) ==163058== by 0x402F930: test_lib1527.lto_priv.0 (lib1527.c:58) ==163058== by 0x40034B5: main (first.c:279) === End of file valgrind1527 test 1530...[CURLOPT_OPENSOCKETFUNCTION returns bad socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1530 ./libtest/libtests lib1530 - > log/5/stdout1530 2> log/5/stderr1530 libtests returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/5/ directory after test 1530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1530 ./libtest/libtests lib1530 - > log/5/stdout1530 2> log/5/stderr1530 === End of file commands.log === Start of file server.cmd Testnum 1530 === End of file server.cmd === Start of file stderr1530 URL: - === End of file stderr1530 === Start of file valgrind1530 ==163177== ==163177== Process terminating with default action of signal 4 (SIGILL) ==163177== Illegal opcode at address 0x51D8933 ==163177== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163177== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163177== by 0x51D8933: Curl_open (url.c:503) ==163177== by 0x514E50F: curl_easy_init (easy.c:350) ==163177== by 0x402FF45: test_lib1530.lto_priv.0 (lib1530.c:48) ==163177== by 0x40034B5: main (first.c:279) === End of file valgrind1530 test 1539...[HTTP 1.0 POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40607/1539 > log/6/stdout1539 2> log/6/stderr1539 libtests returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/6/ directory after test 1539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40607/1539 > log/6/stdout1539 2> log/6/stderr1539 === End of file commands.log === Start of file http_server.log 05:48:14.893385 ====> Client connect 05:48:14.893417 accept_connection 3 returned 4 05:48:14.893433 accept_connection 3 returned 0 05:48:14.893447 Read 93 bytes 05:48:14.893456 Process 93 bytes request 05:48:14.893481 Got request: GET /verifiedserver HTTP/1.1 05:48:14.893491 Are-we-friendly question received 05:48:14.893514 Wrote request (93 bytes) input to log/6/server.input 05:48:14.893533 Identifying ourselves as friends 05:48:14.893587 Response sent (57 bytes) and written to log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:42891/1528 127.0.0.1:41609 > log/21/stdout1528 2> log/21/stderr1528 6/server.response 05:48:14.893603 special request received, no persistency 05:48:14.893612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 58738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 1539 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file stderr1539 URL: http://127.0.0.1:40607/1539 === End of file stderr1539 === Start of file valgrind1539 ==163683== ==163683== Process terminating with default action of signal 4 (SIGILL) ==163683== Illegal opcode at address 0x51D8933 ==163683== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163683== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163683== by 0x51D8933: Curl_open (url.c:503) ==163683== by 0x514E50F: curl_easy_init (easy.c:350) ==163683== by 0x402ECCC: test_lib1514.lto_priv.0 (lib1514.c:64) ==163683== by 0x40034B5: main (first.c:279) === End of file valgrind1539 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:35549/1536 > log/14/stdout1536 2> log/14/stderr1536 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:41219/1529" 127.0.0.1:46003 > log/17/stdout1529 2> log/17/stderr1529 test 1528...[Separately specified proxy/server headers sent in a proxy GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:42891/1528 127.0.0.1:41609 > log/21/stdout1528 2> log/21/stderr1528 1528: data FAILED: --- log/21/check-expected 2026-03-14 05:48:17.301282640 +0000 +++ log/21/check-generated 2026-03-14 05:48:17.301282640 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Content-Length: 5[CR][LF] -[CR][LF] -stop[LF] == Contents of files in the log/21/ directory after test 1528 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Content-Length: 5[CR][LF] [CR][LF] stop[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:42891/1528 127.0.0.1:41609 > log/21/stdout1528 2> log/21/stderr1528 === End of file commands.log === Start of file http2_server.log 05:48:15.396094 ====> Client connect 05:48:15.396142 accept_connection 3 returned 4 05:48:15.396157 accept_connection 3 returned 0 05:48:15.396171 Read 93 bytes 05:48:15.396180 Process 93 bytes request 05:48:15.396197 Got request: GET /verifiedserver HTTP/1.1 05:48:15.396206 Are-we-friendly question received 05:48:15.396241 Wrote request (93 bytes) input to log/21/proxy.input 05:48:15.396262 Identifying ourselves as friends 05:48:15.396325 Response sent (57 bytes) and written to log/21/proxy.response 05:48:15.396339 special request received, no persistency 05:48:15.396348 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41609... * Established connection to 127.0.0.1 (127.0.0.1 port 41609) from 127.0.0.1 port 41190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41609 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41609 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 149444 === End of file http2_verify.out === Start of file http_server.log 05:48:14.326924 ====> Client connect 05:48:14.327002 accept_connection 3 returned 4 05:48:14.327023 accept_connection 3 returned 0 05:48:14.327038 Read 93 bytes 05:48:14.327048 Process 93 bytes request 05:48:14.327063 Got request: GET /verifiedserver HTTP/1.1 05:48:14.327072 Are-we-friendly question received 05:48:14.327098 Wrote request (93 bytes) input to log/21/server.input 05:48:14.327117 Identifying ourselves as friends 05:48:14.327173 Response sent (56 bytes) and written to log/21/server.response 05:48:14.327183 special request received, no persistency 05:48:14.327191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 47658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 149444 === End of file proxy.response === Start of file server.cmd Testnum 1528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr1528 URL: http://the.old.moo:42891/1528 === End of file stderr1528 === Start of file valgrind1528 ==163277== ==163277== Process terminating with default action of signal 4 (SIGILL) ==163277== Illegal opcode at address 0x51D8933 ==163277== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163277== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163277== by 0x51D8933: Curl_open (url.c:503) ==163277== by 0x514E50F: curl_easy_init (easy.c:350) ==163277== by 0x402FBCE: test_lib1528.lto_priv.0 (lib1528.c:39) ==163277== by 0x40034B5: main (first.c:279) === End of file valgrind1528 test 1536...[Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:35549/1536 > log/14/stdout1536 2> log/14/stderr1536 1536: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1536 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:35549/1536 > log/14/stdout1536 2> log/14/stderr1536 === End of file commands.log === Start of file http_server.log 05:48:15.876222 ====> Client connect 05:48:15.876254 accept_connection 3 returned 4 05:48:15.876270 accept_connection 3 returned 0 05:48:15.876284 Read 93 bytes 05:48:15.876294 Process 93 bytes request 05:48:15.876307 Got request: GET /verifiedserver HTTP/1.1 05:48:15.876317 Are-we-friendly question received 05:48:15.876340 Wrote request (93 bytes) input to log/14/server.input 05:48:15.876357 Identifying ourselves as friends 05:48:15.876410 Response sent (56 bytes) and written to log/14/server.response 05:48:15.876419 special request received, no persistency 05:48:15.876428 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 39232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file stderr1536 URL: http://127.0.0.1:35549/1536 === End of file stderr1536 === Start of file valgrind1536 ==163613== ==163613== Process terminating with default action of signal 4 (SIGILL) ==163613== Illegal opcode at address 0x51D8933 ==163613== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163613== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163613== by 0x51D8933: Curl_open (url.c:503) ==163613== by 0x514E50F: curl_easy_init (easy.c:350) ==163613== by 0x4033ABD: UnknownInlinedFun (lib1536.c:36) ==163613== by 0x4033ABD: test_lib1536.lto_priv.0 (lib1536.c:28) ==163613== by 0x40034B5: main (first.c:279) === End of file valgrind1536 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/17/server/http2_server.pid" --logfile "log/17/http2_server.log" --logdir "log/17" --portfile log/17/server/http2_seCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1537 ./libtest/libtests lib1537 - > log/4/stdout1537 2> log/4/stderr1537 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:38765/1541 > log/1/stdout1541 2> log/1/stderr1541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:34551/ /with/ space/ /file" > log/11/stdout1543 2> log/11/stderr1543 rver.port --config log/17/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 163167 port 46003 * pid http-proxy => 163167 163167 test 1529...[HTTP request-injection in URL sent over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:41219/1529" 127.0.0.1:46003 > log/17/stdout1529 2> log/17/stderr1529 libtests returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/17/ directory after test 1529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:41219/1529" 127.0.0.1:46003 > log/17/stdout1529 2> log/17/stderr1529 === End of file commands.log === Start of file http2_server.log 05:48:14.342583 Run as proxy, CONNECT to host 127.0.0.1 05:48:14.342691 Running HTTP IPv4 version on port 46003 05:48:14.342741 Wrote pid 163167 to log/17/server/http2_server.pid 05:48:14.342775 Wrote port 46003 to log/17/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:48:15.279649 ====> Client connect 05:48:15.279679 accept_connection 3 returned 4 05:48:15.279696 accept_connection 3 returned 0 05:48:15.279710 Read 93 bytes 05:48:15.279719 Process 93 bytes request 05:48:15.279732 Got request: GET /verifiedserver HTTP/1.1 05:48:15.279741 Are-we-friendly question received 05:48:15.279762 Wrote request (93 bytes) input to log/17/server.input 05:48:15.279778 Identifying ourselves as friends 05:48:15.279827 Response sent (57 bytes) and written to log/17/server.response 05:48:15.279836 special request received, no persistency 05:48:15.279844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 57552 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1529 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file stderr1529 URL: http://the.old.moo:41219/1529 === End of file stderr1529 === Start of file valgrind1529 ==164106== ==164106== Process terminating with default action of signal 4 (SIGILL) ==164106== Illegal opcode at address 0x51D8933 ==164106== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164106== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164106== by 0x51D8933: Curl_open (url.c:503) ==164106== by 0x514E50F: curl_easy_init (easy.c:350) ==164106== by 0x402FDD5: test_lib1529.lto_priv.0 (lib1529.c:39) ==164106== by 0x40034B5: main (first.c:279) === End of file valgrind1529 test 1537...[libcurl URL escape/unescape tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1537 ./libtest/libtests lib1537 - > log/4/stdout1537 2> log/4/stderr1537 s------e-v- OK (1466 out of 1773, remaining: 00:36, took 2.295s, duration: 02:56) test 1541...[chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:38765/1541 > log/1/stdout1541 2> log/1/stderr1541 1541: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:38765/1541 > log/1/stdout1541 2> log/1/stderr1541 === End of file commands.log === Start of file http_server.log 05:48:15.960373 ====> Client connect 05:48:15.960411 accept_connection 3 returned 4 05:48:15.960430 accept_connection 3 returned 0 05:48:15.960446 Read 93 bytes 05:48:15.960455 Process 93 bytes request 05:48:15.960468 Got request: GET /verifiedserver HTTP/1.1 05:48:15.960477 Are-we-friendly question received 05:48:15.960499 Wrote request (93 bytes) input to log/1/server.input 05:48:15.960515 Identifying ourselves as friends 05:48:15.960589 Response sent (56 bytes) and written to log/1/server.response 05:48:15.960598 special request received, no persistency 05:48:15.960607 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 37340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1541 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr1541 URL: http://127.0.0.1:38765/1541 === End of file stderr1541 === Start of file valgrind1541 ==163829== ==163829== Process terminating with default action of signal 4 (SIGILL) ==163829== Illegal opcode at address 0x51D8933 ==163829== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163829== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163829== by 0x51D8933: Curl_open (url.c:503) ==163829== by 0x514E50F: curl_easy_init (easy.c:350) ==163829== by 0x40346B2: test_lib1541.lto_priv.0 (lib1541.c:119) ==163829== by 0x40034B5: main (first.c:279) === End of file valgrind1541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:33885/1535 > log/9/stdout1535 2> log/9/stderr1535 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:43413/1533 > log/15/stdout1533 2> log/15/stderr1533 test 1543...[CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:34551/ /with/ space/ /file" > log/11/stdout1543 2> log/11/stderr1543 1543: stdout FAILED: --- log/11/check-expected 2026-03-14 05:48:17.894615973 +0000 +++ log/11/check-generated 2026-03-14 05:48:17.894615973 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:34551/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/11/ directory after test 1543 === Start of file check-expected result 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:34551/%20/with/%20space/15430002[LF] redirecturl blank[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:34551/ /with/ space/ /file" > log/11/stdout1543 2> log/11/stderr1543 === End of file commands.log === Start of file http_server.log 05:48:16.045321 ====> Client connect 05:48:16.045357 accept_connection 3 returned 4 05:48:16.045374 accept_connection 3 returned 0 05:48:16.045389 Read 93 bytes 05:48:16.045399 Process 93 bytes request 05:48:16.045411 Got request: GET /verifiedserver HTTP/1.1 05:48:16.045419 Are-we-friendly question received 05:48:16.045442 Wrote request (93 bytes) input to log/11/server.input 05:48:16.045457 Identifying ourselves as friends 05:48:16.045597 Response sent (56 bytes) and written to log/11/server.response 05:48:16.045607 special request received, no persistency 05:48:16.045616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 45066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1543 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr1543 URL: http://127.0.0.1:34551/ /with/ space/ /file === End of file stderr1543 === Start of file valgrind1543 ==163915== ==163915== Process terminating with default action of signal 4 (SIGILL) ==163915== Illegal opcode at address 0x51D8933 ==163915== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163915== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163915== by 0x51D8933: Curl_open (url.c:503) ==163915== by 0x514E50F: curl_easy_init (easy.c:350) ==163915== by 0x4032498: test_lib1518.lto_priv.0 (lib1518.c:47) ==163915== by 0x40034B5: main (first.c:279) === End of file valgrind1543 test 1535...[Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:33885/1535 > log/9/stdout1535 2> log/9/stderr1535 1535: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:33885/1535 > log/9/stdout1535 2> log/9/stderr1535 === End of file commands.log === Start of file http_server.log 05:48:14.806679 ====> Client connect 05:48:14.806710 accept_connection 3 returned 4 05:48:14.806725 accept_connection 3 returned 0 05:48:14.810433 Read 93 bytes 05:48:14.810455 Process 93 bytes request 05:48:14.810469 Got request: GET /verifiedserver HTTP/1.1 05:48:14.810478 Are-we-friendly question received 05:48:14.810523 Wrote request (93 bytes) input to log/9/server.input 05:48:14.810541 Identifying ourselves as friends 05:48:14.810624 Response sent (56 bytes) and written to log/9/server.response 05:48:14.810634 special request received, no persistency 05:48:14.810643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 59776 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr1535 URL: http://127.0.0.1:33885/1535 === End of file stderr1535 === Start of file valgrind1535 ==163640== ==163640== Process terminating with default action of signal 4 (SIGILL) ==163640== Illegal opcode at address 0x51D8933 ==163640== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163640== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163640== by 0x51D8933: Curl_open (url.c:503) ==163640== by 0x514E50F: curl_easy_init (easy.c:350) ==163640== by 0x40336FB: UnknownInlinedFun (lib1535.c:36) ==163640== by 0x40336FB: test_lib1535.lto_priv.0 (lib1535.c:28) ==163640== by 0x40034B5: main (first.c:279) === End of file valgrind1535 test 1533...[HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:43413/1533 > log/15/stdout1533 2> log/15/stderr1533 1533: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:43413/1533 > log/15/stdout1533 2> log/15/stderr1533 === End of file commands.log === Start of file http_server.log 05:48:15.503858 ====> Client connect 05:48:15.503890 accept_connection 3 returned 4 05:48:15.503905 accept_connection 3 returned 0 05:48:15.503918 Read 93 bytes 05:48:15.503927 Process 93 bytes request 05:48:15.503940 Got request: GET /verifiedserver HTTP/1.1 05:48:15.503948 Are-we-friendly question received 05:48:15.503972 Wrote request (93 bytes) input to log/15/server.input 05:48:15.503988 Identifying ourselves as friends 05:48:15.504040 Response sent (56 bytes) and written to log/15/server.response 05:48:15.504048 special request received, no persistency 05:48:15.504056 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 51344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > UseCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:38929/1545 > log/20/stdout1545 2> log/20/stderr1545 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:41477/1542 > log/22/stdout1542 2> log/22/stderr1542 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:45623/1551 > log/8/stdout1551 2> log/8/stderr1551 r-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1533 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr1533 URL: http://127.0.0.1:43413/1533 === End of file stderr1533 === Start of file valgrind1533 ==163389== ==163389== Process terminating with default action of signal 4 (SIGILL) ==163389== Illegal opcode at address 0x51D8933 ==163389== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163389== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163389== by 0x51D8933: Curl_open (url.c:503) ==163389== by 0x514E50F: curl_easy_init (easy.c:350) ==163389== by 0x4030FF7: test_lib1533.lto_priv.0 (lib1533.c:133) ==163389== by 0x40034B5: main (first.c:279) === End of file valgrind1533 test 1545...[use curl_formadd() data twice with unreadable file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:38929/1545 > log/20/stdout1545 2> log/20/stderr1545 libtests returned 132, when expecting 0 1545: exit FAILED == Contents of files in the log/20/ directory after test 1545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:38929/1545 > log/20/stdout1545 2> log/20/stderr1545 === End of file commands.log === Start of file http_server.log 05:48:15.383711 ====> Client connect 05:48:15.383756 accept_connection 3 returned 4 05:48:15.383776 accept_connection 3 returned 0 05:48:15.383794 Read 93 bytes 05:48:15.383805 Process 93 bytes request 05:48:15.383821 Got request: GET /verifiedserver HTTP/1.1 05:48:15.383831 Are-we-friendly question received 05:48:15.383862 Wrote request (93 bytes) input to log/20/server.input 05:48:15.383882 Identifying ourselves as friends 05:48:15.383957 Response sent (56 bytes) and written to log/20/server.response 05:48:15.383969 special request received, no persistency 05:48:15.383979 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 52200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr1545 URL: http://127.0.0.1:38929/1545 === End of file stderr1545 === Start of file valgrind1545 ==164164== ==164164== Process terminating with default action of signal 4 (SIGILL) ==164164== Illegal opcode at address 0x51D8933 ==164164== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164164== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164164== by 0x51D8933: Curl_open (url.c:503) ==164164== by 0x514E50F: curl_easy_init (easy.c:350) ==164164== by 0x4034D49: test_lib1545.lto_priv.0 (lib1545.c:35) ==164164== by 0x40034B5: main (first.c:279) === End of file valgrind1545 test 1542...[connection reuse with CURLOPT_MAXLIFETIME_CONN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:41477/1542 > log/22/stdout1542 2> log/22/stderr1542 1542: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:41477/1542 > log/22/stdout1542 2> log/22/stderr1542 === End of file commands.log === Start of file http_server.log 05:48:16.022582 ====> Client connect 05:48:16.022615 accept_connection 3 returned 4 05:48:16.022635 accept_connection 3 returned 0 05:48:16.022650 Read 93 bytes 05:48:16.022661 Process 93 bytes request 05:48:16.022675 Got request: GET /verifiedserver HTTP/1.1 05:48:16.022684 Are-we-friendly question received 05:48:16.022712 Wrote request (93 bytes) input to log/22/server.input 05:48:16.022731 Identifying ourselves as friends 05:48:16.022793 Response sent (56 bytes) and written to log/22/server.response 05:48:16.022805 special request received, no persistency 05:48:16.022814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 32906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1542 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file stderr1542 URL: http://127.0.0.1:41477/1542 === End of file stderr1542 === Start of file valgrind1542 ==163893== ==163893== Process terminating with default action of signal 4 (SIGILL) ==163893== Illegal opcode at address 0x51D8933 ==163893== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163893== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163893== by 0x51D8933: Curl_open (url.c:503) ==163893== by 0x514E50F: curl_easy_init (easy.c:350) ==163893== by 0x403005B: UnknownInlinedFun (lib1542.c:44) ==163893== by 0x403005B: test_lib1542.lto_priv.0 (lib1542.c:37) ==163893== by 0x40034B5: main (first.c:279) === End of file valgrind1542 test 1551...[re-run redirected transfer without setting URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:45623/1551 > log/8/stdout1551 2> log/8/stderr1551 1551: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:45623/1551 > log/8/stdout1551 2> log/8/stderr1551 === End of file commands.log === Start of file http_server.log 05:48:16.177051 ====> Client connect 05:48:16.177096 accept_connection 3 returned 4 05:48:16.177115 accept_connection 3 returned 0 05:48:16.177131 Read 93 bytes 05:48:16.177141 Process 93 bytes request 05:48:16.177154 Got request: GET /verifieCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:39913/1540 > log/18/stdout1540 2> log/18/stderr1540 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1546 ../src/curl -q --output log/24/curl1546.out --include --trace-ascii log/24/trace1546 --trace-time http://127.0.0.1:33593/1546 --tr-encoding > log/24/stdout1546 2> log/24/stderr1546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1547 ../src/curl -q --output log/23/curl1547.out --include --trace-ascii log/23/trace1547 --trace-time ftp://127.0.0.1:40271/test-1547/ -P 127.0.0.1 --ftp-pasv > log/23/stdout1547 2> log/23/stderr1547 dserver HTTP/1.1 05:48:16.177163 Are-we-friendly question received 05:48:16.177187 Wrote request (93 bytes) input to log/8/server.input 05:48:16.177203 Identifying ourselves as friends 05:48:16.177277 Response sent (56 bytes) and written to log/8/server.response 05:48:16.177287 special request received, no persistency 05:48:16.177296 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 38332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr1551 URL: http://127.0.0.1:45623/1551 === End of file stderr1551 === Start of file valgrind1551 ==164468== ==164468== Process terminating with default action of signal 4 (SIGILL) ==164468== Illegal opcode at address 0x51D8933 ==164468== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164468== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164468== by 0x51D8933: Curl_open (url.c:503) ==164468== by 0x514E50F: curl_easy_init (easy.c:350) ==164468== by 0x403032A: UnknownInlinedFun (lib1551.c:34) ==164468== by 0x403032A: test_lib1551.lto_priv.0 (lib1551.c:28) ==164468== by 0x40034B5: main (first.c:279) === End of file valgrind1551 test 1540...[chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:39913/1540 > log/18/stdout1540 2> log/18/stderr1540 1540: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:39913/1540 > log/18/stdout1540 2> log/18/stderr1540 === End of file commands.log === Start of file http_server.log 05:48:14.945486 ====> Client connect 05:48:14.945518 accept_connection 3 returned 4 05:48:14.945534 accept_connection 3 returned 0 05:48:14.945548 Read 93 bytes 05:48:14.945558 Process 93 bytes request 05:48:14.945571 Got request: GET /verifiedserver HTTP/1.1 05:48:14.945579 Are-we-friendly question received 05:48:14.945604 Wrote request (93 bytes) input to log/18/server.input 05:48:14.945621 Identifying ourselves as friends 05:48:14.945675 Response sent (56 bytes) and written to log/18/server.response 05:48:14.945683 special request received, no persistency 05:48:14.945692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 57852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file stderr1540 URL: http://127.0.0.1:39913/1540 === End of file stderr1540 === Start of file valgrind1540 ==163779== ==163779== Process terminating with default action of signal 4 (SIGILL) ==163779== Illegal opcode at address 0x51D8933 ==163779== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==163779== by 0x51D8933: UnknownInlinedFun (request.c:40) ==163779== by 0x51D8933: Curl_open (url.c:503) ==163779== by 0x514E50F: curl_easy_init (easy.c:350) ==163779== by 0x4032A15: test_lib1540.lto_priv.0 (lib1540.c:95) ==163779== by 0x40034B5: main (first.c:279) === End of file valgrind1540 test 1546...[HTTP transfer-encoding wrong order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1546 ../src/curl -q --output log/24/curl1546.out --include --trace-ascii log/24/trace1546 --trace-time http://127.0.0.1:33593/1546 --tr-encoding > log/24/stdout1546 2> log/24/stderr1546 1546: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1546 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1546 ../src/curl -q --output log/24/curl1546.out --include --trace-ascii log/24/trace1546 --trace-time http://127.0.0.1:33593/1546 --tr-encoding > log/24/stdout1546 2> log/24/stderr1546 === End of file commands.log === Start of file http_server.log 05:48:16.666121 ====> Client connect 05:48:16.666161 accept_connection 3 returned 4 05:48:16.666177 accept_connection 3 returned 0 05:48:16.666192 Read 93 bytes 05:48:16.666202 Process 93 bytes request 05:48:16.666217 Got request: GET /verifiedserver HTTP/1.1 05:48:16.666226 Are-we-friendly question received 05:48:16.666252 Wrote request (93 bytes) input to log/24/server.input 05:48:16.666270 Identifying ourselves as friends 05:48:16.666328 Response sent (56 bytes) and written to log/24/server.response 05:48:16.666338 special request received, no persistency 05:48:16.666346 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 51684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1546 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1546 ==164251== ==164251== Process terminating with default action of signal 4 (SIGILL) ==164251== Illegal opcode at address 0x4014883 ==164251== at 0x4014883: getparameter (tool_getparam.c:2899) ==164251== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==164251== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==164251== by 0x4004208: main (tool_main.c:189) === End of file valgrind1546 test 1547...[FTP dir list PASV overriding PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1547 ../src/curl -q --output log/23/curl1547.out --include --trace-ascii log/23/trace1547 --trace-time ftp://127.0.0.1:40271/test-1547/ -P 127.0.0.1 --ftp-pasv > log/23/stdout1547 2> log/23/stderr1547 1547: protocol FAILED! There was no content at all in theCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/6/data1558 > log/6/stdout1558 2> log/6/stderr1558 file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1547 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1547 ../src/curl -q --output log/23/curl1547.out --include --trace-ascii log/23/trace1547 --trace-time ftp://127.0.0.1:40271/test-1547/ -P 127.0.0.1 --ftp-pasv > log/23/stdout1547 2> log/23/stderr1547 === End of file commands.log === Start of file ftp_server.log 05:48:16.412230 ====> Client connect 05:48:16.412469 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:16.426157 < "USER anonymous" 05:48:16.426221 > "331 We are happy you popped in![CR][LF]" 05:48:16.427032 < "PASS ftp@example.com" 05:48:16.427077 > "230 Welcome you silly person[CR][LF]" 05:48:16.442451 < "PWD" 05:48:16.442527 > "257 "/" is current directory[CR][LF]" 05:48:16.445820 < "EPSV" 05:48:16.445862 ====> Passive DATA channel requested by client 05:48:16.445880 DATA sockfilt for passive data channel starting... 05:48:16.450382 DATA sockfilt for passive data channel started (pid 164328) 05:48:16.450508 DATA sockfilt for passive data channel listens on port 44551 05:48:16.450558 > "229 Entering Passive Mode (|||44551|)[CR][LF]" 05:48:16.450576 Client has been notified that DATA conn will be accepted on port 44551 05:48:16.450879 Client connects to port 44551 05:48:16.450911 ====> Client established passive DATA connection on port 44551 05:48:16.451005 < "TYPE I" 05:48:16.451037 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:16.451190 < "SIZE verifiedserver" 05:48:16.451229 > "213 17[CR][LF]" 05:48:16.451377 < "RETR verifiedserver" 05:48:16.451410 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:16.451492 =====> Closing passive DATA connection... 05:48:16.451509 Server disconnects passive DATA connection 05:48:16.451692 Server disconnected passive DATA connection 05:48:16.451717 DATA sockfilt for passive data channel quits (pid 164328) 05:48:16.452001 DATA sockfilt for passive data channel quit (pid 164328) 05:48:16.452026 =====> Closed passive DATA connection 05:48:16.452051 > "226 File transfer complete[CR][LF]" 05:48:16.495893 < "QUIT" 05:48:16.495963 > "221 bye bye baby[CR][LF]" 05:48:16.497560 MAIN sockfilt said DISC 05:48:16.497600 ====> Client disconnected 05:48:16.497695 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:16.863658 ====> Client connect 05:48:16.876993 Received DATA (on stdin) 05:48:16.877038 > 146 bytes data, server => client 05:48:16.877051 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:16.877061 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:16.877070 '220 \___|\___/|_| \_\_____|\r\n' 05:48:16.887131 < 16 bytes data, client => server 05:48:16.887165 'USER anonymous\r\n' 05:48:16.887681 Received DATA (on stdin) 05:48:16.887702 > 33 bytes data, server => client 05:48:16.887729 '331 We are happy you popped in!\r\n' 05:48:16.887859 < 22 bytes data, client => server 05:48:16.887877 'PASS ftp@example.com\r\n' 05:48:16.888532 Received DATA (on stdin) 05:48:16.888545 > 30 bytes data, server => client 05:48:16.888556 '230 Welcome you silly person\r\n' 05:48:16.903676 < 5 bytes data, client => server 05:48:16.903717 'PWD\r\n' 05:48:16.903995 Received DATA (on stdin) 05:48:16.904013 > 30 bytes data, server => client 05:48:16.904024 '257 "/" is current directory\r\n' 05:48:16.907070 < 6 bytes data, client => server 05:48:16.907098 'EPSV\r\n' 05:48:16.912036 Received DATA (on stdin) 05:48:16.912053 > 39 bytes data, server => client 05:48:16.912063 '229 Entering Passive Mode (|||44551|)\r\n' 05:48:16.912251 < 8 bytes data, client => server 05:48:16.912266 'TYPE I\r\n' 05:48:16.912487 Received DATA (on stdin) 05:48:16.912498 > 33 bytes data, server => client 05:48:16.912508 '200 I modify TYPE as you wanted\r\n' 05:48:16.912558 < 21 bytes data, client => server 05:48:16.912569 'SIZE verifiedserver\r\n' 05:48:16.912679 Received DATA (on stdin) 05:48:16.912689 > 8 bytes data, server => client 05:48:16.912699 '213 17\r\n' 05:48:16.912747 < 21 bytes data, client => server 05:48:16.912757 'RETR verifiedserver\r\n' 05:48:16.912960 Received DATA (on stdin) 05:48:16.912971 > 29 bytes data, server => client 05:48:16.912980 '150 Binary junk (17 bytes).\r\n' 05:48:16.913501 Received DATA (on stdin) 05:48:16.913512 > 28 bytes data, server => client 05:48:16.913522 '226 File transfer complete\r\n' 05:48:16.957107 < 6 bytes data, client => server 05:48:16.957153 'QUIT\r\n' 05:48:16.957419 Received DATA (on stdin) 05:48:16.957432 > 18 bytes data, server => client 05:48:16.957442 '221 bye bye baby\r\n' 05:48:16.958654 ====> Client disconnect 05:48:16.959146 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:16.911461 Running IPv4 version 05:48:16.911554 Listening on port 44551 05:48:16.911622 Wrote pid 164328 to log/23/server/ftp_sockdata.pid 05:48:16.911774 Received PING (on stdin) 05:48:16.911859 Received PORT (on stdin) 05:48:16.912286 ====> Client connect 05:48:16.913032 Received DATA (on stdin) 05:48:16.913045 > 17 bytes data, server => client 05:48:16.913055 'WE ROOLZ: 81405\r\n' 05:48:16.913082 Received DISC (on stdin) 05:48:16.913093 ====> Client forcibly disconnected 05:48:16.913230 Received QUIT (on stdin) 05:48:16.913244 quits 05:48:16.913307 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1547 === End of file server.cmd === Start of file valgrind1547 ==164335== ==164335== Process terminating with default action of signal 4 (SIGILL) ==164335== Illegal opcode at address 0x4014883 ==164335== at 0x4014883: getparameter (tool_getparam.c:2899) ==164335== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==164335== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==164335== by 0x4004208: main (tool_main.c:189) === End of file valgrind1547 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1550 ./libtest/libtests lib1550 - > log/19/stdout1550 2> log/19/stderr1550 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:35611/1553 > log/12/stdout1553 2> log/12/stderr1553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:33343/1552/;MAILINDEX=1' > log/2/stdout1552 2> log/2/stderr1552 test 1558...[CURLINFO_PROTOCOL for file:// transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/6/data1558 > log/6/stdout1558 2> log/6/stderr1558 1558: stdout FAILED: --- log/6/check-expected 2026-03-14 05:48:19.011282638 +0000 +++ log/6/check-generated 2026-03-14 05:48:19.011282638 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/6/ directory after test 1558 === Start of file check-expected hello[LF] Protocol: 400[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/6/data1558 > log/6/stdout1558 2> log/6/stderr1558 === End of file commands.log === Start of file data1558 hello === End of file data1558 === Start of file server.cmd Testnum 1558 === End of file server.cmd === Start of file stderr1558 URL: file:///startdir/src/build-curl/tests/log/6/data1558 === End of file stderr1558 === Start of file valgrind1558 ==164739== ==164739== Process terminating with default action of signal 4 (SIGILL) ==164739== Illegal opcode at address 0x51D8933 ==164739== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164739== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164739== by 0x51D8933: Curl_open (url.c:503) ==164739== by 0x514E50F: curl_easy_init (easy.c:350) ==164739== by 0x40314C1: test_lib1558.lto_priv.0 (lib1558.c:33) ==164739== by 0x40034B5: main (first.c:279) === End of file valgrind1558 test 1550...[verify setting pipelining blocklisting options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1550 ./libtest/libtests lib1550 - > log/19/stdout1550 2> log/19/stderr1550 libtests returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/19/ directory after test 1550 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1550 ./libtest/libtests lib1550 - > log/19/stdout1550 2> log/19/stderr1550 === End of file commands.log === Start of file server.cmd Testnum 1550 === End of file server.cmd === Start of file stderr1550 URL: - === End of file stderr1550 === Start of file valgrind1550 ==164399== ==164399== Process terminating with default action of signal 4 (SIGILL) ==164399== Illegal opcode at address 0x519F3C0 ==164399== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==164399== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==164399== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==164399== by 0x402CA61: UnknownInlinedFun (lib1550.c:38) ==164399== by 0x402CA61: test_lib1550.lto_priv.0 (lib1550.c:28) ==164399== by 0x40034B5: main (first.c:279) ==164399== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164399== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164399== by 0x519F354: Curl_multi_handle (multi.c:235) ==164399== by 0x402CA61: UnknownInlinedFun (lib1550.c:38) ==164399== by 0x402CA61: test_lib1550.lto_priv.0 (lib1550.c:28) ==164399== by 0x40034B5: main (first.c:279) ==164399== === End of file valgrind1550 test 1553...[IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:35611/1553 > log/12/stdout1553 2> log/12/stderr1553 libtests returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/12/ directory after test 1553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:35611/1553 > log/12/stdout1553 2> log/12/stderr1553 === End of file commands.log === Start of file imap_server.log 05:48:17.062409 ====> Client connect 05:48:17.062569 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:17.068726 < "A001 CAPABILITY" 05:48:17.068779 > "A001 BAD Command[CR][LF]" 05:48:17.068973 < "A002 LIST "verifiedserver" *" 05:48:17.069002 LIST_imap got "verifiedserver" * 05:48:17.069028 > "* LIST () "/" "WE ROOLZ: 120117"[CR][LF]" 05:48:17.069045 > "A002 OK LIST Completed[CR][LF]" 05:48:17.069058 return proof we are we 05:48:17.129062 < "A003 LOGOUT" 05:48:17.129128 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:17.129149 > "A003 OK LOGOUT completed[CR][LF]" 05:48:17.136839 MAIN sockfilt said DISC 05:48:17.136924 ====> Client disconnected 05:48:17.137017 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:16.523719 ====> Client connect 05:48:16.524036 Received DATA (on stdin) 05:48:16.524051 > 164 bytes data, server => client 05:48:16.524064 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:16.524074 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:16.524085 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:16.527111 < 17 bytes data, client => server 05:48:16.527130 'A001 CAPABILITY\r\n' 05:48:16.530234 Received DATA (on stdin) 05:48:16.530246 > 18 bytes data, server => client 05:48:16.530256 'A001 BAD Command\r\n' 05:48:16.530336 < 30 bytes data, client => server 05:48:16.530349 'A002 LIST "verifiedserver" *\r\n' 05:48:16.530505 Received DATA (on stdin) 05:48:16.530515 > 34 bytes data, server => client 05:48:16.530525 '* LIST () "/" "WE ROOLZ: 120117"\r\n' 05:48:16.530544 Received DATA (on stdin) 05:48:16.530553 > 24 bytes data, server => client 05:48:16.530562 'A002 OK LIST Completed\r\n' 05:48:16.587011 < 13 bytes data, client => server 05:48:16.587053 'A003 LOGOUT\r\n' 05:48:16.590606 Received DATA (on stdin) 05:48:16.590623 > 36 bytes data, server => client 05:48:16.590634 '* BYE curl IMAP server signing off\r\n' 05:48:16.590680 Received DATA (on stdin) 05:48:16.590690 > 26 bytes data, server => client 05:48:16.590700 'A003 OK LOGOUT completed\r\n' 05:48:16.598167 ====> Client disconnect 05:48:16.598476 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1553 === End of file server.cmd === Start of file stderr1553 URL: imap://non-existing-host.haxx.se:35611/1553 === End of file stderr1553 === Start of file valgrind1553 ==164689== ==164689== Process terminating with default action of signal 4 (SIGILL) ==164689== Illegal opcode at address 0x519F3C0 ==164689== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==164689== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==164689== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==164689== by 0x4035744: UnknownInlinedFun (lib1553.c:56) ==164689== by 0x4035744: test_lib1553.lto_priv.0 (lib1553.c:41) ==164689== by 0x40034B5: main (first.c:279) ==164689== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164689== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164689== by 0x519F354: Curl_multi_handle (multi.c:235) ==164689== by 0x4035744: UnknownInlinedFun (lib1553.c:56) ==164689== by 0x4035744: test_lib1553.lto_priv.0 (lib1553.c:41) ==164689== by 0x40034B5: main (first.c:279) ==164689== === End of file valgrind1553 test 1552...[IMAP multi transfer error witCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:39013/1556 > log/7/stdout1556 2> log/7/stderr1556 hout curl_multi_remove_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:33343/1552/;MAILINDEX=1' > log/2/stdout1552 2> log/2/stderr1552 libtests returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/2/ directory after test 1552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:33343/1552/;MAILINDEX=1' > log/2/stdout1552 2> log/2/stderr1552 === End of file commands.log === Start of file imap_server.log 05:48:16.798422 ====> Client connect 05:48:16.798598 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:16.802566 < "A001 CAPABILITY" 05:48:16.802624 > "A001 BAD Command[CR][LF]" 05:48:16.802834 < "A002 LIST "verifiedserver" *" 05:48:16.802866 LIST_imap got "verifiedserver" * 05:48:16.802895 > "* LIST () "/" "WE ROOLZ: 119784"[CR][LF]" 05:48:16.802913 > "A002 OK LIST Completed[CR][LF]" 05:48:16.802926 return proof we are we 05:48:16.862371 < "A003 LOGOUT" 05:48:16.862437 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:16.862462 > "A003 OK LOGOUT completed[CR][LF]" 05:48:16.864807 MAIN sockfilt said DISC 05:48:16.864846 ====> Client disconnected 05:48:16.864930 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:16.259732 ====> Client connect 05:48:16.260064 Received DATA (on stdin) 05:48:16.260080 > 164 bytes data, server => client 05:48:16.260092 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:16.260101 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:16.260109 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:16.263778 < 17 bytes data, client => server 05:48:16.263804 'A001 CAPABILITY\r\n' 05:48:16.264081 Received DATA (on stdin) 05:48:16.264093 > 18 bytes data, server => client 05:48:16.264103 'A001 BAD Command\r\n' 05:48:16.264171 < 30 bytes data, client => server 05:48:16.264181 'A002 LIST "verifiedserver" *\r\n' 05:48:16.264375 Received DATA (on stdin) 05:48:16.264386 > 34 bytes data, server => client 05:48:16.264395 '* LIST () "/" "WE ROOLZ: 119784"\r\n' 05:48:16.264415 Received DATA (on stdin) 05:48:16.264424 > 24 bytes data, server => client 05:48:16.264433 'A002 OK LIST Completed\r\n' 05:48:16.313784 < 13 bytes data, client => server 05:48:16.313819 'A003 LOGOUT\r\n' 05:48:16.324841 Received DATA (on stdin) 05:48:16.324868 > 36 bytes data, server => client 05:48:16.324880 '* BYE curl IMAP server signing off\r\n' 05:48:16.324922 Received DATA (on stdin) 05:48:16.324931 > 26 bytes data, server => client 05:48:16.324941 'A003 OK LOGOUT completed\r\n' 05:48:16.326197 ====> Client disconnect 05:48:16.326380 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1552 === End of file server.cmd === Start of file stderr1552 URL: imap://127.0.0.1:33343/1552/;MAILINDEX=1 === End of file stderr1552 === Start of file valgrind1552 ==164575== ==164575== Process terminating with default action of signal 4 (SIGILL) ==164575== Illegal opcode at address 0x519F3C0 ==164575== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==164575== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==164575== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==164575== by 0x4034F43: UnknownInlinedFun (lib1552.c:40) ==164575== by 0x4034F43: test_lib1552.lto_priv.0 (lib1552.c:26) ==164575== by 0x40034B5: main (first.c:279) ==164575== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164575== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164575== by 0x519F354: Curl_multi_handle (multi.c:235) ==164575== by 0x4034F43: UnknownInlinedFun (lib1552.c:40) ==164575== by 0x4034F43: test_lib1552.lto_priv.0 (lib1552.c:26) ==164575== by 0x40034B5: main (first.c:279) ==164575== === End of file valgrind1552 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1548 ../src/curl -q --output log/10/curl1548.out --include --trace-ascii log/10/trace1548 --trace-time -m 1 telnet://127.0.0.1:46741 log/10/stdout1548 2> log/10/stderr1548 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1559 ./libtest/libtests lib1559 - > log/21/stdout1559 2> log/21/stderr1559 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/5/stdout1557 2> log/5/stderr1557 test 1556...[send long HTTP headers to header callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:39013/1556 > log/7/stdout1556 2> log/7/stderr1556 1556: stdout FAILED: --- log/7/check-expected 2026-03-14 05:48:19.264615972 +0000 +++ log/7/check-generated 2026-03-14 05:48:19.264615972 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/7/ directory after test 1556 === Start of file check-expected -foo-[LF] Max = 100009[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:39013/1556 > log/7/stdout1556 2> log/7/stderr1556 === End of file commands.log === Start of file http_server.log 05:48:16.716283 ====> Client connect 05:48:16.716317 accept_connection 3 returned 4 05:48:16.716334 accept_connection 3 returned 0 05:48:16.716350 Read 93 bytes 05:48:16.716361 Process 93 bytes request 05:48:16.716375 Got request: GET /verifiedserver HTTP/1.1 05:48:16.716384 Are-we-friendly question received 05:48:16.716412 Wrote request (93 bytes) input to log/7/server.input 05:48:16.716433 Identifying ourselves as friends 05:48:16.716493 Response sent (56 bytes) and written to log/7/server.response 05:48:16.716504 special request received, no persistency 05:48:16.716513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 40458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file stderr1556 URL: http://127.0.0.1:39013/1556 === End of file stderr1556 === Start of file valgrind1556 ==164840== ==164840== Process terminating with default action of signal 4 (SIGILL) ==164840== Illegal opcode at address 0x51D8933 ==164840== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164840== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164840== by 0x51D8933: Curl_open (url.c:503) ==164840== by 0x514E50F: curl_easy_init (easy.c:350) ==164840== by 0x40306C1: test_lib1556.lto_priv.0 (lib1556.c:52) ==164840== by 0x40034B5: main (first.c:279) === End of file valgrind1556 test 1548...[TELNET read stdin without upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1548 ../src/curl -q --output log/10/curl1548.out --include --trace-ascii log/10/trace1548 --trace-time -m 1 telnet://127.0.0.1:46741 log/10/stdout1548 2> log/10/stderr1548 curl returned 132, when expecting 28 1548: exit FAILED == Contents of files in the log/10/ directory after test 1548 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1548 ../src/curl -q --output log/10/curl1548.out --include --trace-ascii log/10/trace1548 --trace-time -m 1 telnet://127.0.0.1:46741 log/10/stdout1548 2> log/10/stderr1548 === End of file commands.log === Start of file http_server.log 05:48:16.059384 ====> Client connect 05:48:16.059420 accept_connection 3 returned 4 05:48:16.059437 accept_connection 3 returned 0 05:48:16.059452 Read 93 bytes 05:48:16.059462 Process 93 bytes request 05:48:16.059477 Got request: GET /verifiedserver HTTP/1.1 05:48:16.059487 Are-we-friendly question received 05:48:16.059512 Wrote request (93 bytes) input to log/10/server.input 05:48:16.059530 Identifying ourselves as friends 05:48:16.059589 Response sent (56 bytes) and written to log/10/server.response 05:48:16.059600 special request received, no persistency 05:48:16.059608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 52554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stdin-for-1548 GET /we/want/1548 HTTP/1.0 === End of file stdin-for-1548 === Start of file valgrind1548 ==164368== ==164368== Process terminating with default action of signal 4 (SIGILL) ==164368== Illegal opcode at address 0x4014883 ==164368== at 0x4014883: getparameter (tool_getparam.c:2899) ==164368== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==164368== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==164368== by 0x4004208: main (tool_main.c:189) === End of file valgrind1548 test 1557...[Remove easy handle in pending connections does not leave dangling entry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/5/stdout1557 2> log/5/stderr1557 libtests returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/5/ directory after test 1557 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/5/stdout1557 2> log/5/stderr1557 === End of file commands.log === Start of file server.cmd Testnum 1557 === End of file server.cmd === Start of file stderr1557 URL: hostname.invalid === End of file stderr1557 === Start of file valgrind1557 ==164724== ==164724== Process terminating with default action of signal 4 (SIGILL) ==164724== Illegal opcode at address 0x519F3C0 ==164724== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==164724== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==164724== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==164724== by 0x402CB44: test_lib1557.lto_priv.0 (lib1557.c:36) ==164724== by 0x40034B5: main (first.c:279) ==164724== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==164724== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==164724== by 0x519F354: Curl_multi_handle (multi.c:235) ==164724== by 0x402CB44: test_lib1557.lto_priv.0 (lib1557.c:36) ==164724== by 0x40034B5: main (first.c:279) ==164724== === End of file valgrind1557 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:44281/1549 > log/16/stdout1549 2> log/16/stderr1549 test 1559...[Set excessive URL lengths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1559 ./libtest/libtests lib1559 - > log/21/stdout1559 2> log/21/stderr1559 1559: stdout FAILED: --- log/21/check-expected 2026-03-14 05:48:19.451282639 +0000 +++ log/21/check-generated 2026-03-14 05:48:19.451282639 +0000 @@ -1,5 +0,0 @@ -CURLOPT_URL 10000000 bytes URL == 43[LF] -CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] -CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] -CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] -CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] == Contents of files in the log/21/ directory after test 1559 === Start of file check-expected CURLOPT_URL 10000000 bytes URL == 43[LF] CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1559 ./libtest/libtests lib1559 - > log/21/stdout1559 2> log/21/stderr1559 === End of file commands.log === Start of file server.cmd Testnum 1559 === End of file server.cmd === Start of file stderr1559 URL: - === End of file stderr1559 === Start of file valgrind1559 ==164891== ==164891== Process terminating with default action of signal 4 (SIGILL) ==164891== Illegal opcode at address 0x51D8933 ==164891== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164891== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164891== by 0x51D8933: Curl_open (url.c:503) ==164891== by 0x514E50F: curl_easy_init (easy.c:350) ==164891== by 0x40360EB: UnknownInlinedFun (lib1559.c:37) ==164891== by 0x40360EB: test_lib1559.lto_priv.0 (lib1559.c:26) ==164891== by 0x40034B5: main (first.c:279) === End of file valgrind1559 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:45359/1555 > log/13/stdout1555 2> log/13/stderr1555 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_server.pid" --logfile "log/16/http_server.log" --logdir "log/16" --portfile log/16/server/http_server.port --config log/16/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 164336 port 44281 * pid http => 164336 164336 test 1549...[Receive expired cookies and CURLINFO_COOKIELIST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:44281/1549 > log/16/stdout1549 2> log/16/stderr1549 1549: stderr FAILED: --- log/16/check-expected 2026-03-14 05:48:19.591282639 +0000 +++ log/16/check-generated 2026-03-14 05:48:19.591282639 +0000 @@ -1,3 +1 @@ URL: http://127.0.0.1:44281/1549[CR][LF] -0 cookies[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/16/ directory after test 1549 === Start of file check-expected URL: http://127.0.0.1:44281/1549[CR][LF] 0 cookies[CR][LF] Test ended with result 0[CR][LF] === End of file check-expected === Start of file check-generated URL: http://127.0.0.1:44281/1549[CR][LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:44281/1549 > log/16/stdout1549 2> log/16/stderr1549 === End of file commands.log === Start of file http_server.log 05:48:16.067537 Running HTTP IPv4 version on port 44281 05:48:16.067649 Wrote pid 164336 to log/16/server/http_server.pid 05:48:16.067683 Wrote port 44281 to log/16/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1549 === End of file server.cmd === Start of file stderr1549 URL: http://127.0.0.1:44281/1549 === End of file stderr1549 === Start of file valgrind1549 ==165084== ==165084== Process terminating with default action of signal 4 (SIGILL) ==165084== Illegal opcode at address 0x51D8933 ==165084== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165084== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165084== by 0x51D8933: Curl_open (url.c:503) ==165084== by 0x514E50F: curl_easy_init (easy.c:350) ==165084== by 0x40312F7: test_lib1549.lto_priv.0 (lib1549.c:38) ==165084== by 0x40034B5: main (first.c:279) === End of file valgrind1549 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:39591/1554 > log/3/stdout1554 2> log/3/stderr1554 test 1555...[verify api is protected against calls from callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:45359/1555 > log/13/stdout1555 2> log/13/stderr1555 1555: stdout FAILED: --- log/13/check-expected 2026-03-14 05:48:19.611282639 +0000 +++ log/13/check-generated 2026-03-14 05:48:19.611282639 +0000 @@ -1,2 +0,0 @@ -curl_easy_recv returned 93[LF] -curl_easy_send returned 93[LF] == Contents of files in the log/13/ directory after test 1555 === Start of file check-expected curl_easy_recv returned 93[LF] curl_easy_send returned 93[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:45359/1555 > log/13/stdout1555 2> log/13/stderr1555 === End of file commands.log === Start of file http_server.log 05:48:17.646332 ====> Client connect 05:48:17.646369 accept_connection 3 returned 4 05:48:17.646385 accept_connection 3 returned 0 05:48:17.646399 Read 93 bytes 05:48:17.646408 Process 93 bytes request 05:48:17.646421 Got request: GET /verifiedserver HTTP/1.1 05:48:17.646431 Are-we-friendly question received 05:48:17.646476 Wrote request (93 bytes) input to log/13/server.input 05:48:17.646495 Identifying ourselves as friends 05:48:17.646552 Response sent (56 bytes) and written to log/13/server.response 05:48:17.646562 special request received, no persistency 05:48:17.646570 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 48164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr1555 URL: http://127.0.0.1:45359/1555 === End of file stderr1555 === Start of file valgrind1555 ==164741== ==164741== Process terminating with default action of signal 4 (SIGILL) ==164741== Illegal opcode at address 0x51D8933 ==164741== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164741== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164741== by 0x51D8933: Curl_open (url.c:503) ==164741== by 0x514E50F: curl_easy_init (easy.c:350) ==164741== by 0x4030446: UnknownInlinedFun (lib1555.c:60) ==164741== by 0x4030446: test_lib1555.lto_priv.0 (lib1555.c:54) ==164741== by 0x40034B5: main (first.c:279) === End of file valgrind1555 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1563 ../src/curl -q --output log/14/curl1563.out --include --trace-ascii log/14/trace1563 --trace-time http://127.0.0.1:35549/15630001 -L -H "Host: www.example.com" > log/14/stdout1563 2> log/14/stderr1563 test 1554...[HTTP with shared connection cache] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:39591/1554 > log/3/stdout1554 2> log/3/stderr1554 1554: data FAILED: --- log/3/check-expected 2026-03-14 05:48:19.657949305 +0000 +++ log/3/check-generated 2026-03-14 05:48:19.657949305 +0000 @@ -1,49 +0,0 @@ --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] == Contents of files in the log/3/ directory after test 1554 === Start of file check-expected -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:39591/1554 > log/3/stdout1554 2> log/3/stderr1554 === End of file commands.log === Start of file http_server.log 05:48:17.599869 ====> Client connect 05:48:17.599900 accept_connection 3 returned 4 05:48:17.599915 accept_connection 3 returned 0 05:48:17.599929 Read 93 bytes 05:48:17.599939 Process 93 bytes request 05:48:17.599952 Got request: GET /verifiedserver HTTP/1.1 05:48:17.599962 Are-we-friendly question received 05:48:17.599986 Wrote request (93 bytes) input to log/3/server.input 05:48:17.600003 Identifying ourselves as friends 05:48:17.600058 Response sent (56 bytes) and written to log/3/server.response 05:48:17.600067 special request received, no persistency 05:48:17.600075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 42846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr1554 URL: http://127.0.0.1:39591/1554 === End of file stderr1554 === Start of file valgrind1554 ==164698== ==164698== Process terminating with default action of signal 4 (SIGILL) ==164698== Illegal opcode at address 0x51D8933 ==164698== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==164698== by 0x51D8933: UnknownInlinedFun (request.c:40) ==164698== by 0x51D8933: Curl_open (url.c:503) ==164698== by 0x514E50F: curl_easy_init (easy.c:350) ==164698== by 0x51429E1: curl_share_init (curl_share.c:40) ==164698== by 0x4035EB3: UnknownInlinedFun (lib1554.c:65) ==164698== by 0x4035EB3: test_lib1554.lto_priv.0 (lib1554.c:57) ==164698== by 0x40034B5: main (first.c:279) === End of file valgrind1554 test 1563...[Make sure redirects to CURLPROTO_GOPHER are forbidden by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1563 ../src/curl -q --output log/14/curl1563.out --include --trace-ascii log/14/trace1563 --trace-time http://127.0.0.1:35549/15630001 -L -H "Host: www.example.com" > log/14/stdout1563 2> log/14/stderr1563 1563: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1563 ../src/curl -q --output log/14/curl1563.out --include --trace-ascii log/14/trace1563 --trace-time http://127.0.0.1:35549/15630001 -L -H "Host: www.example.com" > log/14/stdout1563 2> log/14/stderr1563 === End of file commands.log === Start of file http_server.log 05:48:18.066454 ====> Client connect 05:48:18.066489 accept_connection 3 returned 4 05:48:18.066505 accept_connection 3 returned 0 05:48:18.066520 Read 93 bytes 05:48:18.066529 Process 93 bytes request 05:48:18.066543 Got request: GET /verifiedserver HTTP/1.1 05:48:18.066553 Are-we-friendly question received 05:48:18.066574 Wrote request (93 bytes) input to log/14/server.input 05:48:18.066591 Identifying ourselves as friends 05:48:18.066641 Response sent (56 bytes) and written to log/14/server.response 05:48:18.066650 special request received, no persistency 05:48:18.066659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 36124 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verifyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:34551/1567 > log/11/stdout1567 2> log/11/stderr1567 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1564 ./libtest/libtests lib1564 - > log/17/stdout1564 2> log/17/stderr1564 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1566 ../src/curl -q --trace-ascii log/1/trace1566 --trace-time http://127.0.0.1:38765/1566 -o log/1/output1566 --etag-compare log/1/etag1566 > log/1/stdout1566 2> log/1/stderr1566 .out === Start of file server.cmd Testnum 1563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1563 ==165113== ==165113== Process terminating with default action of signal 4 (SIGILL) ==165113== Illegal opcode at address 0x4014883 ==165113== at 0x4014883: getparameter (tool_getparam.c:2899) ==165113== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==165113== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==165113== by 0x4004208: main (tool_main.c:189) === End of file valgrind1563 test 1567...[re-run redirected transfer without setting CURLU URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:34551/1567 > log/11/stdout1567 2> log/11/stderr1567 1567: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:34551/1567 > log/11/stdout1567 2> log/11/stderr1567 === End of file commands.log === Start of file http_server.log 05:48:18.472762 ====> Client connect 05:48:18.472800 accept_connection 3 returned 4 05:48:18.472818 accept_connection 3 returned 0 05:48:18.472834 Read 93 bytes 05:48:18.472845 Process 93 bytes request 05:48:18.472859 Got request: GET /verifiedserver HTTP/1.1 05:48:18.472869 Are-we-friendly question received 05:48:18.472896 Wrote request (93 bytes) input to log/11/server.input 05:48:18.472915 Identifying ourselves as friends 05:48:18.472981 Response sent (56 bytes) and written to log/11/server.response 05:48:18.472994 special request received, no persistency 05:48:18.473003 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 53904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1567 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr1567 URL: http://127.0.0.1:34551/1567 === End of file stderr1567 === Start of file valgrind1567 ==165393== ==165393== Process terminating with default action of signal 4 (SIGILL) ==165393== Illegal opcode at address 0x51D8933 ==165393== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165393== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165393== by 0x51D8933: Curl_open (url.c:503) ==165393== by 0x514E50F: curl_easy_init (easy.c:350) ==165393== by 0x403A4EC: UnknownInlinedFun (lib1567.c:35) ==165393== by 0x403A4EC: test_lib1567.lto_priv.0 (lib1567.c:28) ==165393== by 0x40034B5: main (first.c:279) === End of file valgrind1567 test 1564...[wakeup before poll with no easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1564 ./libtest/libtests lib1564 - > log/17/stdout1564 2> log/17/stderr1564 libtests returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/17/ directory after test 1564 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1564 ./libtest/libtests lib1564 - > log/17/stdout1564 2> log/17/stderr1564 === End of file commands.log === Start of file server.cmd Testnum 1564 === End of file server.cmd === Start of file stderr1564 URL: - === End of file stderr1564 === Start of file valgrind1564 ==165119== ==165119== Process terminating with default action of signal 4 (SIGILL) ==165119== Illegal opcode at address 0x519F3C0 ==165119== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==165119== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==165119== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==165119== by 0x405F309: test_lib1564.part.0.lto_priv.0 (lib1564.c:42) ==165119== by 0x40034B5: main (first.c:279) ==165119== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==165119== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165119== by 0x519F354: Curl_multi_handle (multi.c:235) ==165119== by 0x405F309: test_lib1564.part.0.lto_priv.0 (lib1564.c:42) ==165119== by 0x40034B5: main (first.c:279) ==165119== === End of file valgrind1564 test 1566...[--etag-compare that gets a 304 back should not overwrite the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1566 ../src/curl -q --trace-ascii log/1/trace1566 --trace-time http://127.0.0.1:38765/1566 -o log/1/output1566 --etag-compare log/1/etag1566 > log/1/stdout1566 2> log/1/stderr1566 1566: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1566 ../src/curl -q --trace-ascii log/1/trace1566 --trace-time http://127.0.0.1:38765/1566 -o log/1/output1566 --etag-compare log/1/etag1566 > log/1/stdout1566 2> log/1/stderr1566 === End of file commands.log === Start of file etag1566 "123456" === End of file etag1566 === Start of file http_server.log 05:48:18.359363 ====> Client connect 05:48:18.359399 accept_connection 3 returned 4 05:48:18.359416 accept_connection 3 returned 0 05:48:18.359432 Read 93 bytes 05:48:18.359441 Process 93 bytes request 05:48:18.359454 Got request: GET /verifiedserver HTTP/1.1 05:48:18.359463 Are-we-friendly question received 05:48:18.359484 Wrote request (93 bytes) input to log/1/server.input 05:48:18.359499 Identifying ourselves as friends 05:48:18.359572 Response sent (56 bytes) and written to log/1/server.response 05:48:18.359581 special request received, no persistency 05:48:18.359589 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 53374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file output1566 downloaded already === End of file output1566 === Start of file server.cmd Testnum 1566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1566 ==165335== ==165335== Process terminating with default action of signal 4 (SIGILL) ==165335== Illegal opcode at address 0x4014883 ==165335== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:35349/1569;type=A" ftp://127.0.0.1:35349/1569 > log/15/stdout1569 2> log/15/stderr1569 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 33885 > log/9/stdout1568 2> log/9/stderr1568 at 0x4014883: getparameter (tool_getparam.c:2899) ==165335== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==165335== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==165335== by 0x4004208: main (tool_main.c:189) === End of file valgrind1566 test 1569...[FTP first type=A then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:35349/1569;type=A" ftp://127.0.0.1:35349/1569 > log/15/stdout1569 2> log/15/stderr1569 1569: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:35349/1569;type=A" ftp://127.0.0.1:35349/1569 > log/15/stdout1569 2> log/15/stderr1569 === End of file commands.log === Start of file ftp_server.log 05:48:18.132358 ====> Client connect 05:48:18.132539 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:18.132862 < "USER anonymous" 05:48:18.132897 > "331 We are happy you popped in![CR][LF]" 05:48:18.133066 < "PASS ftp@example.com" 05:48:18.133093 > "230 Welcome you silly person[CR][LF]" 05:48:18.133250 < "PWD" 05:48:18.133282 > "257 "/" is current directory[CR][LF]" 05:48:18.133453 < "EPSV" 05:48:18.133480 ====> Passive DATA channel requested by client 05:48:18.133495 DATA sockfilt for passive data channel starting... 05:48:18.139252 DATA sockfilt for passive data channel started (pid 165476) 05:48:18.139428 DATA sockfilt for passive data channel listens on port 42497 05:48:18.139491 > "229 Entering Passive Mode (|||42497|)[CR][LF]" 05:48:18.139517 Client has been notified that DATA conn will be accepted on port 42497 05:48:18.142577 Client connects to port 42497 05:48:18.142630 ====> Client established passive DATA connection on port 42497 05:48:18.142744 < "TYPE I" 05:48:18.142803 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:18.147010 < "SIZE verifiedserver" 05:48:18.147075 > "213 17[CR][LF]" 05:48:18.147773 < "RETR verifiedserver" 05:48:18.147821 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:18.148901 =====> Closing passive DATA connection... 05:48:18.148937 Server disconnects passive DATA connection 05:48:18.152217 Server disconnected passive DATA connection 05:48:18.152260 DATA sockfilt for passive data channel quits (pid 165476) 05:48:18.155825 DATA sockfilt for passive data channel quit (pid 165476) 05:48:18.155881 =====> Closed passive DATA connection 05:48:18.155929 > "226 File transfer complete[CR][LF]" 05:48:18.196655 < "QUIT" 05:48:18.196712 > "221 bye bye baby[CR][LF]" 05:48:18.198022 MAIN sockfilt said DISC 05:48:18.198056 ====> Client disconnected 05:48:18.198129 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:18.593671 ====> Client connect 05:48:18.594004 Received DATA (on stdin) 05:48:18.594019 > 146 bytes data, server => client 05:48:18.594032 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:18.594042 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:18.594052 '220 \___|\___/|_| \_\_____|\r\n' 05:48:18.594164 < 16 bytes data, client => server 05:48:18.594178 'USER anonymous\r\n' 05:48:18.594351 Received DATA (on stdin) 05:48:18.594363 > 33 bytes data, server => client 05:48:18.594374 '331 We are happy you popped in!\r\n' 05:48:18.594427 < 22 bytes data, client => server 05:48:18.594438 'PASS ftp@example.com\r\n' 05:48:18.594544 Received DATA (on stdin) 05:48:18.594555 > 30 bytes data, server => client 05:48:18.594565 '230 Welcome you silly person\r\n' 05:48:18.594615 < 5 bytes data, client => server 05:48:18.594626 'PWD\r\n' 05:48:18.594731 Received DATA (on stdin) 05:48:18.594742 > 30 bytes data, server => client 05:48:18.594753 '257 "/" is current directory\r\n' 05:48:18.594818 < 6 bytes data, client => server 05:48:18.594829 'EPSV\r\n' 05:48:18.603652 Received DATA (on stdin) 05:48:18.603684 > 39 bytes data, server => client 05:48:18.603696 '229 Entering Passive Mode (|||42497|)\r\n' 05:48:18.603937 < 8 bytes data, client => server 05:48:18.603950 'TYPE I\r\n' 05:48:18.607893 Received DATA (on stdin) 05:48:18.607915 > 33 bytes data, server => client 05:48:18.607927 '200 I modify TYPE as you wanted\r\n' 05:48:18.608004 < 21 bytes data, client => server 05:48:18.608018 'SIZE verifiedserver\r\n' 05:48:18.608540 Received DATA (on stdin) 05:48:18.608580 > 8 bytes data, server => client 05:48:18.608591 '213 17\r\n' 05:48:18.609113 < 21 bytes data, client => server 05:48:18.609133 'RETR verifiedserver\r\n' 05:48:18.610194 Received DATA (on stdin) 05:48:18.610215 > 29 bytes data, server => client 05:48:18.610228 '150 Binary junk (17 bytes).\r\n' 05:48:18.617397 Received DATA (on stdin) 05:48:18.617413 > 28 bytes data, server => client 05:48:18.617424 '226 File transfer complete\r\n' 05:48:18.657923 < 6 bytes data, client => server 05:48:18.657956 'QUIT\r\n' 05:48:18.658170 Received DATA (on stdin) 05:48:18.658183 > 18 bytes data, server => client 05:48:18.658193 '221 bye bye baby\r\n' 05:48:18.659417 ====> Client disconnect 05:48:18.659584 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:18.598593 Running IPv4 version 05:48:18.598693 Listening on port 42497 05:48:18.598734 Wrote pid 165476 to log/15/server/ftp_sockdata.pid 05:48:18.600615 Received PING (on stdin) 05:48:18.600762 Received PORT (on stdin) 05:48:18.603897 ====> Client connect 05:48:18.610311 Received DATA (on stdin) 05:48:18.610337 > 17 bytes data, server => client 05:48:18.610349 'WE ROOLZ: 81070\r\n' 05:48:18.610452 Received DISC (on stdin) 05:48:18.610471 ====> Client forcibly disconnected 05:48:18.616973 Received QUIT (on stdin) 05:48:18.617003 quits 05:48:18.617083 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1569 === End of file server.cmd === Start of file stderr1569 URL: ftp://127.0.0.1:35349/1569;type=A === End of file stderr1569 === Start of file valgrind1569 ==165538== ==165538== Process terminating with default action of signal 4 (SIGILL) ==165538== Illegal opcode at address 0x51D8933 ==165538== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165538== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165538== by 0x51D8933: Curl_open (url.c:503) ==165538== by 0x514E50F: curl_easy_init (easy.c:350) ==165538== by 0x4039A2C: UnknownInlinedFun (lib1569.c:32) ==165538== by 0x4039A2C: test_lib1569.lto_priv.0 (lib1569.c:26) ==165538== by 0x40034B5: main (first.c:279) === End of file valgrind1569 test 1568...[HTTP with Digest authorization on custom CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 33885 > log/9/stdout1568 2> log/9/stderr1568 1568: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 33885 > log/9/stdout1568 2> log/9/stderr1568 === End of file commands.log === Start of file http_server.log 05:48:17.473701 ====> Client connect CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:40253/1565 > log/4/stdout1565 2> log/4/stderr1565 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:46185/1570;type=D" ftp://127.0.0.1:46185/1570 > log/20/stdout1570 2> log/20/stderr1570 05:48:17.473738 accept_connection 3 returned 4 05:48:17.473757 accept_connection 3 returned 0 05:48:17.473914 Read 93 bytes 05:48:17.473928 Process 93 bytes request 05:48:17.473942 Got request: GET /verifiedserver HTTP/1.1 05:48:17.473951 Are-we-friendly question received 05:48:17.473976 Wrote request (93 bytes) input to log/9/server.input 05:48:17.473993 Identifying ourselves as friends 05:48:17.474046 Response sent (56 bytes) and written to log/9/server.response 05:48:17.474054 special request received, no persistency 05:48:17.474063 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 44154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1568 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr1568 URL: http://127.0.0.1/1568 === End of file stderr1568 === Start of file valgrind1568 ==165394== ==165394== Process terminating with default action of signal 4 (SIGILL) ==165394== Illegal opcode at address 0x51D8933 ==165394== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165394== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165394== by 0x51D8933: Curl_open (url.c:503) ==165394== by 0x514E50F: curl_easy_init (easy.c:350) ==165394== by 0x403A654: test_lib1568.lto_priv.0 (lib1568.c:38) ==165394== by 0x40034B5: main (first.c:279) === End of file valgrind1568 test 1565...[wakeup from another thread] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:40253/1565 > log/4/stdout1565 2> log/4/stderr1565 libtests returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/4/ directory after test 1565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:40253/1565 > log/4/stdout1565 2> log/4/stderr1565 === End of file commands.log === Start of file http_server.log 05:48:17.176831 ====> Client connect 05:48:17.176869 accept_connection 3 returned 4 05:48:17.176889 accept_connection 3 returned 0 05:48:17.176905 Read 93 bytes 05:48:17.176914 Process 93 bytes request 05:48:17.176929 Got request: GET /verifiedserver HTTP/1.1 05:48:17.176938 Are-we-friendly question received 05:48:17.176979 Wrote request (93 bytes) input to log/4/server.input 05:48:17.176999 Identifying ourselves as friends 05:48:17.177066 Response sent (56 bytes) and written to log/4/server.response 05:48:17.177081 special request received, no persistency 05:48:17.177091 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 42314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 1565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr1565 URL: http://127.0.0.1:40253/1565 === End of file stderr1565 === Start of file valgrind1565 ==165208== ==165208== Process terminating with default action of signal 4 (SIGILL) ==165208== Illegal opcode at address 0x519F3C0 ==165208== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==165208== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==165208== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==165208== by 0x403890E: test_lib1565.lto_priv.0 (lib1565.c:104) ==165208== by 0x40034B5: main (first.c:279) ==165208== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==165208== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==165208== by 0x519F354: Curl_multi_handle (multi.c:235) ==165208== by 0x403890E: test_lib1565.lto_priv.0 (lib1565.c:104) ==165208== by 0x40034B5: main (first.c:279) ==165208== === End of file valgrind1565 test 1570...[FTP first type=D then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:46185/1570;type=D" ftp://127.0.0.1:46185/1570 > log/20/stdout1570 2> log/20/stderr1570 1570: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:46185/1570;type=D" ftp://127.0.0.1:46185/1570 > log/20/stdout1570 2> log/20/stderr1570 === End of file commands.log === Start of file ftp_server.log 05:48:18.308902 ====> Client connect 05:48:18.309176 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:18.311590 < "USER anonymous" 05:48:18.311634 > "331 We are happy you popped in![CR][LF]" 05:48:18.311793 < "PASS ftp@example.com" 05:48:18.311817 > "230 Welcome you silly person[CR][LF]" 05:48:18.311951 < "PWD" 05:48:18.311982 > "257 "/" is current directory[CR][LF]" 05:48:18.312128 < "EPSV" 05:48:18.312155 ====> Passive DATA channel requested by client 05:48:18.312168 DATA sockfilt for passive data channel starting... 05:48:18.322230 DATA sockfilt for passive data channel started (pid 165578) 05:48:18.322494 DATA sockfilt for passive data channel listens on port 34495 05:48:18.322547 > "229 Entering Passive Mode (|||34495|)[CR][LF]" 05:48:18.322940 Client has been notified that DATA conn will be accepted on port 34495 05:48:18.322973 Client connects to port 34495 05:48:18.322993 ====> Client established passive DATA connection on port 34495 05:48:18.323085 < "TYPE I" 05:48:18.323118 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:18.323264 < "SIZE verifiedserver" 05:48:18.323311 > "213 17[CR][LF]" 05:48:18.323449 < "RETR verifiedserver" 05:48:18.323479 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:18.323572 =====> Closing passive DATA connection... 05:48:18.323587 Server disconnects passive DATA connection 05:48:18.323798 Server disconnected passive DATA connection 05:48:18.323822 DATA sockfilt for passive data channel quits (pid 165578) 05:48:18.324103 DATA sockfilt for passive data channel quit (pid 165578) 05:48:18.324126 =====> Closed passive DATA connection 05:48:18.324151 > "226 File transfer complete[CR][LF]" 05:48:18.372457 < "QUIT" 05:48:18.372532 > "221 bye bye baby[CR][LF]" 05:48:18.377771 MAIN sockfilt said DISC 05:48:18.377834 ====> Client disconnected 05:48:18.382509 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:18.760324 ====> Client connect 05:4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:41477/1571 > log/22/stdout1571 2> log/22/stderr1571 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:33593/1574 > log/24/stdout1574 2> log/24/stderr1574 8:18.770648 Received DATA (on stdin) 05:48:18.770676 > 146 bytes data, server => client 05:48:18.770688 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:18.770697 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:18.770705 '220 \___|\___/|_| \_\_____|\r\n' 05:48:18.772848 < 16 bytes data, client => server 05:48:18.772875 'USER anonymous\r\n' 05:48:18.773087 Received DATA (on stdin) 05:48:18.773098 > 33 bytes data, server => client 05:48:18.773109 '331 We are happy you popped in!\r\n' 05:48:18.773162 < 22 bytes data, client => server 05:48:18.773172 'PASS ftp@example.com\r\n' 05:48:18.773265 Received DATA (on stdin) 05:48:18.773275 > 30 bytes data, server => client 05:48:18.773285 '230 Welcome you silly person\r\n' 05:48:18.773327 < 5 bytes data, client => server 05:48:18.773337 'PWD\r\n' 05:48:18.773429 Received DATA (on stdin) 05:48:18.773439 > 30 bytes data, server => client 05:48:18.773449 '257 "/" is current directory\r\n' 05:48:18.773503 < 6 bytes data, client => server 05:48:18.773513 'EPSV\r\n' 05:48:18.784018 Received DATA (on stdin) 05:48:18.784037 > 39 bytes data, server => client 05:48:18.784049 '229 Entering Passive Mode (|||34495|)\r\n' 05:48:18.784295 < 8 bytes data, client => server 05:48:18.784310 'TYPE I\r\n' 05:48:18.784568 Received DATA (on stdin) 05:48:18.784579 > 33 bytes data, server => client 05:48:18.784589 '200 I modify TYPE as you wanted\r\n' 05:48:18.784637 < 21 bytes data, client => server 05:48:18.784647 'SIZE verifiedserver\r\n' 05:48:18.784759 Received DATA (on stdin) 05:48:18.784769 > 8 bytes data, server => client 05:48:18.784779 '213 17\r\n' 05:48:18.784823 < 21 bytes data, client => server 05:48:18.784833 'RETR verifiedserver\r\n' 05:48:18.785037 Received DATA (on stdin) 05:48:18.785047 > 29 bytes data, server => client 05:48:18.785057 '150 Binary junk (17 bytes).\r\n' 05:48:18.785600 Received DATA (on stdin) 05:48:18.785611 > 28 bytes data, server => client 05:48:18.785621 '226 File transfer complete\r\n' 05:48:18.833661 < 6 bytes data, client => server 05:48:18.833709 'QUIT\r\n' 05:48:18.833987 Received DATA (on stdin) 05:48:18.833999 > 18 bytes data, server => client 05:48:18.834009 '221 bye bye baby\r\n' 05:48:18.838292 ====> Client disconnect 05:48:18.843658 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:18.780971 Running IPv4 version 05:48:18.781052 Listening on port 34495 05:48:18.781090 Wrote pid 165578 to log/20/server/ftp_sockdata.pid 05:48:18.782603 Received PING (on stdin) 05:48:18.783763 Received PORT (on stdin) 05:48:18.784331 ====> Client connect 05:48:18.785079 Received DATA (on stdin) 05:48:18.785090 > 17 bytes data, server => client 05:48:18.785100 'WE ROOLZ: 89997\r\n' 05:48:18.785123 Received DISC (on stdin) 05:48:18.785133 ====> Client forcibly disconnected 05:48:18.785277 Received QUIT (on stdin) 05:48:18.785287 quits 05:48:18.785354 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1570 === End of file server.cmd === Start of file stderr1570 URL: ftp://127.0.0.1:46185/1570;type=D === End of file stderr1570 === Start of file valgrind1570 ==165629== ==165629== Process terminating with default action of signal 4 (SIGILL) ==165629== Illegal opcode at address 0x51D8933 ==165629== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165629== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165629== by 0x51D8933: Curl_open (url.c:503) ==165629== by 0x514E50F: curl_easy_init (easy.c:350) ==165629== by 0x4039A2C: UnknownInlinedFun (lib1569.c:32) ==165629== by 0x4039A2C: test_lib1569.lto_priv.0 (lib1569.c:26) ==165629== by 0x40034B5: main (first.c:279) === End of file valgrind1570 test 1571...[CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:41477/1571 > log/22/stdout1571 2> log/22/stderr1571 1571: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1571 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:41477/1571 > log/22/stdout1571 2> log/22/stderr1571 === End of file commands.log === Start of file http_server.log 05:48:18.876774 ====> Client connect 05:48:18.876810 accept_connection 3 returned 4 05:48:18.876826 accept_connection 3 returned 0 05:48:18.903378 Read 93 bytes 05:48:18.903410 Process 93 bytes request 05:48:18.903425 Got request: GET /verifiedserver HTTP/1.1 05:48:18.903435 Are-we-friendly question received 05:48:18.903468 Wrote request (93 bytes) input to log/22/server.input 05:48:18.903488 Identifying ourselves as friends 05:48:18.903579 Response sent (56 bytes) and written to log/22/server.response 05:48:18.903593 special request received, no persistency 05:48:18.903602 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 48508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 1571 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file stderr1571 URL: http://127.0.0.1:41477/1571 === End of file stderr1571 === Start of file valgrind1571 ==165635== ==165635== Process terminating with default action of signal 4 (SIGILL) ==165635== Illegal opcode at address 0x51D8933 ==165635== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165635== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165635== by 0x51D8933: Curl_open (url.c:503) ==165635== by 0x514E50F: curl_easy_init (easy.c:350) ==165635== by 0x4039C0A: test_lib1571.lto_priv.0 (lib1571.c:36) ==165635== by 0x40034B5: main (first.c:279) === End of file valgrind1571 test 1574...[CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:33593/1574 > log/24/stdout1574 2> log/24/stderr1574 1574: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1574 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:33593/1574 > log/24/stdout1574 2> log/24/stderr1574 === End of file commands.log === Start of file http_server.log 05:48:19.407198 ====> Client connect 05:48:19.407248 accept_connection 3 returned 4 05:48:19.407269 accept_connection 3 returned 0 05:48:19.407286 Read 93 bytes 05:48:19.407298 Process 93 bytes request 05:48:19.407315 Got request: GET /verifiedserver HTTP/1.1 05:48:19.407324 Are-we-friendly question received 05:48:19.407358 Wrote request (93 bytes) input to log/24/server.input 05:48:19.407377 Identifying ourselves as friendsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:45623/1572 > log/8/stdout1572 2> log/8/stderr1572 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:39913/1573 > log/18/stdout1573 2> log/18/stderr1573 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:41799/1579 1579 > log/2/stdout1579 2> log/2/stderr1579 05:48:19.407464 Response sent (56 bytes) and written to log/24/server.response 05:48:19.407476 special request received, no persistency 05:48:19.407486 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54540 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1574 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stderr1574 URL: http://127.0.0.1:33593/1574 === End of file stderr1574 === Start of file valgrind1574 ==165897== ==165897== Process terminating with default action of signal 4 (SIGILL) ==165897== Illegal opcode at address 0x51D8933 ==165897== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165897== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165897== by 0x51D8933: Curl_open (url.c:503) ==165897== by 0x514E50F: curl_easy_init (easy.c:350) ==165897== by 0x4039C0A: test_lib1571.lto_priv.0 (lib1571.c:36) ==165897== by 0x40034B5: main (first.c:279) === End of file valgrind1574 test 1572...[CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:45623/1572 > log/8/stdout1572 2> log/8/stderr1572 1572: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:45623/1572 > log/8/stdout1572 2> log/8/stderr1572 === End of file commands.log === Start of file http_server.log 05:48:18.026741 ====> Client connect 05:48:18.026777 accept_connection 3 returned 4 05:48:18.026793 accept_connection 3 returned 0 05:48:18.031423 Read 93 bytes 05:48:18.031450 Process 93 bytes request 05:48:18.031465 Got request: GET /verifiedserver HTTP/1.1 05:48:18.031475 Are-we-friendly question received 05:48:18.031522 Wrote request (93 bytes) input to log/8/server.input 05:48:18.031542 Identifying ourselves as friends 05:48:18.031617 Response sent (56 bytes) and written to log/8/server.response 05:48:18.031633 special request received, no persistency 05:48:18.031643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 51154 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 1572 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr1572 URL: http://127.0.0.1:45623/1572 === End of file stderr1572 === Start of file valgrind1572 ==165746== ==165746== Process terminating with default action of signal 4 (SIGILL) ==165746== Illegal opcode at address 0x51D8933 ==165746== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165746== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165746== by 0x51D8933: Curl_open (url.c:503) ==165746== by 0x514E50F: curl_easy_init (easy.c:350) ==165746== by 0x4039C0A: test_lib1571.lto_priv.0 (lib1571.c:36) ==165746== by 0x40034B5: main (first.c:279) === End of file valgrind1572 test 1573...[CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:39913/1573 > log/18/stdout1573 2> log/18/stderr1573 1573: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:39913/1573 > log/18/stdout1573 2> log/18/stderr1573 === End of file commands.log === Start of file http_server.log 05:48:18.063403 ====> Client connect 05:48:18.063443 accept_connection 3 returned 4 05:48:18.063462 accept_connection 3 returned 0 05:48:18.063650 Read 93 bytes 05:48:18.063666 Process 93 bytes request 05:48:18.063682 Got request: GET /verifiedserver HTTP/1.1 05:48:18.063693 Are-we-friendly question received 05:48:18.063722 Wrote request (93 bytes) input to log/18/server.input 05:48:18.063740 Identifying ourselves as friends 05:48:18.063802 Response sent (56 bytes) and written to log/18/server.response 05:48:18.063811 special request received, no persistency 05:48:18.063819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 48956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file stderr1573 URL: http://127.0.0.1:39913/1573 === End of file stderr1573 === Start of file valgrind1573 ==165765== ==165765== Process terminating with default action of signal 4 (SIGILL) ==165765== Illegal opcode at address 0x51D8933 ==165765== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165765== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165765== by 0x51D8933: Curl_open (url.c:503) ==165765== by 0x514E50F: curl_easy_init (easy.c:350) ==165765== by 0x4039C0A: test_lib1571.lto_priv.0 (lib1571.c:36) ==165765== by 0x40034B5: main (first.c:279) === End of file valgrind1573 test 1579...[CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:41799/1579 1579 > log/2/stdout1579 2> log/2/stderr1579 1579: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1579 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:35701/1577 1577 > log/19/stdout1577 2> log/19/stderr1577 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1585 ../src/curl -q --trace-ascii log/21/trace1585 --trace-time http://127.0.0.1:42891/1585 -J -O --output-dir log/21 > log/21/stdout1585 2> log/21/stderr1585 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:39013/1580 1578 > log/7/stdout1580 2> log/7/stderr1580 grind.supp --num-callers=16 --log-file=log/2/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:41799/1579 1579 > log/2/stdout1579 2> log/2/stderr1579 === End of file commands.log === Start of file http_server.log 05:48:19.670380 ====> Client connect 05:48:19.670426 accept_connection 3 returned 4 05:48:19.670445 accept_connection 3 returned 0 05:48:19.674134 Read 93 bytes 05:48:19.674159 Process 93 bytes request 05:48:19.674173 Got request: GET /verifiedserver HTTP/1.1 05:48:19.674182 Are-we-friendly question received 05:48:19.674224 Wrote request (93 bytes) input to log/2/server.input 05:48:19.674243 Identifying ourselves as friends 05:48:19.674306 Response sent (56 bytes) and written to log/2/server.response 05:48:19.674316 special request received, no persistency 05:48:19.674325 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 47472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 1579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr1579 URL: http://127.0.0.1:41799/1579 === End of file stderr1579 === Start of file valgrind1579 ==166128== ==166128== Process terminating with default action of signal 4 (SIGILL) ==166128== Illegal opcode at address 0x51D8933 ==166128== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166128== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166128== by 0x51D8933: Curl_open (url.c:503) ==166128== by 0x514E50F: curl_easy_init (easy.c:350) ==166128== by 0x403A8AC: test_lib1576.lto_priv.0 (lib1576.c:60) ==166128== by 0x40034B5: main (first.c:279) === End of file valgrind1579 test 1577...[CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:35701/1577 1577 > log/19/stdout1577 2> log/19/stderr1577 1577: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:35701/1577 1577 > log/19/stdout1577 2> log/19/stderr1577 === End of file commands.log === Start of file http_server.log 05:48:18.569711 ====> Client connect 05:48:18.569748 accept_connection 3 returned 4 05:48:18.569764 accept_connection 3 returned 0 05:48:18.569779 Read 93 bytes 05:48:18.569788 Process 93 bytes request 05:48:18.569801 Got request: GET /verifiedserver HTTP/1.1 05:48:18.569810 Are-we-friendly question received 05:48:18.569832 Wrote request (93 bytes) input to log/19/server.input 05:48:18.569848 Identifying ourselves as friends 05:48:18.569912 Response sent (56 bytes) and written to log/19/server.response 05:48:18.569921 special request received, no persistency 05:48:18.569930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1577 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr1577 URL: http://127.0.0.1:35701/1577 === End of file stderr1577 === Start of file valgrind1577 ==166039== ==166039== Process terminating with default action of signal 4 (SIGILL) ==166039== Illegal opcode at address 0x51D8933 ==166039== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166039== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166039== by 0x51D8933: Curl_open (url.c:503) ==166039== by 0x514E50F: curl_easy_init (easy.c:350) ==166039== by 0x403A8AC: test_lib1576.lto_priv.0 (lib1576.c:60) ==166039== by 0x40034B5: main (first.c:279) === End of file valgrind1577 test 1585...[HTTP GET with -J and Content-Disposition including DOS path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1585 ../src/curl -q --trace-ascii log/21/trace1585 --trace-time http://127.0.0.1:42891/1585 -J -O --output-dir log/21 > log/21/stdout1585 2> log/21/stderr1585 1585: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1585 ../src/curl -q --trace-ascii log/21/trace1585 --trace-time http://127.0.0.1:42891/1585 -J -O --output-dir log/21 > log/21/stdout1585 2> log/21/stderr1585 === End of file commands.log === Start of file http_server.log 05:48:19.067047 ====> Client connect 05:48:19.067079 accept_connection 3 returned 4 05:48:19.067095 accept_connection 3 returned 0 05:48:19.067110 Read 93 bytes 05:48:19.067119 Process 93 bytes request 05:48:19.067133 Got request: GET /verifiedserver HTTP/1.1 05:48:19.067141 Are-we-friendly question received 05:48:19.067164 Wrote request (93 bytes) input to log/21/server.input 05:48:19.067181 Identifying ourselves as friends 05:48:19.067241 Response sent (56 bytes) and written to log/21/server.response 05:48:19.067250 special request received, no persistency 05:48:19.067258 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 48314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind1585 ==166467== ==166467== Process terminating with default action of signal 4 (SIGILL) ==166467== Illegal opcode at address 0x4014883 ==166467== at 0x4014883: getparameter (tool_getparam.c:2899) ==166467== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==166467== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==166467== by 0x4004208: main (tool_main.c:189) === End of file valgrind1585 test 1580...[CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT] ../libtool --mode=execute /usr/bin/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:45359/bzz/1591 log/13/stdout1591 2> log/13/stderr1591 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:40607/1576 > log/6/stdout1576 2> log/6/stderr1576 ind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:39013/1580 1578 > log/7/stdout1580 2> log/7/stderr1580 1580: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:39013/1580 1578 > log/7/stdout1580 2> log/7/stderr1580 === End of file commands.log === Start of file http_server.log 05:48:18.822215 ====> Client connect 05:48:18.822257 accept_connection 3 returned 4 05:48:18.822275 accept_connection 3 returned 0 05:48:18.822291 Read 93 bytes 05:48:18.822301 Process 93 bytes request 05:48:18.822316 Got request: GET /verifiedserver HTTP/1.1 05:48:18.822326 Are-we-friendly question received 05:48:18.822357 Wrote request (93 bytes) input to log/7/server.input 05:48:18.822378 Identifying ourselves as friends 05:48:18.822448 Response sent (56 bytes) and written to log/7/server.response 05:48:18.822462 special request received, no persistency 05:48:18.822472 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 48190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file stderr1580 URL: http://127.0.0.1:39013/1580 === End of file stderr1580 === Start of file valgrind1580 ==166279== ==166279== Process terminating with default action of signal 4 (SIGILL) ==166279== Illegal opcode at address 0x51D8933 ==166279== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166279== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166279== by 0x51D8933: Curl_open (url.c:503) ==166279== by 0x514E50F: curl_easy_init (easy.c:350) ==166279== by 0x403A8AC: test_lib1576.lto_priv.0 (lib1576.c:60) ==166279== by 0x40034B5: main (first.c:279) === End of file valgrind1580 test 1591...[HTTP PUT with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:45359/bzz/1591 log/13/stdout1591 2> log/13/stderr1591 1591: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:45359/bzz/1591 log/13/stdout1591 2> log/13/stderr1591 === End of file commands.log === Start of file http_server.log 05:48:20.156088 ====> Client connect 05:48:20.156123 accept_connection 3 returned 4 05:48:20.156142 accept_connection 3 returned 0 05:48:20.156157 Read 93 bytes 05:48:20.156167 Process 93 bytes request 05:48:20.156180 Got request: GET /verifiedserver HTTP/1.1 05:48:20.156190 Are-we-friendly question received 05:48:20.156218 Wrote request (93 bytes) input to log/13/server.input 05:48:20.156237 Identifying ourselves as friends 05:48:20.156301 Response sent (56 bytes) and written to log/13/server.response 05:48:20.156313 special request received, no persistency 05:48:20.156322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 51520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1591 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr1591 URL: http://127.0.0.1:45359/bzz/1591 === End of file stderr1591 === Start of file stdin-for-1591 more than one byte === End of file stdin-for-1591 === Start of file valgrind1591 ==166550== ==166550== Process terminating with default action of signal 4 (SIGILL) ==166550== Illegal opcode at address 0x51D8933 ==166550== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166550== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166550== by 0x51D8933: Curl_open (url.c:503) ==166550== by 0x514E50F: curl_easy_init (easy.c:350) ==166550== by 0x403ABCC: test_lib1591.lto_priv.0 (lib1591.c:87) ==166550== by 0x40034B5: main (first.c:279) === End of file valgrind1591 test 1576...[CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:40607/1576 > log/6/stdout1576 2> log/6/stderr1576 1576: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1576 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:40607/1576 > log/6/stdout1576 2> log/6/stderr1576 === End of file commands.log === Start of file http_server.log 05:48:18.583715 ====> Client connect 05:48:18.583752 accept_connection 3 returned 4 05:48:18.583769 accept_connection 3 returned 0 05:48:18.583785 Read 93 bytes 05:48:18.583794 Process 93 bytes request 05:48:18.583808 Got request: GET /verifiedserver HTTP/1.1 05:48:18.583817 Are-we-friendly question received 05:48:18.583841 Wrote request (93 bytes) input to log/6/server.input 05:48:18.583858 Identifying ourselves as friends 05:48:18.583927 Response sent (57 bytes) and written to log/6/server.response 05:48:18.583940 special request received, no persistency 05:48:18.583949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 41498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 1576 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:33217/1575 > log/23/stdout1575 2> log/23/stderr1575 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:36353/1578 > log/12/stdout1578 2> log/12/stderr1578 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1602 ./unit/units unit1602 - > log/24/stdout1602 2> log/24/stderr1602 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1590 ./libtest/libtests lib1553 imap://localhost:33933/1590 > log/16/stdout1590 2> log/16/stderr1590 f file server.response === Start of file stderr1576 URL: http://127.0.0.1:40607/1576 === End of file stderr1576 === Start of file valgrind1576 ==166035== ==166035== Process terminating with default action of signal 4 (SIGILL) ==166035== Illegal opcode at address 0x51D8933 ==166035== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166035== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166035== by 0x51D8933: Curl_open (url.c:503) ==166035== by 0x514E50F: curl_easy_init (easy.c:350) ==166035== by 0x403A8AC: test_lib1576.lto_priv.0 (lib1576.c:60) ==166035== by 0x40034B5: main (first.c:279) === End of file valgrind1576 test 1575...[CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:33217/1575 > log/23/stdout1575 2> log/23/stderr1575 1575: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1575 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:33217/1575 > log/23/stdout1575 2> log/23/stderr1575 === End of file commands.log === Start of file http_server.log 05:48:19.432525 ====> Client connect 05:48:19.432557 accept_connection 3 returned 4 05:48:19.432573 accept_connection 3 returned 0 05:48:19.432587 Read 93 bytes 05:48:19.432597 Process 93 bytes request 05:48:19.432611 Got request: GET /verifiedserver HTTP/1.1 05:48:19.432621 Are-we-friendly question received 05:48:19.432644 Wrote request (93 bytes) input to log/23/server.input 05:48:19.432661 Identifying ourselves as friends 05:48:19.432720 Response sent (56 bytes) and written to log/23/server.response 05:48:19.432730 special request received, no persistency 05:48:19.432739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 46570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1575 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stderr1575 URL: http://127.0.0.1:33217/1575 === End of file stderr1575 === Start of file valgrind1575 ==165913== ==165913== Process terminating with default action of signal 4 (SIGILL) ==165913== Illegal opcode at address 0x51D8933 ==165913== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==165913== by 0x51D8933: UnknownInlinedFun (request.c:40) ==165913== by 0x51D8933: Curl_open (url.c:503) ==165913== by 0x514E50F: curl_easy_init (easy.c:350) ==165913== by 0x4039C0A: test_lib1571.lto_priv.0 (lib1571.c:36) ==165913== by 0x40034B5: main (first.c:279) === End of file valgrind1575 test 1578...[CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:36353/1578 > log/12/stdout1578 2> log/12/stderr1578 1578: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1578 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:36353/1578 > log/12/stdout1578 2> log/12/stderr1578 === End of file commands.log === Start of file http_server.log 05:48:19.635583 ====> Client connect 05:48:19.635621 accept_connection 3 returned 4 05:48:19.635638 accept_connection 3 returned 0 05:48:19.635654 Read 93 bytes 05:48:19.635664 Process 93 bytes request 05:48:19.635678 Got request: GET /verifiedserver HTTP/1.1 05:48:19.635687 Are-we-friendly question received 05:48:19.635715 Wrote request (93 bytes) input to log/12/server.input 05:48:19.635733 Identifying ourselves as friends 05:48:19.635796 Response sent (56 bytes) and written to log/12/server.response 05:48:19.635807 special request received, no persistency 05:48:19.635816 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 51228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr1578 URL: http://127.0.0.1:36353/1578 === End of file stderr1578 === Start of file valgrind1578 ==166098== ==166098== Process terminating with default action of signal 4 (SIGILL) ==166098== Illegal opcode at address 0x51D8933 ==166098== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166098== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166098== by 0x51D8933: Curl_open (url.c:503) ==166098== by 0x514E50F: curl_easy_init (easy.c:350) ==166098== by 0x403A8AC: test_lib1576.lto_priv.0 (lib1576.c:60) ==166098== by 0x40034B5: main (first.c:279) === End of file valgrind1578 test 1602...[Internal hash create/add/destroy testing, exercising clean functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1602 ./unit/units unit1602 - > log/24/stdout1602 2> log/24/stderr1602 -------e-v- OK (1526 out of 1773, remaining: 00:29, took 0.993s, duration: 03:00) test 1590...[IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1590 ./libtest/libtests lib1553 imap://localhost:33933/1590 > log/16/stdout1590 2> log/16/stderr1590 libtests returned 132, when expecting 0 1590: exit FAILED == Contents of files in the log/16/ directory after test 1590 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1590 ./libtest/libtests lib1553 imap://localhost:33933/1590 > log/16/stdout1590 2> log/16/stderr1590 === End of file commands.log === Start of file imap_server.log 05:48:19.685266 ====> Client connect 05:48:19.685504 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:19.689416 < "A001 CAPABILITY" 05:48:19.689467 > "A001 BAD Command[CR][LF]" 05:48:19.691315 < "ACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:46741/1581 > log/10/stdout1581 2> log/10/stderr1581 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1601 ./unit/units unit1601 - > log/22/stdout1601 2> log/22/stderr1601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1584 ../src/curl -q --trace-ascii log/5/trace1584 --trace-time http://127.0.0.1:35621/1584 -J -O --output-dir log/5 > log/5/stdout1584 2> log/5/stderr1584 002 LIST "verifiedserver" *" 05:48:19.691360 LIST_imap got "verifiedserver" * 05:48:19.691399 > "* LIST () "/" "WE ROOLZ: 119781"[CR][LF]" 05:48:19.691426 > "A002 OK LIST Completed[CR][LF]" 05:48:19.691443 return proof we are we 05:48:19.739236 < "A003 LOGOUT" 05:48:19.739300 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:19.739323 > "A003 OK LOGOUT completed[CR][LF]" 05:48:19.740655 MAIN sockfilt said DISC 05:48:19.740699 ====> Client disconnected 05:48:19.740790 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:19.146579 ====> Client connect 05:48:19.146990 Received DATA (on stdin) 05:48:19.147006 > 164 bytes data, server => client 05:48:19.147017 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:19.147027 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:19.147037 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:19.150676 < 17 bytes data, client => server 05:48:19.150699 'A001 CAPABILITY\r\n' 05:48:19.150923 Received DATA (on stdin) 05:48:19.150935 > 18 bytes data, server => client 05:48:19.150946 'A001 BAD Command\r\n' 05:48:19.152627 < 30 bytes data, client => server 05:48:19.152647 'A002 LIST "verifiedserver" *\r\n' 05:48:19.152896 Received DATA (on stdin) 05:48:19.152910 > 34 bytes data, server => client 05:48:19.152921 '* LIST () "/" "WE ROOLZ: 119781"\r\n' 05:48:19.152945 Received DATA (on stdin) 05:48:19.152957 > 24 bytes data, server => client 05:48:19.152967 'A002 OK LIST Completed\r\n' 05:48:19.200449 < 13 bytes data, client => server 05:48:19.200487 'A003 LOGOUT\r\n' 05:48:19.200779 Received DATA (on stdin) 05:48:19.200793 > 36 bytes data, server => client 05:48:19.200804 '* BYE curl IMAP server signing off\r\n' 05:48:19.200829 Received DATA (on stdin) 05:48:19.200839 > 26 bytes data, server => client 05:48:19.200849 'A003 OK LOGOUT completed\r\n' 05:48:19.202041 ====> Client disconnect 05:48:19.202247 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1590 === End of file server.cmd === Start of file stderr1590 URL: imap://localhost:33933/1590 === End of file stderr1590 === Start of file valgrind1590 ==166576== ==166576== Process terminating with default action of signal 4 (SIGILL) ==166576== Illegal opcode at address 0x519F3C0 ==166576== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==166576== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==166576== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==166576== by 0x4035744: UnknownInlinedFun (lib1553.c:56) ==166576== by 0x4035744: test_lib1553.lto_priv.0 (lib1553.c:41) ==166576== by 0x40034B5: main (first.c:279) ==166576== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==166576== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166576== by 0x519F354: Curl_multi_handle (multi.c:235) ==166576== by 0x4035744: UnknownInlinedFun (lib1553.c:56) ==166576== by 0x4035744: test_lib1553.lto_priv.0 (lib1553.c:41) ==166576== by 0x40034B5: main (first.c:279) ==166576== === End of file valgrind1590 test 1581...[CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:46741/1581 > log/10/stdout1581 2> log/10/stderr1581 1581: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:46741/1581 > log/10/stdout1581 2> log/10/stderr1581 === End of file commands.log === Start of file http_server.log 05:48:18.953725 ====> Client connect 05:48:18.953764 accept_connection 3 returned 4 05:48:18.953783 accept_connection 3 returned 0 05:48:18.953955 Read 93 bytes 05:48:18.953970 Process 93 bytes request 05:48:18.953984 Got request: GET /verifiedserver HTTP/1.1 05:48:18.953994 Are-we-friendly question received 05:48:18.954023 Wrote request (93 bytes) input to log/10/server.input 05:48:18.954042 Identifying ourselves as friends 05:48:18.954103 Response sent (56 bytes) and written to log/10/server.response 05:48:18.954114 special request received, no persistency 05:48:18.954123 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr1581 URL: http://127.0.0.1:46741/1581 === End of file stderr1581 === Start of file valgrind1581 ==166333== ==166333== Process terminating with default action of signal 4 (SIGILL) ==166333== Illegal opcode at address 0x51D8933 ==166333== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166333== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166333== by 0x51D8933: Curl_open (url.c:503) ==166333== by 0x514E50F: curl_easy_init (easy.c:350) ==166333== by 0x4039C0A: test_lib1571.lto_priv.0 (lib1571.c:36) ==166333== by 0x40034B5: main (first.c:279) === End of file valgrind1581 test 1601...[MD5 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1601 ./unit/units unit1601 - > log/22/stdout1601 2> log/22/stderr1601 units returned 132, when expecting 0 1601: exit FAILED == Contents of files in the log/22/ directory after test 1601 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1601 ./unit/units unit1601 - > log/22/stdout1601 2> log/22/stderr1601 === End of file commands.log === Start of file server.cmd Testnum 1601 === End of file server.cmd === Start of file stderr1601 URL: - === End of file stderr1601 === Start of file valgrind1601 ==167234== ==167234== Process terminating with default action of signal 4 (SIGILL) ==167234== Illegal opcode at address 0x4010B68 ==167234== at 0x4010B68: test_unit1601.lto_priv.0 (unit1601.c:42) ==167234== by 0x400B145: main (first.c:279) === End of file valgrind1601 test 1584...[HTTP GET with -J and Content-Disposition including path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1584 ../src/curl -q --trace-ascii log/5/trace1584 --trace-time http://127.0.0.1:35621/1584 -J -O --output-dir log/5 > log/5/stdout1584 2> log/5/stderr1584 1584: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1584 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1584 ../src/curl -q --trace-ascii log/5/trace1584 --trace-time http://127.0.0.1:35621/15CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/3/stdout1592 2> log/3/stderr1592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:34551/1594 > log/11/stdout1594 2> log/11/stderr1594 84 -J -O --output-dir log/5 > log/5/stdout1584 2> log/5/stderr1584 === End of file commands.log === Start of file http_server.log 05:48:20.019950 ====> Client connect 05:48:20.019992 accept_connection 3 returned 4 05:48:20.020010 accept_connection 3 returned 0 05:48:20.020025 Read 93 bytes 05:48:20.020035 Process 93 bytes request 05:48:20.020049 Got request: GET /verifiedserver HTTP/1.1 05:48:20.020058 Are-we-friendly question received 05:48:20.020082 Wrote request (93 bytes) input to log/5/server.input 05:48:20.020097 Identifying ourselves as friends 05:48:20.020195 Response sent (56 bytes) and written to log/5/server.response 05:48:20.020205 special request received, no persistency 05:48:20.020213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 38750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1584 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1584 ==166409== ==166409== Process terminating with default action of signal 4 (SIGILL) ==166409== Illegal opcode at address 0x4014883 ==166409== at 0x4014883: getparameter (tool_getparam.c:2899) ==166409== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==166409== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==166409== by 0x4004208: main (tool_main.c:189) === End of file valgrind1584 test 1592...[HTTP request, remove handle while resolving, do not block] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/3/stdout1592 2> log/3/stderr1592 libtests returned 132, when expecting 0 1592: exit FAILED == Contents of files in the log/3/ directory after test 1592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/3/stdout1592 2> log/3/stderr1592 === End of file commands.log === Start of file server.cmd Testnum 1592 === End of file server.cmd === Start of file stderr1592 URL: http://a-site-never-accessed.example.org/1592 === End of file stderr1592 === Start of file valgrind1592 ==166519== ==166519== Process terminating with default action of signal 4 (SIGILL) ==166519== Illegal opcode at address 0x519F3C0 ==166519== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==166519== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==166519== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==166519== by 0x40393FB: UnknownInlinedFun (lib1592.c:52) ==166519== by 0x40393FB: test_lib1592.lto_priv.0 (lib1592.c:41) ==166519== by 0x40034B5: main (first.c:279) ==166519== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==166519== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==166519== by 0x519F354: Curl_multi_handle (multi.c:235) ==166519== by 0x40393FB: UnknownInlinedFun (lib1592.c:52) ==166519== by 0x40393FB: test_lib1592.lto_priv.0 (lib1592.c:41) ==166519== by 0x40034B5: main (first.c:279) ==166519== === End of file valgrind1592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:41219/1595 > log/17/stdout1595 2> log/17/stderr1595 test 1594...[HTTP Retry-After header parsing and extraction] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:34551/1594 > log/11/stdout1594 2> log/11/stderr1594 1594: stdout FAILED: --- log/11/check-expected 2026-03-14 05:48:22.411282637 +0000 +++ log/11/check-generated 2026-03-14 05:48:22.411282637 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/11/ directory after test 1594 === Start of file check-expected Retry-After 22[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:34551/1594 > log/11/stdout1594 2> log/11/stderr1594 === End of file commands.log === Start of file http_server.log 05:48:20.523771 ====> Client connect 05:48:20.523813 accept_connection 3 returned 4 05:48:20.523833 accept_connection 3 returned 0 05:48:20.523850 Read 93 bytes 05:48:20.523860 Process 93 bytes request 05:48:20.523873 Got request: GET /verifiedserver HTTP/1.1 05:48:20.523882 Are-we-friendly question received 05:48:20.523907 Wrote request (93 bytes) input to log/11/server.input 05:48:20.523924 Identifying ourselves as friends 05:48:20.524006 Response sent (56 bytes) and written to log/11/server.response 05:48:20.524017 special request received, no persistency 05:48:20.524026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 53912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 1594 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr1594 URL: http://127.0.0.1:34551/1594 === End of file stderr1594 === Start of file valgrind1594 ==166786== ==166786== Process terminating with default action of signal 4 (SIGILL) ==166786== Illegal opcode at address 0x51D8933 ==166786== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166786== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166786== by 0x51D8933: Curl_open (url.c:503) ==166786== by 0x514E50F: curl_easy_init (easy.c:350) ==166786== by 0x403DA79: UnknownInlinedFun (lib1594.c:38) ==166786== by 0x403DA79: test_lib1594.lto_priv.0 (lib1594.c:29) ==166786== by 0x40034B5: main (first.c:279) === End of file valgrind1594 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1603 ./unit/units unit1603 - > log/8/stdout1603 2> log/8/stderr1603 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1604 ./tunit/tunits tool1604 - > log/18/stdout1604 2> log/18/stderr1604 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:33885/bzz/1598 log/9/stdout1598 2> log/9/stderr1598 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:35549/1593 > log/14/stdout1593 2> log/14/stderr1593 test 1595...[HTTP Retry-After header extraction (without header)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:41219/1595 > log/17/stdout1595 2> log/17/stderr1595 1595: stdout FAILED: --- log/17/check-expected 2026-03-14 05:48:22.494615970 +0000 +++ log/17/check-generated 2026-03-14 05:48:22.494615970 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/17/ directory after test 1595 === Start of file check-expected Retry-After 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:41219/1595 > log/17/stdout1595 2> log/17/stderr1595 === End of file commands.log === Start of file http_server.log 05:48:20.747039 ====> Client connect 05:48:20.747076 accept_connection 3 returned 4 05:48:20.747094 accept_connection 3 returned 0 05:48:20.747108 Read 93 bytes 05:48:20.747117 Process 93 bytes request 05:48:20.747130 Got request: GET /verifiedserver HTTP/1.1 05:48:20.747139 Are-we-friendly question received 05:48:20.747164 Wrote request (93 bytes) input to log/17/server.input 05:48:20.747179 Identifying ourselves as friends 05:48:20.747241 Response sent (57 bytes) and written to log/17/server.response 05:48:20.747250 special request received, no persistency 05:48:20.747258 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 46432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1595 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file stderr1595 URL: http://127.0.0.1:41219/1595 === End of file stderr1595 === Start of file valgrind1595 ==166879== ==166879== Process terminating with default action of signal 4 (SIGILL) ==166879== Illegal opcode at address 0x51D8933 ==166879== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166879== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166879== by 0x51D8933: Curl_open (url.c:503) ==166879== by 0x514E50F: curl_easy_init (easy.c:350) ==166879== by 0x403DA79: UnknownInlinedFun (lib1594.c:38) ==166879== by 0x403DA79: test_lib1594.lto_priv.0 (lib1594.c:29) ==166879== by 0x40034B5: main (first.c:279) === End of file valgrind1595 test 1603...[Internal hash add, retrieval, deletion testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1603 ./unit/units unit1603 - > log/8/stdout1603 2> log/8/stderr1603 -------e-v- OK (1527 out of 1773, remaining: 00:29, took 1.447s, duration: 03:01) test 1604...[Test Windows/MS-DOS filename sanitization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1604 ./tunit/tunits tool1604 - > log/18/stdout1604 2> log/18/stderr1604 -------e-v- OK (1528 out of 1773, remaining: 00:29, took 1.421s, duration: 03:01) test 1598...[HTTP POST with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:33885/bzz/1598 log/9/stdout1598 2> log/9/stderr1598 1598: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:33885/bzz/1598 log/9/stdout1598 2> log/9/stderr1598 === End of file commands.log === Start of file http_server.log 05:48:19.965011 ====> Client connect 05:48:19.965060 accept_connection 3 returned 4 05:48:19.965076 accept_connection 3 returned 0 05:48:19.965089 Read 93 bytes 05:48:19.965098 Process 93 bytes request 05:48:19.965110 Got request: GET /verifiedserver HTTP/1.1 05:48:19.965118 Are-we-friendly question received 05:48:19.965139 Wrote request (93 bytes) input to log/9/server.input 05:48:19.965153 Identifying ourselves as friends 05:48:19.965209 Response sent (56 bytes) and written to log/9/server.response 05:48:19.965217 special request received, no persistency 05:48:19.965225 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 44168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr1598 URL: http://127.0.0.1:33885/bzz/1598 === End of file stderr1598 === Start of file stdin-for-1598 more than one byte === End of file stdin-for-1598 === Start of file valgrind1598 ==167012== ==167012== Process terminating with default action of signal 4 (SIGILL) ==167012== Illegal opcode at address 0x51D8933 ==167012== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==167012== by 0x51D8933: UnknownInlinedFun (request.c:40) ==167012== by 0x51D8933: Curl_open (url.c:503) ==167012== by 0x514E50F: curl_easy_init (easy.c:350) ==167012== by 0x403EAB0: test_lib1598.lto_priv.0 (lib1598.c:67) ==167012== by 0x40034B5: main (first.c:279) === End of file valgrind1598 test 1593...[HTTP custom header overrides CURLOPT_TIMECONDITION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:35549/1593 > log/14/stdout1593 2> log/14/stderr1593 1593: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:35549/1593 > log/14/stdout1593 2> log/14/stderr1593 === End of file commands.log === Start of file http_server.log 05:48:20.432543 ====> Client connect 05:48:20.432577 accept_connection 3 returned 4 05:48:20.432593 accept_connection 3 returned 0 05:48:20.432607 Read 93 bytes 05:48:20.432616 Process 93 bytes request 05:48:20.432631 Got request: GET /verifiedserver HTTP/1.1 05:48:20.432640 ArCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1600 ./unit/units unit1600 - > log/20/stdout1600 2> log/20/stderr1600 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:43777/1599 log/4/netrc1599 > log/4/stdout1599 2> log/4/stderr1599 e-we-friendly question received 05:48:20.432661 Wrote request (93 bytes) input to log/14/server.input 05:48:20.432676 Identifying ourselves as friends 05:48:20.432725 Response sent (56 bytes) and written to log/14/server.response 05:48:20.432734 special request received, no persistency 05:48:20.432742 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 36132 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1593 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file stderr1593 URL: http://127.0.0.1:35549/1593 === End of file stderr1593 === Start of file valgrind1593 ==166741== ==166741== Process terminating with default action of signal 4 (SIGILL) ==166741== Illegal opcode at address 0x51D8933 ==166741== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166741== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166741== by 0x51D8933: Curl_open (url.c:503) ==166741== by 0x514E50F: curl_easy_init (easy.c:350) ==166741== by 0x403D699: UnknownInlinedFun (lib1593.c:38) ==166741== by 0x403D699: test_lib1593.lto_priv.0 (lib1593.c:29) ==166741== by 0x40034B5: main (first.c:279) === End of file valgrind1593 test 1600...[NTLM unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1600 ./unit/units unit1600 - > log/20/stdout1600 2> log/20/stderr1600 units returned 132, when expecting 0 1600: exit FAILED == Contents of files in the log/20/ directory after test 1600 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1600 ./unit/units unit1600 - > log/20/stdout1600 2> log/20/stderr1600 === End of file commands.log === Start of file server.cmd Testnum 1600 === End of file server.cmd === Start of file stderr1600 URL: - === End of file stderr1600 === Start of file valgrind1600 ==167090== ==167090== Process terminating with default action of signal 4 (SIGILL) ==167090== Illegal opcode at address 0x4080273 ==167090== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167090== by 0x4080273: UnknownInlinedFun (request.c:40) ==167090== by 0x4080273: Curl_open (url.c:503) ==167090== by 0x40401A5: curl_easy_init (easy.c:350) ==167090== by 0x401070B: UnknownInlinedFun (unit1600.c:34) ==167090== by 0x401070B: test_unit1600.lto_priv.0 (unit1600.c:52) ==167090== by 0x400B145: main (first.c:279) === End of file valgrind1600 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:38765/1596 > log/1/stdout1596 2> log/1/stderr1596 test 1599...[FTP with netrc using no user but control code in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:43777/1599 log/4/netrc1599 > log/4/stdout1599 2> log/4/stderr1599 1599: data FAILED: --- log/4/check-expected 2026-03-14 05:48:23.054615969 +0000 +++ log/4/check-generated 2026-03-14 05:48:23.054615969 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/4/ directory after test 1599 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:43777/1599 log/4/netrc1599 > log/4/stdout1599 2> log/4/stderr1599 === End of file commands.log === Start of file ftp_server.log 05:48:20.612365 ====> Client connect 05:48:20.612529 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:20.612875 < "USER anonymous" 05:48:20.612909 > "331 We are happy you popped in![CR][LF]" 05:48:20.613067 < "PASS ftp@example.com" 05:48:20.613094 > "230 Welcome you silly person[CR][LF]" 05:48:20.613253 < "PWD" 05:48:20.613288 > "257 "/" is current directory[CR][LF]" 05:48:20.613473 < "EPSV" 05:48:20.613499 ====> Passive DATA channel requested by client 05:48:20.613515 DATA sockfilt for passive data channel starting... 05:48:20.615556 DATA sockfilt for passive data channel started (pid 167081) 05:48:20.615683 DATA sockfilt for passive data channel listens on port 45711 05:48:20.615731 > "229 Entering Passive Mode (|||45711|)[CR][LF]" 05:48:20.615752 Client has been notified that DATA conn will be accepted on port 45711 05:48:20.616030 Client connects to port 45711 05:48:20.616064 ====> Client established passive DATA connection on port 45711 05:48:20.616154 < "TYPE I" 05:48:20.616188 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:20.616365 < "SIZE verifiedserver" 05:48:20.616408 > "213 17[CR][LF]" 05:48:20.616585 < "RETR verifiedserver" 05:48:20.616626 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:20.616724 =====> Closing passive DATA connection... 05:48:20.616748 Server disconnects passive DATA connection 05:48:20.617018 Server disconnected passive DATA connection 05:48:20.617051 DATA sockfilt for passive data channel quits (pid 167081) 05:48:20.617353 DATA sockfilt for passive data channel quit (pid 167081) 05:48:20.617382 =====> Closed passive DATA connection 05:48:20.617412 > "226 File transfer complete[CR][LF]" 05:48:20.671371 < "QUIT" 05:48:20.671431 > "221 bye bye baby[CR][LF]" 05:48:20.682239 MAIN sockfilt said DISC 05:48:20.682363 ====> Client disconnected 05:48:20.682488 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:21.073668 ====> Client connect 05:48:21.073991 Received DATA (on stdin) 05:48:21.074006 > 146 bytes data, server => client 05:48:21.074018 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:21.074029 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:21.074038 '220 \___|\___/|_| \_\_____|\r\n' 05:48:21.074160 < 16 bytes data, client => server 05:48:21.074173 'USER anonymous\r\n' 05:48:21.074362 Received DATA (on stdin) 05:48:21.074373 > 33 bytes data, server => client 05:48:21.074383 '331 We are happy you popped in!\r\n' 05:48:21.074431 < 22 bytes data, client => server 05:48:21.074441 'PASS ftp@example.com\r\n' 05:48:21.074549 Received DATA (on stdin) 05:48:21.074559 > 30 bytes data, server => client 05:48:21.074568 '230 Welcome you silly person\r\n' 05:48:21.074614 < 5 bytes data, client => server 05:48:21.074625 'PWD\r\n' 05:48:21.074742 Received DATA (on stdin) 05:48:21.074755 > 30 bytes data, server => client 05:48:21.074765 '257 "/" is current directory\r\n' 05:48:21.074831 < 6 bytes data, client => server 05:48:21.074845 'EPSV\r\n' 05:48:21.077209 Received DATA (on stdin) 05:48:21.077223 > 39 bytes data, server => client 05:48:21.077234 '229 Entering Passive Mode (|||45711|)\r\n' 05:48:21.077391 < 8 bytes data, client => server 05:48:21.077409 'TYPE I\r\n' 05:48:21.077642 Received DATA (on stdin) 05:48:21.077654 > 33 bytes data, server => client 05:48:21.077664 '200 I modify TYPE as you wanted\r\n' 05:48:21.077719 < 21 bytes data, client => server 05:48:21.077734 'SIZE verifiedserver\r\n' 05:48:21.077863 Received DATA (on stdin) 05:48:21.077875 > 8 bytes data, server => client 05:48:21.077885 '213 17\r\n' 05:48:21.077938 < 21 bytes data, client => server 05:48:21.077953 'RETR verifiedserver\r\n' 05:48:21.078203 Received DATA (on stdin) 05:48:21.078217 > 29 bytes data, server => client 05:48:21.078227 '150 Binary junk (17 bytes).\r\n' 05:48:21.078867 Received DATA (on stdin) 05:48:21.078881 > 28 bytes data, server => client 05:48:21.078891 '226 File transfer complete\r\n' 05:48:21.132617 < 6 bytes data, client => server 05:48:21.132650 'QUIT\r\n' 05:48:21.132888 Received DATA (on stdin) 05:48:21.132901 > 18 bytes data, server => client 05:48:21.132911 '221 bye bye baby\r\n' 05:48:21.136976 ====> Client disconnect 05:48:21.143952 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:20.076642 Running IPv4 version 05:48:20.076729 Listening on port 45711 05:48:20.076775 Wrote pid 167081 to log/4/server/ftp_sockdata.pid 05:48:20.076931 Received PING (on stdin) 05:48:20.077040 Received PORT (on stdin) 05:48:20.077430 ====> Client connect 05:48:20.078290 Received DATA (on stdin) 05:48:20.078307 > 17 bytes data, server => client 05:48:20.078317 'WE ROOLZ: 81463\r\n' 05:48:20.078347 Received DISC (on stdin) 05:48:20.078360 ====> Client forcibly disconnected 05:48:20.078511 Received QUIT (on stdin) 05:48:20.078523 quits 05:48:20.078609 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc1599 default passwor?dlogin anonymou\ ' password login anonymous passwor?d.'macdef === End of file netrc1599 === Start of file server.cmd Testnum 1599 === End of file server.cmd === Start of file stderr1599 URL: ftp://127.0.0.1:43777/1599 === End of file stderr1599 === Start of file valgrind1599 ==167137== ==167137== Process terminating with default action of signal 4 (SIGILL) ==167137== Illegal opcode at address 0x51D8933 ==167137== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==167137== by 0x51D8933: UnknownInlinedFun (request.c:40) ==167137== by 0x51D8933: Curl_open (url.c:503) ==167137== by 0x514E50F: curl_easy_init (easy.c:350) ==167137== by 0x4039F4E: UnknownInlinedFun (lib1599.c:32) ==167137== by 0x4039F4E: test_lib1599.lto_priv.0 (lib1599.c:26) ==167137== by 0x40034B5: main (first.c:279) === End of file valgrind1599 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1609 ./unit/units unit1609 - > log/13/stdout1609 2> log/13/stderr1609 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1610 ./unit/units unit1610 - > log/6/stdout1610 2> log/6/stderr1610 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1597 ./libtest/libtests lib1597 - > log/15/stdout1597 2> log/15/stderr1597 test 1596...[HTTP Retry-After header parsing using a date] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:38765/1596 > log/1/stdout1596 2> log/1/stderr1596 1596: stdout FAILED: --- log/1/check-expected 2026-03-14 05:48:23.147949303 +0000 +++ log/1/check-generated 2026-03-14 05:48:23.147949303 +0000 @@ -1 +0,0 @@ -Retry-After 21600[LF] == Contents of files in the log/1/ directory after test 1596 === Start of file check-expected Retry-After 21600[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:38765/1596 > log/1/stdout1596 2> log/1/stderr1596 === End of file commands.log === Start of file http_server.log 05:48:20.880386 ====> Client connect 05:48:20.880417 accept_connection 3 returned 4 05:48:20.880433 accept_connection 3 returned 0 05:48:20.880447 Read 93 bytes 05:48:20.880456 Process 93 bytes request 05:48:20.880470 Got request: GET /verifiedserver HTTP/1.1 05:48:20.880479 Are-we-friendly question received 05:48:20.880501 Wrote request (93 bytes) input to log/1/server.input 05:48:20.880517 Identifying ourselves as friends 05:48:20.880570 Response sent (56 bytes) and written to log/1/server.response 05:48:20.880580 special request received, no persistency 05:48:20.880588 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 53386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1596 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr1596 URL: http://127.0.0.1:38765/1596 === End of file stderr1596 === Start of file valgrind1596 ==166930== ==166930== Process terminating with default action of signal 4 (SIGILL) ==166930== Illegal opcode at address 0x51D8933 ==166930== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166930== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166930== by 0x51D8933: Curl_open (url.c:503) ==166930== by 0x514E50F: curl_easy_init (easy.c:350) ==166930== by 0x403DA79: UnknownInlinedFun (lib1594.c:38) ==166930== by 0x403DA79: test_lib1594.lto_priv.0 (lib1594.c:29) ==166930== by 0x40034B5: main (first.c:279) === End of file valgrind1596 test 1609...[CURLOPT_RESOLVE parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1609 ./unit/units unit1609 - > log/13/stdout1609 2> log/13/stderr1609 units returned 132, when expecting 0 1609: exit FAILED == Contents of files in the log/13/ directory after test 1609 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1609 ./unit/units unit1609 - > log/13/stdout1609 2> log/13/stderr1609 === End of file commands.log === Start of file server.cmd Testnum 1609 === End of file server.cmd === Start of file stderr1609 URL: - === End of file stderr1609 === Start of file valgrind1609 ==167491== ==167491== Process terminating with default action of signal 4 (SIGILL) ==167491== Illegal opcode at address 0x4080273 ==167491== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167491== by 0x4080273: UnknownInlinedFun (request.c:40) ==167491== by 0x4080273: Curl_open (url.c:503) ==167491== by 0x40401A5: curl_easy_init (easy.c:350) ==167491== by 0x401358B: UnknownInlinedFun (unit1609.c:111) ==167491== by 0x401358B: test_unit1609.lto_priv.0 (unit1609.c:69) ==167491== by 0x400B145: main (first.c:279) === End of file valgrind1609 test 1610...[SHA256 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1610 ./unit/units unit1610 - > log/6/stdout1610 2> log/6/stderr1610 units returned 132, when expecting 0 1610: exit FAILED == Contents of files in the log/6/ directory after test 1610 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1610 ./unit/units unit1610 - > log/6/stdout1610 2> log/6/stderr1610 === End of file commands.log === Start of file server.cmd Testnum 1610 === End of file server.cmd === Start of file stderr1610 URL: - === End of file stderr1610 === Start of file valgrind1610 ==167507== ==167507== Process terminating with default action of signal 4 (SIGILL) ==167507== Illegal opcode at address 0x4013E61 ==167507== at 0x4013E61: UnknownInlinedFun (unit1610.c:49) ==167507== by 0x4013E61: test_unit1610.lto_priv.0 (unit1610.c:35) ==167507== by 0x400B145: main (first.c:279) === End of file valgrind1610 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1608 ./unit/units unit1608 - > log/7/stdout1608 2> log/7/stderr1608 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1614 ./unit/units unit1614 - > log/16/stdout1614 2> log/16/stderr1614 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1623 ./tunit/tunits tool1623 - > log/8/stdout1623 2> log/8/stderr1623 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1611 ./unit/units unit1611 - > log/23/stdout1611 2> log/23/stderr1611 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1616 ./unit/units unit1616 - > log/22/stdout1616 2> log/22/stderr1616 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1612 ./unit/units unit1612 - > log/12/stdout1612 2> log/12/stderr1612 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1605 ./unit/units unit1605 - > log/2/stdout1605 2> log/2/stderr1605 test 1597...[CURLOPT_PROTOCOLS_STR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1597 ./libtest/libtests lib1597 - > log/15/stdout1597 2> log/15/stderr1597 1597: stdout FAILED: --- log/15/check-expected 2026-03-14 05:48:23.397949303 +0000 +++ log/15/check-generated 2026-03-14 05:48:23.397949303 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/15/ directory after test 1597 === Start of file check-expected Tested 15 strings[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1597 ./libtest/libtests lib1597 - > log/15/stdout1597 2> log/15/stderr1597 === End of file commands.log === Start of file server.cmd Testnum 1597 === End of file server.cmd === Start of file stderr1597 URL: - === End of file stderr1597 === Start of file valgrind1597 ==166956== ==166956== Process terminating with default action of signal 4 (SIGILL) ==166956== Illegal opcode at address 0x51D8933 ==166956== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==166956== by 0x51D8933: UnknownInlinedFun (request.c:40) ==166956== by 0x51D8933: Curl_open (url.c:503) ==166956== by 0x514E50F: curl_easy_init (easy.c:350) ==166956== by 0x403E86D: UnknownInlinedFun (lib1597.c:71) ==166956== by 0x403E86D: test_lib1597.lto_priv.0 (lib1597.c:34) ==166956== by 0x40034B5: main (first.c:279) === End of file valgrind1597 test 1608...[verify DNS shuffling] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1608 ./unit/units unit1608 - > log/7/stdout1608 2> log/7/stderr1608 units returned 132, when expecting 0 1608: exit FAILED == Contents of files in the log/7/ directory after test 1608 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1608 ./unit/units unit1608 - > log/7/stdout1608 2> log/7/stderr1608 === End of file commands.log === Start of file server.cmd Testnum 1608 === End of file server.cmd === Start of file stderr1608 URL: - === End of file stderr1608 === Start of file valgrind1608 ==167471== ==167471== Process terminating with default action of signal 4 (SIGILL) ==167471== Illegal opcode at address 0x4080273 ==167471== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167471== by 0x4080273: UnknownInlinedFun (request.c:40) ==167471== by 0x4080273: Curl_open (url.c:503) ==167471== by 0x40401A5: curl_easy_init (easy.c:350) ==167471== by 0x4013C5F: test_unit1608.lto_priv.0 (unit1608.c:54) ==167471== by 0x400B145: main (first.c:279) === End of file valgrind1608 test 1614...[noproxy and cidr comparisons] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1614 ./unit/units unit1614 - > log/16/stdout1614 2> log/16/stderr1614 -------e-v- OK (1538 out of 1773, remaining: 00:27, took 1.443s, duration: 03:02) test 1623...[the size parser for --limit-rate] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1623 ./tunit/tunits tool1623 - > log/8/stdout1623 2> log/8/stderr1623 -------e-v- OK (1545 out of 1773, remaining: 00:26, took 1.024s, duration: 03:02) test 1611...[MD4 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1611 ./unit/units unit1611 - > log/23/stdout1611 2> log/23/stderr1611 units returned 132, when expecting 0 1611: exit FAILED == Contents of files in the log/23/ directory after test 1611 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1611 ./unit/units unit1611 - > log/23/stdout1611 2> log/23/stderr1611 === End of file commands.log === Start of file server.cmd Testnum 1611 === End of file server.cmd === Start of file stderr1611 URL: - === End of file stderr1611 === Start of file valgrind1611 ==167604== ==167604== Process terminating with default action of signal 4 (SIGILL) ==167604== Illegal opcode at address 0x405A34A ==167604== at 0x405A34A: UnknownInlinedFun (md4.c:402) ==167604== by 0x405A34A: Curl_md4it (md4.c:437) ==167604== by 0x4014179: test_unit1611.lto_priv.0 (unit1611.c:38) ==167604== by 0x400B145: main (first.c:279) === End of file valgrind1611 test 1616...[Internal uint_hash create/add/destroy testing, exercising clean functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1616 ./unit/units unit1616 - > log/22/stdout1616 2> log/22/stderr1616 -------e-v- OK (1540 out of 1773, remaining: 00:27, took 1.581s, duration: 03:02) test 1612...[HMAC unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1612 ./unit/units unit1612 - > log/12/stdout1612 2> log/12/stderr1612 units returned 132, when expecting 0 1612: exit FAILED == Contents of files in the log/12/ directory after test 1612 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1612 ./unit/units unit1612 - > log/12/stdout1612 2> log/12/stderr1612 === End of file commands.log === Start of file server.cmd Testnum 1612 === End of file server.cmd === Start of file stderr1612 URL: - === End of file stderr1612 === Start of file valgrind1612 ==167655== ==167655== Process terminating with default action of signal 4 (SIGILL) ==167655== Illegal opcode at address 0x4014416 ==167655== at 0x4014416: test_unit1612.lto_priv.0 (unit1612.c:47) ==167655== by 0x400B145: main (first.c:279) === End of file valgrind1612 test 1605...[Test negative data lengths as input to libcurl functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1605 ./unit/units unit1605 - > log/2/stdout1605 2> log/2/stderr1605 units returned 132, when expecting 0 1605: exit FAILED == Contents of files in the log/2/ directory after test 1605 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1605 ./unit/units unit1605 - > log/2/stdout1605 2> log/2/stderr1605 === End of file commands.log === Start of file server.cmd Testnum 1605 === End of file server.cmd === Start of file stderr1605 URL: - === End of file stderr1605 === Start of file valgrind1605 ==167348== ==167348== Process terminating with default action of signal 4 (SIGILL) ==167348== Illegal opcode at address 0x4080273 ==167348== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167348== by 0x4080273: UnknownInlinedFun (request.c:40) ==167348== by 0x4080273: Curl_open (url.c:503) ==167348== by 0x40401A5: curl_easy_init (easy.c:350) ==167348== by 0x4012267: UnknownInlinedFun (unit1605.c:33) ==167348== by 0x4012267: test_unit1605.lto_priv.0 (unit1605.c:51) ==167348== by 0x400B145: main (first.c:279) === End of file vaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1621 ./tunit/tunits tool1621 - > log/11/stdout1621 2> log/11/stderr1621 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1606 ./unit/units unit1606 - > log/19/stdout1606 2> log/19/stderr1606 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1607 ./unit/units unit1607 - > log/21/stdout1607 2> log/21/stderr1607 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1636 ./unit/units unit1636 log/4/1636 > log/4/stdout1636 2> log/4/stderr1636 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1615 ./unit/units unit1615 - > log/10/stdout1615 2> log/10/stderr1615 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1622 ./tunit/tunits tool1622 - > log/17/stdout1622 2> log/17/stderr1622 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1613 ../src/curl -q --output log/24/curl1613.out --include --trace-ascii log/24/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:33593/ -H "Testno: 1613" http://www.example.org/ > log/24/stdout1613 2> log/24/stderr1613 lgrind1605 test 1621...[unit tests for stripcredentials from URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1621 ./tunit/tunits tool1621 - > log/11/stdout1621 2> log/11/stderr1621 tunits returned 132, when expecting 0 1621: exit FAILED == Contents of files in the log/11/ directory after test 1621 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1621 ./tunit/tunits tool1621 - > log/11/stdout1621 2> log/11/stderr1621 === End of file commands.log === Start of file server.cmd Testnum 1621 === End of file server.cmd === Start of file stderr1621 URL: - === End of file stderr1621 === Start of file valgrind1621 ==167938== ==167938== Process terminating with default action of signal 4 (SIGILL) ==167938== Illegal opcode at address 0x492FF35 ==167938== at 0x492FF35: UnknownInlinedFun (string_fortified.h:59) ==167938== by 0x492FF35: parseurl_and_replace (urlapi.c:1202) ==167938== by 0x4932F46: UnknownInlinedFun (urlapi.c:1723) ==167938== by 0x4932F46: curl_url_set (urlapi.c:1872) ==167938== by 0x4001D9B: UnknownInlinedFun (tool_xattr.c:52) ==167938== by 0x4001D9B: test_tool1621 (tool1621.c:73) ==167938== by 0x4001161: main (first.c:279) === End of file valgrind1621 test 1606...[verify speedcheck] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1606 ./unit/units unit1606 - > log/19/stdout1606 2> log/19/stderr1606 units returned 132, when expecting 0 1606: exit FAILED == Contents of files in the log/19/ directory after test 1606 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1606 ./unit/units unit1606 - > log/19/stdout1606 2> log/19/stderr1606 === End of file commands.log === Start of file server.cmd Testnum 1606 === End of file server.cmd === Start of file stderr1606 URL: - === End of file stderr1606 === Start of file valgrind1606 ==167357== ==167357== Process terminating with default action of signal 4 (SIGILL) ==167357== Illegal opcode at address 0x4080273 ==167357== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167357== by 0x4080273: UnknownInlinedFun (request.c:40) ==167357== by 0x4080273: Curl_open (url.c:503) ==167357== by 0x40401A5: curl_easy_init (easy.c:350) ==167357== by 0x401259B: UnknownInlinedFun (unit1606.c:34) ==167357== by 0x401259B: test_unit1606.lto_priv.0 (unit1606.c:83) ==167357== by 0x400B145: main (first.c:279) === End of file valgrind1606 test 1607...[CURLOPT_RESOLVE parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1607 ./unit/units unit1607 - > log/21/stdout1607 2> log/21/stderr1607 units returned 132, when expecting 0 1607: exit FAILED == Contents of files in the log/21/ directory after test 1607 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1607 ./unit/units unit1607 - > log/21/stdout1607 2> log/21/stderr1607 === End of file commands.log === Start of file server.cmd Testnum 1607 === End of file server.cmd === Start of file stderr1607 URL: - === End of file stderr1607 === Start of file valgrind1607 ==167464== ==167464== Process terminating with default action of signal 4 (SIGILL) ==167464== Illegal opcode at address 0x4080273 ==167464== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167464== by 0x4080273: UnknownInlinedFun (request.c:40) ==167464== by 0x4080273: Curl_open (url.c:503) ==167464== by 0x40401A5: curl_easy_init (easy.c:350) ==167464== by 0x4012B14: UnknownInlinedFun (unit1607.c:115) ==167464== by 0x4012B14: test_unit1607.lto_priv.0 (unit1607.c:37) ==167464== by 0x400B145: main (first.c:279) === End of file valgrind1607 test 1636...[time2str and max6out] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1636 ./unit/units unit1636 log/4/1636 > log/4/stdout1636 2> log/4/stderr1636 s------e-v- OK (1553 out of 1773, remaining: 00:25, took 1.063s, duration: 03:03) test 1615...[SHA-512/256 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1615 ./unit/units unit1615 - > log/10/stdout1615 2> log/10/stderr1615 units returned 132, when expecting 0 1615: exit FAILED == Contents of files in the log/10/ directory after test 1615 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1615 ./unit/units unit1615 - > log/10/stdout1615 2> log/10/stderr1615 === End of file commands.log === Start of file server.cmd Testnum 1615 === End of file server.cmd === Start of file stderr1615 URL: - === End of file stderr1615 === Start of file valgrind1615 ==167708== ==167708== Process terminating with default action of signal 4 (SIGILL) ==167708== Illegal opcode at address 0x40146C4 ==167708== at 0x40146C4: test_unit1615.lto_priv.0 (unit1615.c:119) ==167708== by 0x400B145: main (first.c:279) === End of file valgrind1615 test 1622...[tool time and size progress output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1622 ./tunit/tunits tool1622 - > log/17/stdout1622 2> log/17/stderr1622 s------e-v- OK (1544 out of 1773, remaining: 00:27, took 1.872s, duration: 03:03) test 1613...[Send "OPTIONS *" with --request-target to a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1613 ../src/curl -q --output log/24/curl1613.out --include --trace-ascii log/24/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:33593/ -H "Testno: 1613" http://www.example.org/ > log/24/stdout1613 2> log/24/stderr1613 1613: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1613 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1613 ../src/curl -q --output log/24/curl1613.out --include --trace-ascii log/24/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:33593/ -H "Testno: 1613" http://www.example.org/ > log/24/stdout1613 2> log/24/stderr1613 === End of file commands.log === Start of file http_server.log 05:48:22.580513 ====> Client connect 05:48:22.580560 accept_connection 3 returned 4 05:48:22.580582 accept_connection 3 returned 0 05:48:22.580601 Read 93 bytes 05:48:22.580612 Process 93 bytes request 05:48:22.580627 Got request: GET /verifiedserver HTTP/1.1 05:48:22.580637 Are-we-friendly question received 05:48:22.580666 Wrote request (93 bytes) input to log/24/server.input 05:48:22.580686 Identifying ourselves as friends 05:48:22.580771 Response sent (56 bytes) and written to log/24/server.response 05:48:22.580785 special request received, no persistency 05:48:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1620 ./unit/units unit1620 - > log/3/stdout1620 2> log/3/stderr1620 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1617 ../src/curl -q --output log/5/curl1617.out --include --trace-ascii log/5/trace1617 --trace-time http://127.0.0.1:35621/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/5/stdout1617 2> log/5/stderr1617 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1653 ./unit/units unit1653 - > log/23/stdout1653 2> log/23/stderr1653 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1651 ./unit/units unit1651 - > log/16/stdout1651 2> log/16/stderr1651 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1624 ../src/curl -q --output log/18/curl1624.out --include --trace-ascii log/18/trace1624 --trace-time http://127.0.0.1:39913/1624 --url-query token=secret --next http://127.0.0.1:39913/1624 > log/18/stdout1624 2> log/18/stderr1624 2.580795 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1613 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1613 ==167721== ==167721== Process terminating with default action of signal 4 (SIGILL) ==167721== Illegal opcode at address 0x4014883 ==167721== at 0x4014883: getparameter (tool_getparam.c:2899) ==167721== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==167721== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==167721== by 0x4004208: main (tool_main.c:189) === End of file valgrind1613 test 1620...[unit tests for url.c] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1620 ./unit/units unit1620 - > log/3/stdout1620 2> log/3/stderr1620 units returned 132, when expecting 0 1620: exit FAILED == Contents of files in the log/3/ directory after test 1620 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1620 ./unit/units unit1620 - > log/3/stdout1620 2> log/3/stderr1620 === End of file commands.log === Start of file server.cmd Testnum 1620 === End of file server.cmd === Start of file stderr1620 URL: - === End of file stderr1620 === Start of file valgrind1620 ==167881== ==167881== Process terminating with default action of signal 4 (SIGILL) ==167881== Illegal opcode at address 0x4080273 ==167881== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==167881== by 0x4080273: UnknownInlinedFun (request.c:40) ==167881== by 0x4080273: Curl_open (url.c:503) ==167881== by 0x401584F: UnknownInlinedFun (unit1620.c:80) ==167881== by 0x401584F: test_unit1620.lto_priv.0 (unit1620.c:69) ==167881== by 0x400B145: main (first.c:279) === End of file valgrind1620 test 1617...[HTTP GET transfer-encoding with two user Connection: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1617 ../src/curl -q --output log/5/curl1617.out --include --trace-ascii log/5/trace1617 --trace-time http://127.0.0.1:35621/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/5/stdout1617 2> log/5/stderr1617 1617: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1617 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1617 ../src/curl -q --output log/5/curl1617.out --include --trace-ascii log/5/trace1617 --trace-time http://127.0.0.1:35621/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/5/stdout1617 2> log/5/stderr1617 === End of file commands.log === Start of file http_server.log 05:48:22.695278 ====> Client connect 05:48:22.695315 accept_connection 3 returned 4 05:48:22.695332 accept_connection 3 returned 0 05:48:22.695348 Read 93 bytes 05:48:22.695358 Process 93 bytes request 05:48:22.695373 Got request: GET /verifiedserver HTTP/1.1 05:48:22.695383 Are-we-friendly question received 05:48:22.695413 Wrote request (93 bytes) input to log/5/server.input 05:48:22.695431 Identifying ourselves as friends 05:48:22.695490 Response sent (56 bytes) and written to log/5/server.response 05:48:22.695500 special request received, no persistency 05:48:22.695509 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 38756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1617 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1617 ==167831== ==167831== Process terminating with default action of signal 4 (SIGILL) ==167831== Illegal opcode at address 0x4014883 ==167831== at 0x4014883: getparameter (tool_getparam.c:2899) ==167831== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==167831== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==167831== by 0x4004208: main (tool_main.c:189) === End of file valgrind1617 test 1653...[urlapi port number parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1653 ./unit/units unit1653 - > log/23/stdout1653 2> log/23/stderr1653 -------e-v- OK (1562 out of 1773, remaining: 00:24, took 1.234s, duration: 03:03) test 1651...[x509 parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1651 ./unit/units unit1651 - > log/16/stdout1651 2> log/16/stderr1651 -------e-v- OK (1560 out of 1773, remaining: 00:25, took 1.481s, duration: 03:03) test 1624...[URL + --url-query with --next and another URL without --url-query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1624 ../src/curl -q --output log/18/curl1624.out --include --trace-ascii log/18/trace1624 --trace-time http://127.0.0.1:39913/1624 --url-query token=secret --next http://127.0.0.1:39913/1624 > log/18/stdout1624 2> log/18/stderr1624 1624: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1624 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1624 ../src/curl -q --output log/18/curl1624.out --include --trace-ascii log/18/trace1624 --trace-time http://127.0.0.1:39913/1624 --url-query token=secret --next http://127.0.0.1:39913/1624 > log/18/stdout1624 2> log/18/stderr1624 === End of file commands.log === Start of file http_server.log 05:48:22.287054 ====> Client connect 05:48:22.287103 accept_connection 3 returned 4 05:48:22.287123 accept_connection 3 returned 0 05:48:22.287143 Read 93 bytes 05:48:22.287153 Process 93 bytes request 05:48:22.287168 Got request: GET /verifiedserver HTTP/1.1 05:48:22.287177 Are-we-friendly question received 05:48:22.287205 Wrote request (93 bytes) input to log/18/server.input 05:48:22.287222 Identifying ourselves as friends 05:48:22.287314 Response sent (56 bytes) and written to log/18/server.response 05:48:22.287325 special request received, no persistency 05:48:22.287CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1658 ./unit/units unit1658 - > log/19/stdout1658 2> log/19/stderr1658 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1656 ./unit/units unit1656 - > log/2/stdout1656 2> log/2/stderr1656 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1633 ../src/curl -q --output log/20/curl1633.out --include --trace-ascii log/20/trace1633 --trace-time http://127.0.0.1:38929/1633 -d moo --retry 1 -L > log/20/stdout1633 2> log/20/stderr1633 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1635 ../src/curl -q --trace-ascii log/9/trace1635 --trace-time http://127.0.0.1:33885/1635 --retry 1 --fail-with-body > log/9/stdout1635 2> log/9/stderr1635 334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 48966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1624 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1624 ==168181== ==168181== Process terminating with default action of signal 4 (SIGILL) ==168181== Illegal opcode at address 0x4014883 ==168181== at 0x4014883: getparameter (tool_getparam.c:2899) ==168181== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168181== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168181== by 0x4004208: main (tool_main.c:189) === End of file valgrind1624 test 1658...[unit test for doh_resp_decode_httpsrr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1658 ./unit/units unit1658 - > log/19/stdout1658 2> log/19/stderr1658 -r-----e-v- OK (1567 out of 1773, remaining: 00:24, took 1.337s, duration: 03:04) test 1661...[bufref unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 -------e-v- OK (1569 out of 1773, remaining: 00:23, took 1.204s, duration: 03:04) test 1656...[Curl_x509_GTime2str unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1656 ./unit/units unit1656 - > log/2/stdout1656 2> log/2/stderr1656 -------e-v- OK (1565 out of 1773, remaining: 00:24, took 1.506s, duration: 03:04) test 1633...[--retry with a 429 response and Retry-After:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1633 ../src/curl -q --output log/20/curl1633.out --include --trace-ascii log/20/trace1633 --trace-time http://127.0.0.1:38929/1633 -d moo --retry 1 -L > log/20/stdout1633 2> log/20/stderr1633 1633: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1633 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1633 ../src/curl -q --output log/20/curl1633.out --include --trace-ascii log/20/trace1633 --trace-time http://127.0.0.1:38929/1633 -d moo --retry 1 -L > log/20/stdout1633 2> log/20/stderr1633 === End of file commands.log === Start of file http_server.log 05:48:22.447058 ====> Client connect 05:48:22.447116 accept_connection 3 returned 4 05:48:22.447136 accept_connection 3 returned 0 05:48:22.447152 Read 93 bytes 05:48:22.447162 Process 93 bytes request 05:48:22.447177 Got request: GET /verifiedserver HTTP/1.1 05:48:22.447187 Are-we-friendly question received 05:48:22.447213 Wrote request (93 bytes) input to log/20/server.input 05:48:22.447232 Identifying ourselves as friends 05:48:22.447303 Response sent (56 bytes) and written to log/20/server.response 05:48:22.447315 special request received, no persistency 05:48:22.447324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 38756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 1633 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind1633 ==168261== ==168261== Process terminating with default action of signal 4 (SIGILL) ==168261== Illegal opcode at address 0x4014883 ==168261== at 0x4014883: getparameter (tool_getparam.c:2899) ==168261== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168261== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168261== by 0x4004208: main (tool_main.c:189) === End of file valgrind1633 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1650 ./unit/units unit1650 - > log/7/stdout1650 2> log/7/stderr1650 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1634 ../src/curl -q --output log/14/curl1634.out --include --trace-ascii log/14/trace1634 --trace-time http://127.0.0.1:35549/1634 --retry 1 --fail > log/14/stdout1634 2> log/14/stderr1634 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1655 ./unit/units unit1655 - > log/12/stdout1655 2> log/12/stderr1655 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1641 ../src/curl -q --trace-ascii log/13/trace1641 --trace-time http://127.0.0.1:45359/1641 -J -L -O --output-dir log/13 > log/13/stdout1641 2> log/13/stderr1641 test 1635...[--retry with a 429 response and Retry-After: and --fail-with-body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1635 ../src/curl -q --trace-ascii log/9/trace1635 --trace-time http://127.0.0.1:33885/1635 --retry 1 --fail-with-body > log/9/stdout1635 2> log/9/stderr1635 1635: stdout FAILED: --- log/9/check-expected 2026-03-14 05:48:25.394615968 +0000 +++ log/9/check-generated 2026-03-14 05:48:25.394615968 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/9/ directory after test 1635 === Start of file check-expected moo[LF] hey[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1635 ../src/curl -q --trace-ascii log/9/trace1635 --trace-time http://127.0.0.1:33885/1635 --retry 1 --fail-with-body > log/9/stdout1635 2> log/9/stderr1635 === End of file commands.log === Start of file http_server.log 05:48:22.613785 ====> Client connect 05:48:22.613829 accept_connection 3 returned 4 05:48:22.613850 accept_connection 3 returned 0 05:48:22.613868 Read 93 bytes 05:48:22.613879 Process 93 bytes request 05:48:22.613892 Got request: GET /verifiedserver HTTP/1.1 05:48:22.613902 Are-we-friendly question received 05:48:22.613930 Wrote request (93 bytes) input to log/9/server.input 05:48:22.613950 Identifying ourselves as friends 05:48:22.614047 Response sent (56 bytes) and written to log/9/server.response 05:48:22.614061 special request received, no persistency 05:48:22.614071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 44188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1635 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1635 ==168360== ==168360== Process terminating with default action of signal 4 (SIGILL) ==168360== Illegal opcode at address 0x4014883 ==168360== at 0x4014883: getparameter (tool_getparam.c:2899) ==168360== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168360== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168360== by 0x4004208: main (tool_main.c:189) === End of file valgrind1635 test 1650...[DoH parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1650 ./unit/units unit1650 - > log/7/stdout1650 2> log/7/stderr1650 -------e-v- OK (1559 out of 1773, remaining: 00:25, took 1.929s, duration: 03:04) test 1634...[--retry with a 429 response and Retry-After: and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1634 ../src/curl -q --output log/14/curl1634.out --include --trace-ascii log/14/trace1634 --trace-time http://127.0.0.1:35549/1634 --retry 1 --fail > log/14/stdout1634 2> log/14/stderr1634 1634: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1634 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1634 ../src/curl -q --output log/14/curl1634.out --include --trace-ascii log/14/trace1634 --trace-time http://127.0.0.1:35549/1634 --retry 1 --fail > log/14/stdout1634 2> log/14/stderr1634 === End of file commands.log === Start of file http_server.log 05:48:23.490090 ====> Client connect 05:48:23.490141 accept_connection 3 returned 4 05:48:23.490164 accept_connection 3 returned 0 05:48:23.490183 Read 93 bytes 05:48:23.490194 Process 93 bytes request 05:48:23.490210 Got request: GET /verifiedserver HTTP/1.1 05:48:23.490221 Are-we-friendly question received 05:48:23.490248 Wrote request (93 bytes) input to log/14/server.input 05:48:23.490268 Identifying ourselves as friends 05:48:23.490377 Response sent (56 bytes) and written to log/14/server.response 05:48:23.490391 special request received, no persistency 05:48:23.490401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 36134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1634 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1634 ==168308== ==168308== Process terminating with default action of signal 4 (SIGILL) ==168308== Illegal opcode at address 0x4014883 ==168308== at 0x4014883: getparameter (tool_getparam.c:2899) ==168308== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168308== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168308== by 0x4004208: main (tool_main.c:189) === End of file valgrind1634 test 1655...[unit test for doh_req_encode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1655 ./unit/units unit1655 - > log/12/stdout1655 2> log/12/stderr1655 -------e-v- OK (1564 out of 1773, remaining: 00:24, took 1.716s, duration: 03:04) test 1641...[HTTP GET with -J, a redirect and Content-Disposition in the second response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1641 ../src/curl -q --trace-ascii log/13/trace1641 --trace-time http://127.0.0.1:45359/1641 -J -L -O --output-dir log/13 > log/13/stdout1641 2> log/13/stderr1641 1641: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1641 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1641 ../src/curl -q --trace-ascii log/13/trace1641 --trace-time http://127.0.0.1:45359/1641 -J -L -O --output-dir log/13 > log/13/stdout1641 2> log/13/stderr1641 === End of file commands.log === Start of file http_server.log 05:48:23.810385 ====> Client connect 05:48:23.810425 accept_connection 3 returned 4 05:48:23.810445 accept_connection 3 returned 0 05:48:23.810461 Read 93 bytes 05:48:23.810472 Process 93 bytes request 05:48:23.810486 Got request: GET /verifiedserver HTTP/1.1 05:48:23.810496 Are-we-friendly question received 05:48:23.810536 Wrote request (93 bytes) input to log/13/server.input 05:48:23.810556 Identifying ourselves as friends 05:48:2CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/14 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/14/stdout1705 2> log/14/stderr1705 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/7 ascii option1.md option2.md > log/7/stdout1706 2> log/7/stderr1706 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1657 ./unit/units unit1657 - > log/11/stdout1657 2> log/11/stderr1657 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1654 ./unit/units unit1654 log/22/1654 > log/22/stdout1654 2> log/22/stderr1654 3.810626 Response sent (56 bytes) and written to log/13/server.response 05:48:23.810639 special request received, no persistency 05:48:23.810648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 51528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1641 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind1641 ==168550== ==168550== Process terminating with default action of signal 4 (SIGILL) ==168550== Illegal opcode at address 0x4014883 ==168550== at 0x4014883: getparameter (tool_getparam.c:2899) ==168550== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168550== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168550== by 0x4004208: main (tool_main.c:189) === End of file valgrind1641 test 1705...[managen makes man page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/14 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/14/stdout1705 2> log/14/stderr1705 valgrind SKIPPED sr-----e--- OK (1583 out of 1773, remaining: 00:22, took 0.086s, duration: 03:04) test 1706...[managen makes ASCII page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/7 ascii option1.md option2.md > log/7/stdout1706 2> log/7/stderr1706 valgrind SKIPPED sr-----e--- OK (1584 out of 1773, remaining: 00:22, took 0.088s, duration: 03:04) test 1657...[Curl_x509_getASN1Element unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1657 ./unit/units unit1657 - > log/11/stdout1657 2> log/11/stderr1657 -------e-v- OK (1566 out of 1773, remaining: 00:24, took 1.712s, duration: 03:04) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1642 ../src/curl -q --trace-ascii log/6/trace1642 --trace-time http://127.0.0.1:40607/1642 -J -L -O --output-dir log/6 > log/6/stdout1642 2> log/6/stderr1642 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1652 ./unit/units unit1652 - > log/8/stdout1652 2> log/8/stderr1652 setenv CURL_TIME = 1548369261 test 1654...[alt-svc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1654 ./unit/units unit1654 log/22/1654 > log/22/stdout1654 2> log/22/stderr1654 1654: output (log/22/1654-out) FAILED: --- log/22/check-expected 2026-03-14 05:48:25.717949302 +0000 +++ log/22/check-generated 2026-03-14 05:48:25.717949302 +0000 @@ -1,14 +0,0 @@ -# Your alt-svc cache. https://curl.se/docs/alt-svc.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0[CR][LF] -h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0[CR][LF] -h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0[CR][LF] -h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0[CR][LF] -h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0[CR][LF] -h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0[CR][LF] -h2 test.se 443 h2 test2.se 443 "20190124 22:37:21" 0 0[CR][LF] -h2 test.se 443 h2 test3.se 443 "20190124 22:36:21" 0 0[CR][LF] == Contents of files in the log/22/ directory after test 1654 === Start of file 1654 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 # a comment h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0 h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0 # also a comment bad example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 rubbish === End of file 1654 === Start of file check-expected # Your alt-svc cache. https://curl.se/docs/alt-svc.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0[CR][LF] h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0[CR][LF] h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0[CR][LF] h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0[CR][LF] h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0[CR][LF] h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0[CR][LF] h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0[CR][LF] h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0[CR][LF] h2 test.se 443 h2 test2.se 443 "20190124 22:37:21" 0 0[CR][LF] h2 test.se 443 h2 test3.se 443 "20190124 22:36:21" 0 0[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1654 ./unit/units unit1654 log/22/1654 > log/22/stdout1654 2> log/22/stderr1654 === End of file commands.log === Start of file server.cmd Testnum 1654 === End of file server.cmd === Start of file stderr1654 URL: log/22/1654 === End of file stderr1654 === Start of file valgrind1654 ==168883== ==168883== Process terminating with default action of signal 4 (SIGILL) ==168883== Illegal opcode at address 0x4080273 ==168883== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==168883== by 0x4080273: UnknownInlinedFun (request.c:40) ==168883== by 0x4080273: Curl_open (url.c:503) ==168883== by 0x40401A5: curl_easy_init (easy.c:350) ==168883== by 0x4018F1B: test_unit1654.lto_priv.0 (unit1654.c:44) ==168883== by 0x400B145: main (first.c:279) ==168883== 444 bytes in 4 blocks are possibly lost in loss record 698 of 790 ==168883== at 0x49A4C13: calloc (vg_replace_malloc.c:1675) ==168883== by 0x4022F54: altsvc_createid (altsvc.c:93) ==168883== by 0x4031F66: UnknownInlinedFun (altsvc.c:123) ==168883== by 0x4031F66: UnknownInlinedFun (altsvc.c:174) ==168883== by 0x4031F66: altsvc_load.lto_priv.0 (altsvc.c:220) ==168883== by 0x4018E2D: UnknownInlinedFun (altsvc.c:306) ==168883== by 0x4018E2D: test_unit1654.lto_priv.0 (unit1654.c:39) ==168883== by 0x400B145: main (first.c:279) ==168883== === End of file valgrind1654 test 1642...[HTTP GET with -J, redirect, no Content-Disposition use the Location: name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1642 ../src/curl -q --trace-ascii log/6/trace1642 --trace-time http://127.0.0.1:40607/1642 -J -L -O --output-dir log/6 > log/6/stdout1642 2> log/6/stderr1642 1642: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1642 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1642 ../src/curl -q --trace-ascii log/6/trace1642 --trace-time http://127.0.0.1:40607/1642 -J -L -O --output-dir log/6 > log/6/stdout1642 2> log/6/stderr1642 === End of file commands.log === Start of file http_server.log 05:48:22.819197 ====> Client connect 05:48:22.819234 accept_connection 3 returned 4 05:48:22.819249 accept_connection 3 returned 0 05:48:22.819263 Read 93 bytes 05:48:22.819273 Process 93 bytes request 05:48:22.819287 Got request: GET /verifiedserver HTTP/1.1 05:48:22.819296 Are-we-friendly question received 05:48:22.819319 Wrote request (93 bytes) input to log/6/server.input 05:48:22.819336 Identifying ourselves as friends 05:48:22.819389 Response sent (57 bytes) and written to log/6/server.response 05:48:22.819399 special request received, no persistency 05:48:22.819407 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 41500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 1642 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file valgrind1642 ==168552== ==168552== Process terminating with default action of signal 4 (SIGILL) ==168552== Illegal opcode at address 0x4014883 ==168552== at 0x4014883: getparameter (tool_getparam.c:2899) ==168552== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168552== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168552== by 0x4004208: main (tool_main.c:189) === End of file valgrind1642 test 1652...[infof] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1652 ./unit/units unit1652 - > log/8/stdout1652 2> log/8/stderr1652 units returned 132, when expecting 0 1652: exit FAILED == Contents of files in the log/8/ directory after test 1652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/vaenv: ‘python3’: No such file or directory CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1643 ../src/curl -q --trace-ascii log/15/trace1643 --trace-time http://127.0.0.1:43413/1643 -J -L -O --output-dir log/15 > log/15/stdout1643 2> log/15/stderr1643 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1637 ../src/curl -q --output log/1/curl1637.out --include --trace-ascii log/1/trace1637 --trace-time http://127.0.0.1:38765/1637 --fail --retry 2 --retry-delay 0.1 > log/1/stdout1637 2> log/1/stderr1637 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1660 ./unit/units unit1660 log/21/hsts1660 > log/21/stdout1660 2> log/21/stderr1660 lgrind1652 ./unit/units unit1652 - > log/8/stdout1652 2> log/8/stderr1652 === End of file commands.log === Start of file server.cmd Testnum 1652 === End of file server.cmd === Start of file stderr1652 URL: - === End of file stderr1652 === Start of file valgrind1652 ==168767== ==168767== Process terminating with default action of signal 4 (SIGILL) ==168767== Illegal opcode at address 0x4080273 ==168767== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==168767== by 0x4080273: UnknownInlinedFun (request.c:40) ==168767== by 0x4080273: Curl_open (url.c:503) ==168767== by 0x40401A5: curl_easy_init (easy.c:350) ==168767== by 0x401795B: UnknownInlinedFun (unit1652.c:60) ==168767== by 0x401795B: test_unit1652.lto_priv.0 (unit1652.c:89) ==168767== by 0x400B145: main (first.c:279) === End of file valgrind1652 test 1643...[HTTP -J, two redirects, use the last Location: name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1643 ../src/curl -q --trace-ascii log/15/trace1643 --trace-time http://127.0.0.1:43413/1643 -J -L -O --output-dir log/15 > log/15/stdout1643 2> log/15/stderr1643 1643: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1643 ../src/curl -q --trace-ascii log/15/trace1643 --trace-time http://127.0.0.1:43413/1643 -J -L -O --output-dir log/15 > log/15/stdout1643 2> log/15/stderr1643 === End of file commands.log === Start of file http_server.log 05:48:23.963711 ====> Client connect 05:48:23.963753 accept_connection 3 returned 4 05:48:23.963771 accept_connection 3 returned 0 05:48:23.963787 Read 93 bytes 05:48:23.963796 Process 93 bytes request 05:48:23.963809 Got request: GET /verifiedserver HTTP/1.1 05:48:23.963819 Are-we-friendly question received 05:48:23.963846 Wrote request (93 bytes) input to log/15/server.input 05:48:23.963865 Identifying ourselves as friends 05:48:23.963936 Response sent (56 bytes) and written to log/15/server.response 05:48:23.963948 special request received, no persistency 05:48:23.963956 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 56302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1643 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind1643 ==168671== ==168671== Process terminating with default action of signal 4 (SIGILL) ==168671== Illegal opcode at address 0x4014883 ==168671== at 0x4014883: getparameter (tool_getparam.c:2899) ==168671== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168671== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168671== by 0x4004208: main (tool_main.c:189) === End of file valgrind1643 test 1637...[HTTP 502 with --fail and --retry 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1637 ../src/curl -q --output log/1/curl1637.out --include --trace-ascii log/1/trace1637 --trace-time http://127.0.0.1:38765/1637 --fail --retry 2 --retry-delay 0.1 > log/1/stdout1637 2> log/1/stderr1637 1637: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1637 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1637 ../src/curl -q --output log/1/curl1637.out --include --trace-ascii log/1/trace1637 --trace-time http://127.0.0.1:38765/1637 --fail --retry 2 --retry-delay 0.1 > log/1/stdout1637 2> log/1/stderr1637 === End of file commands.log === Start of file http_server.log 05:48:23.716533 ====> Client connect 05:48:23.716568 accept_connection 3 returned 4 05:48:23.716584 accept_connection 3 returned 0 05:48:23.716604 Read 93 bytes 05:48:23.716613 Process 93 bytes request 05:48:23.716627 Got request: GET /verifiedserver HTTP/1.1 05:48:23.716636 Are-we-friendly question received 05:48:23.716659 Wrote request (93 bytes) input to log/1/server.input 05:48:23.716674 Identifying ourselves as friends 05:48:23.716733 Response sent (56 bytes) and written to log/1/server.response 05:48:23.716743 special request received, no persistency 05:48:23.716752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 53390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1637 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file valgrind1637 ==168488== ==168488== Process terminating with default action of signal 4 (SIGILL) ==168488== Illegal opcode at address 0x4014883 ==168488== at 0x4014883: getparameter (tool_getparam.c:2899) ==168488== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==168488== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==168488== by 0x4004208: main (tool_main.c:189) === End of file valgrind1637 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1664 ./unit/units unit1664 - > log/17/stdout1664 2> log/17/stderr1664 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1663 ./unit/units unit1663 - > log/10/stdout1663 2> log/10/stderr1663 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1670 ../src/curl -q --include --trace-ascii log/3/trace1670 --trace-time http://127.0.0.1:39591/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/3/1670.out > log/3/stdout1670 2> log/3/stderr1670 setenv CURL_TIME = 1548369261 test 1660...[HSTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1660 ./unit/units unit1660 log/21/hsts1660 > log/21/stdout1660 2> log/21/stderr1660 1660: stdout FAILED: --- log/21/check-expected 2026-03-14 05:48:26.081282635 +0000 +++ log/21/check-generated 2026-03-14 05:48:26.081282635 +0000 @@ -1,34 +0,0 @@ -readfrom.example [readfrom.example]: 1633063661 includeSubDomains[LF] -'old.example' is not HSTS[LF] -'readfrom.example' is not HSTS[LF] -example.com [example.com]: 1579905261[LF] -example.com [example.com]: 1569905261[LF] -example.com [example.com]: 1569905261[LF] -example.com [example.com]: 1569905261 includeSubDomains[LF] -example.org [example.org]: 1579905261[LF] -Input 8: error 43[LF] -Input 9: error 43[LF] -this.example [this.example]: 1548400797[LF] -'this.example' is not HSTS[LF] -Input 12: error 43[LF] -Input 13: error 43[LF] -Input 14: error 43[LF] -3.example.com [3.example.com]: 1569905261 includeSubDomains[LF] -3.example.com [example.com]: 1569905261 includeSubDomains[LF] -foo.example.com [example.com]: 1569905261 includeSubDomains[LF] -'foo.xample.com' is not HSTS[LF] -'forexample.net' is not HSTS[LF] -'forexample.net' is not HSTS[LF] -'example.net' is not HSTS[LF] -expire.example [expire.example]: 1548369268[LF] -Number of entries: 4[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -'expire.example' is not HSTS[LF] -'expire.example' is not HSTS[LF] -'expire.example' is not HSTS[LF] == Contents of files in the log/21/ directory after test 1660 === Start of file check-expected readfrom.example [readfrom.example]: 1633063661 includeSubDomains[LF] 'old.example' is not HSTS[LF] 'readfrom.example' is not HSTS[LF] example.com [example.com]: 1579905261[LF] example.com [example.com]: 1569905261[LF] example.com [example.com]: 1569905261[LF] example.com [example.com]: 1569905261 includeSubDomains[LF] example.org [example.org]: 1579905261[LF] Input 8: error 43[LF] Input 9: error 43[LF] this.example [this.example]: 1548400797[LF] 'this.example' is not HSTS[LF] Input 12: error 43[LF] Input 13: error 43[LF] Input 14: error 43[LF] 3.example.com [3.example.com]: 1569905261 includeSubDomains[LF] 3.example.com [example.com]: 1569905261 includeSubDomains[LF] foo.example.com [example.com]: 1569905261 includeSubDomains[LF] 'foo.xample.com' is not HSTS[LF] 'forexample.net' is not HSTS[LF] 'forexample.net' is not HSTS[LF] 'example.net' is not HSTS[LF] expire.example [expire.example]: 1548369268[LF] Number of entries: 4[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] 'expire.example' is not HSTS[LF] 'expire.example' is not HSTS[LF] 'expire.example' is not HSTS[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1660 ./unit/units unit1660 log/21/hsts1660 > log/21/stdout1660 2> log/21/stderr1660 === End of file commands.log === Start of file hsts1660 # Your HSTS cache. https://curl.se/docs/hsts.html # This file was generated by libcurl! Edit at your own risk. .readfrom.example "20211001 04:47:41" .old.example "20161001 04:47:41" .new.example "unlimited" === End of file hsts1660 === Start of file server.cmd Testnum 1660 === End of file server.cmd === Start of file stderr1660 URL: log/21/hsts1660 === End of file stderr1660 === Start of file valgrind1660 ==169017== ==169017== Process terminating with default action of signal 4 (SIGILL) ==169017== Illegal opcode at address 0x4080273 ==169017== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==169017== by 0x4080273: UnknownInlinedFun (request.c:40) ==169017== by 0x4080273: Curl_open (url.c:503) ==169017== by 0x40401A5: curl_easy_init (easy.c:350) ==169017== by 0x401A493: test_unit1660.lto_priv.0 (unit1660.c:116) ==169017== by 0x400B145: main (first.c:279) === End of file valgrind1660 test 1664...[unit tests for strparse.c string parsing functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1664 ./unit/units unit1664 - > log/17/stdout1664 2> log/17/stderr1664 s------e-v- OK (1571 out of 1773, remaining: 00:23, took 1.923s, duration: 03:05) test 1663...[unit tests for interface option parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1663 ./unit/units unit1663 - > log/10/stdout1663 2> log/10/stderr1663 -------e-v- OK (1570 out of 1773, remaining: 00:23, took 1.989s, duration: 03:05) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1665 ../src/curl -q --output log/24/curl1665.out --include --trace-ascii log/24/trace1665 --trace-time http://127.0.0.1:33593/1665 > log/24/stdout1665 2> log/24/stderr1665 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1682 ../src/curl -q --include --trace-ascii log/18/trace1682 --trace-time http://127.0.0.1:39913/1682 --output-dir log/18 -o exist1682 --no-clobber > log/18/stdout1682 2> log/18/stderr1682 test 1670...[-w individual header output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1670 ../src/curl -q --include --trace-ascii log/3/trace1670 --trace-time http://127.0.0.1:39591/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/3/1670.out > log/3/stdout1670 2> log/3/stderr1670 1670: stdout FAILED: --- log/3/check-expected 2026-03-14 05:48:26.677949301 +0000 +++ log/3/check-generated 2026-03-14 05:48:26.677949301 +0000 @@ -1 +0,0 @@ -"21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] == Contents of files in the log/3/ directory after test 1670 === Start of file check-expected "21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1670 ../src/curl -q --include --trace-ascii log/3/trace1670 --trace-time http://127.0.0.1:39591/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/3/1670.out > log/3/stdout1670 2> log/3/stderr1670 === End of file commands.log === Start of file http_server.log 05:48:25.261459 ====> Client connect 05:48:25.261490 accept_connection 3 returned 4 05:48:25.261506 accept_connection 3 returned 0 05:48:25.261519 Read 93 bytes 05:48:25.261528 Process 93 bytes request 05:48:25.261541 Got request: GET /verifiedserver HTTP/1.1 05:48:25.261554 Are-we-friendly question received 05:48:25.261576 Wrote request (93 bytes) input to log/3/server.input 05:48:25.261591 Identifying ourselves as friends 05:48:25.261643 Response sent (56 bytes) and written to log/3/server.response 05:48:25.261652 special request received, no persistency 05:48:25.261660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 36120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind1670 ==169284== ==169284== Process terminating with default action of signal 4 (SIGILL) ==169284== Illegal opcode at address 0x4014883 ==169284== at 0x4014883: getparameter (tool_getparam.c:2899) ==169284== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169284== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169284== by 0x4004208: main (tool_main.c:189) === End of file valgrind1670 test 1665...[HTTP with only headers and no final CRLF separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1665 ../src/curl -q --output log/24/curl1665.out --include --trace-ascii log/24/trace1665 --trace-time http://127.0.0.1:33593/1665 > log/24/stdout1665 2> log/24/stderr1665 1665: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1665 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1665 ../src/curl -q --output log/24/curl1665.out --include --trace-ascii log/24/trace1665 --trace-time http://127.0.0.1:33593/1665 > log/24/stdout1665 2> log/24/stderr1665 === End of file commands.log === Start of file http_server.log 05:48:25.202724 ====> Client connect 05:48:25.202756 accept_connection 3 returned 4 05:48:25.202771 accept_connection 3 returned 0 05:48:25.202784 Read 93 bytes 05:48:25.202794 Process 93 bytes request 05:48:25.202808 Got request: GET /verifiedserver HTTP/1.1 05:48:25.202817 Are-we-friendly question received 05:48:25.202840 Wrote request (93 bytes) input to log/24/server.input 05:48:25.202855 Identifying ourselves as friends 05:48:25.202905 Response sent (56 bytes) and written to log/24/server.response 05:48:25.202914 special request received, no persistency 05:48:25.202922 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1665 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind1665 ==169269== ==169269== Process terminating with default action of signal 4 (SIGILL) ==169269== Illegal opcode at address 0x4014883 ==169269== at 0x4014883: getparameter (tool_getparam.c:2899) ==169269== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169269== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169269== by 0x4004208: main (tool_main.c:189) === End of file valgrind1665 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1683 ../src/curl -q --include --trace-ascii log/19/trace1683 --trace-time http://127.0.0.1:35701/1683 -o log/19/exist1683 --no-clobber > log/19/stdout1683 2> log/19/stderr1683 CMD (0): /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/19/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' test 1682...[HTTP GET without clobber and --output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1682 ../src/curl -q --include --trace-ascii log/18/trace1682 --trace-time http://127.0.0.1:39913/1682 --output-dir log/18 -o exist1682 --no-clobber > log/18/stdout1682 2> log/18/stderr1682 1682: output (log/18/exist1682.1) FAILED: --- log/18/check-expected 2026-03-14 05:48:27.147949300 +0000 +++ log/18/check-generated 2026-03-14 05:48:27.147949300 +0000 @@ -1,6 +0,0 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] == Contents of files in the log/18/ directory after test 1682 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1682 ../src/curl -q --include --trace-ascii log/18/trace1682 --trace-time http://127.0.0.1:39913/1682 --output-dir log/18 -o exist1682 --no-clobber > log/18/stdout1682 2> log/18/stderr1682 === End of file commands.log === Start of file exist1682 to stay the same === End of file exist1682 === Start of file http_server.log 05:48:24.762583 ====> Client connect 05:48:24.762616 accept_connection 3 returned 4 05:48:24.762632 accept_connection 3 returned 0 05:48:24.762647 Read 93 bytes 05:48:24.762656 Process 93 bytes request 05:48:24.762671 Got request: GET /verifiedserver HTTP/1.1 05:48:24.762681 Are-we-friendly question received 05:48:24.762711 Wrote request (93 bytes) input to log/18/server.input 05:48:24.762731 Identifying ourselves as friends 05:48:24.762789 Response sent (56 bytes) and written to log/18/server.response 05:48:24.762800 special request received, no persistency 05:48:24.762809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 48980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1682 ==169592== ==169592== Process terminating with default action of signal 4 (SIGILL) ==169592== Illegal opcode at address 0x4014883 ==169592== at 0x4014883: getparameter (tool_getparam.c:2899) ==169592== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169592== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169592== by 0x4004208: main (tool_main.c:189) === End of file valgrind1682 prechecked /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/19/exist1683.$i"; open(FH, ">", $filename) or die $!; print FH "to stay the same" ; close(FH) }' test 1683...[HTTP GET without clobber when 100 files already exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1683 ../src/curl -q --include --trace-ascii log/19/trace1683 --trace-time http://127.0.0.1:35701/1683 -o log/19/exist1683 --no-clobber > log/19/stdout1683 2> log/19/stderr1683 postcheck /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/19/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' curl returned 132, when expecting 23 1683: exit FAILED == Contents of files in the log/19/ directory after test 1683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1683 ../src/curl -q --include --trace-ascii log/19/trace1683 --trace-time http://127.0.0.1:35701/1683 -o log/19/exist1683 --no-clobber > log/19/stdout1683 2> log/19/stderr1683 === End of file commands.log === Start of file exist1683 to stay the same === End of file exist1683 === Start of file exist1683.1 to stay the same === End of file exist1683.1 === Start of file exist1683.10 to stay the same === End of file exist1683.10 === Start of file exist1683.100 to stay the same === End of file exist1683.100 === Start of file exist1683.11 to stay the same === End of file exist1683.11 === Start of file exist1683.12 to stay the same === End of file exist1683.12 === Start of file exist1683.13 to stay the same === End of file exist1683.13 === Start of file exist1683.14 to stay the same === End of file exist1683.14 === Start of file exist1683.15 to stay the same === End of file exist1683.15 === Start of file exist1683.16 to stay the same === End of file exist1683.16 === Start of file exist1683.17 to stay the same === End of file exist1683.17 === Start of file exist1683.18 to stay the same === End of file exist1683.18 === Start of file exist1683.19 to stay the same === End of file exist1683.19 === Start of file exist1683.2 to stay the same === End of file exist1683.2 === Start of file exist1683.20 to stay the same === End of file exist1683.20 === Start of file exist1683.21 to stay the same === End of file exist1683.21 === Start of file exist1683.22 to stay the same === End of file exist1683.22 === Start of file exist1683.23 to stay the same === End of file exist1683.23 === Start of file exist1683.24 to stay the same === End of file exist1683.24 === Start of file exist1683.25 to stay the same === End of file exist1683.25 === Start of file exist1683.26 to stay the same === End of file exist1683.26 === Start of file exist1683.27 to stay the same === End of file exist1683.27 === Start of file exist1683.28 to stay the same === End of file exist1683.28 === Start of file exist1683.29 to stay the same === End of file exist1683.29 === Start of file exist1683.3 to stay the same === End of file exist1683.3 === Start of file exist1683.30 to stay the same === End of file exist1683.30 === Start of file exist1683.31 to stay the same === End of file exist1683.31 === Start of file exist1683.32 to stay the same === End of file exist1683.32 === Start of file exist1683.33 to stay the same === End of file exist1683.33 === Start of file exist1683.34 to stay the same === End of file exist1683.34 === Start of file exist1683.35 to stay the same === End of file exist1683.35 === Start of file exist1683.36 to stay the same === End of file exist1683.36 === Start of file exist1683.37 to stay the same === End of file exist1683.37 === Start of file exist1683.38 to stay the same === End of file exist1683.38 === Start of file exist1683.39 to stay the same === End of file exist1683.39 === Start of file exist1683.4 to stay the same === End of file exist1683.4 === Start of file exist1683.40 to stay the same === End of file exist1683.40 === Start of file exist1683.41 to stay the same === End of file exist1683.41 === Start of file exist1683.42 to stay the same === End of file exist1683.42 === Start of file exist1683.43 to stay the same === End of file exist1683.43 === Start of file exist1683.44 to stay the same === End of file exist1683.44 === Start of file exist1683.45 to stay the same === End of file exist1683.45 === Start of file exist1683.46 to stay the same === End of file exist1683.46 === Start of file exist1683.47 to stay the same === End of file exist1683.47 === Start of file exist1683.48 to stay the same === End of file exist1683.48 === Start of file CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1704 ../src/curl -q --output log/9/curl1704.out --include --trace-ascii log/9/trace1704 --trace-time http://127.0.0.1:33885/1704 --http2 > log/9/stdout1704 2> log/9/stderr1704 exist1683.49 to stay the same === End of file exist1683.49 === Start of file exist1683.5 to stay the same === End of file exist1683.5 === Start of file exist1683.50 to stay the same === End of file exist1683.50 === Start of file exist1683.51 to stay the same === End of file exist1683.51 === Start of file exist1683.52 to stay the same === End of file exist1683.52 === Start of file exist1683.53 to stay the same === End of file exist1683.53 === Start of file exist1683.54 to stay the same === End of file exist1683.54 === Start of file exist1683.55 to stay the same === End of file exist1683.55 === Start of file exist1683.56 to stay the same === End of file exist1683.56 === Start of file exist1683.57 to stay the same === End of file exist1683.57 === Start of file exist1683.58 to stay the same === End of file exist1683.58 === Start of file exist1683.59 to stay the same === End of file exist1683.59 === Start of file exist1683.6 to stay the same === End of file exist1683.6 === Start of file exist1683.60 to stay the same === End of file exist1683.60 === Start of file exist1683.61 to stay the same === End of file exist1683.61 === Start of file exist1683.62 to stay the same === End of file exist1683.62 === Start of file exist1683.63 to stay the same === End of file exist1683.63 === Start of file exist1683.64 to stay the same === End of file exist1683.64 === Start of file exist1683.65 to stay the same === End of file exist1683.65 === Start of file exist1683.66 to stay the same === End of file exist1683.66 === Start of file exist1683.67 to stay the same === End of file exist1683.67 === Start of file exist1683.68 to stay the same === End of file exist1683.68 === Start of file exist1683.69 to stay the same === End of file exist1683.69 === Start of file exist1683.7 to stay the same === End of file exist1683.7 === Start of file exist1683.70 to stay the same === End of file exist1683.70 === Start of file exist1683.71 to stay the same === End of file exist1683.71 === Start of file exist1683.72 to stay the same === End of file exist1683.72 === Start of file exist1683.73 to stay the same === End of file exist1683.73 === Start of file exist1683.74 to stay the same === End of file exist1683.74 === Start of file exist1683.75 to stay the same === End of file exist1683.75 === Start of file exist1683.76 to stay the same === End of file exist1683.76 === Start of file exist1683.77 to stay the same === End of file exist1683.77 === Start of file exist1683.78 to stay the same === End of file exist1683.78 === Start of file exist1683.79 to stay the same === End of file exist1683.79 === Start of file exist1683.8 to stay the same === End of file exist1683.8 === Start of file exist1683.80 to stay the same === End of file exist1683.80 === Start of file exist1683.81 to stay the same === End of file exist1683.81 === Start of file exist1683.82 to stay the same === End of file exist1683.82 === Start of file exist1683.83 to stay the same === End of file exist1683.83 === Start of file exist1683.84 to stay the same === End of file exist1683.84 === Start of file exist1683.85 to stay the same === End of file exist1683.85 === Start of file exist1683.86 to stay the same === End of file exist1683.86 === Start of file exist1683.87 to stay the same === End of file exist1683.87 === Start of file exist1683.88 to stay the same === End of file exist1683.88 === Start of file exist1683.89 to stay the same === End of file exist1683.89 === Start of file exist1683.9 to stay the same === End of file exist1683.9 === Start of file exist1683.90 to stay the same === End of file exist1683.90 === Start of file exist1683.91 to stay the same === End of file exist1683.91 === Start of file exist1683.92 to stay the same === End of file exist1683.92 === Start of file exist1683.93 to stay the same === End of file exist1683.93 === Start of file exist1683.94 to stay the same === End of file exist1683.94 === Start of file exist1683.95 to stay the same === End of file exist1683.95 === Start of file exist1683.96 to stay the same === End of file exist1683.96 === Start of file exist1683.97 to stay the same === End of file exist1683.97 === Start of file exist1683.98 to stay the same === End of file exist1683.98 === Start of file exist1683.99 to stay the same === End of file exist1683.99 === Start of file http_server.log 05:48:24.845914 ====> Client connect 05:48:24.845948 accept_connection 3 returned 4 05:48:24.845964 accept_connection 3 returned 0 05:48:24.845977 Read 93 bytes 05:48:24.845987 Process 93 bytes request 05:48:24.846000 Got request: GET /verifiedserver HTTP/1.1 05:48:24.846009 Are-we-friendly question received 05:48:24.846029 Wrote request (93 bytes) input to log/19/server.input 05:48:24.846045 Identifying ourselves as friends 05:48:24.846095 Response sent (56 bytes) and written to log/19/server.response 05:48:24.846105 special request received, no persistency 05:48:24.846113 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42352 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind1683 ==169746== ==169746== Process terminating with default action of signal 4 (SIGILL) ==169746== Illegal opcode at address 0x4014883 ==169746== at 0x4014883: getparameter (tool_getparam.c:2899) ==169746== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169746== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169746== by 0x4004208: main (tool_main.c:189) === End of file valgrind1683 test 1704...[HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1704 ../src/curl -q --output log/9/curl1704.out --include --trace-ascii log/9/trace1704 --trace-time http://127.0.0.1:33885/1704 --http2 > log/9/stdout1704 2> log/9/stderr1704 1704: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1704 ../src/curl -q --output log/9/curl1704.out --include --trace-ascii log/9/trace1704 --trace-time http://127.0.0.1:33885/1704 --http2 > log/9/stdout1704 2> log/9/stderr1704 === End of file commands.log === Start of file http_server.log 05:48:24.917044 ====> Client connect 05:48:24.920861 accept_connection 3 returned 4 05:48:24.925308 accept_connection 3 returned 0 05:48:24.925341 Read 93 bytes 05:48:24.925352 Process 93 bytes request 05:48:24.925365 Got request: GET /verifiedserver HTTP/1.1 05:48:24.925375 Are-we-friendly question received 05:48:24.937109 Wrote request (93 bytes) input to log/9/server.input 05:48:24.937722 Identifying ourselves as friends 05:48:24.937813 Response sent (56 bytes) and written to log/9/server.response 05:48:24.937823 special request received, no persistency 05:48:24.937831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 44198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1671 ../src/curl -q --include --trace-ascii log/5/trace1671 --trace-time http://127.0.0.1:35621/1671 -w '%{header_json}\n' -o log/5/1671.out > log/5/stdout1671 2> log/5/stderr1671 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind1704 ==169739== ==169739== Process terminating with default action of signal 4 (SIGILL) ==169739== Illegal opcode at address 0x4014883 ==169739== at 0x4014883: getparameter (tool_getparam.c:2899) ==169739== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169739== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169739== by 0x4004208: main (tool_main.c:189) === End of file valgrind1704 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1680 ../src/curl -q --include --trace-ascii log/23/trace1680 --trace-time http://127.0.0.1:33217/1680 -o log/23/exist1680 --clobber > log/23/stdout1680 2> log/23/stderr1680 test 1671...[-w header JSON output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1671 ../src/curl -q --include --trace-ascii log/5/trace1671 --trace-time http://127.0.0.1:35621/1671 -w '%{header_json}\n' -o log/5/1671.out > log/5/stdout1671 2> log/5/stderr1671 1671: stdout FAILED: --- log/5/check-expected 2026-03-14 05:48:27.461282634 +0000 +++ log/5/check-generated 2026-03-14 05:48:27.461282634 +0000 @@ -1,11 +0,0 @@ -{"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] -"server":["test-server/fake"],[CR][LF] -"last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] -"etag":["\"21025-dc7-39462498\""],[CR][LF] -"accept-ranges":["bytes"],[CR][LF] -"set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] -"funny-head":["yesyes"],[CR][LF] -"content-type":["text/html"],[CR][LF] -"content-length":["6"],[CR][LF] -"connection":["close"][CR][LF] -}[CR][LF] == Contents of files in the log/5/ directory after test 1671 === Start of file check-expected {"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] "server":["test-server/fake"],[CR][LF] "last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] "etag":["\"21025-dc7-39462498\""],[CR][LF] "accept-ranges":["bytes"],[CR][LF] "set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] "funny-head":["yesyes"],[CR][LF] "content-type":["text/html"],[CR][LF] "content-length":["6"],[CR][LF] "connection":["close"][CR][LF] }[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1671 ../src/curl -q --include --trace-ascii log/5/trace1671 --trace-time http://127.0.0.1:35621/1671 -w '%{header_json}\n' -o log/5/1671.out > log/5/stdout1671 2> log/5/stderr1671 === End of file commands.log === Start of file http_server.log 05:48:25.450378 ====> Client connect 05:48:25.450427 accept_connection 3 returned 4 05:48:25.450448 accept_connection 3 returned 0 05:48:25.450467 Read 93 bytes 05:48:25.450479 Process 93 bytes request 05:48:25.450493 Got request: GET /verifiedserver HTTP/1.1 05:48:25.450502 Are-we-friendly question received 05:48:25.450533 Wrote request (93 bytes) input to log/5/server.input 05:48:25.450553 Identifying ourselves as friends 05:48:25.450646 Response sent (56 bytes) and written to log/5/server.response 05:48:25.450661 special request received, no persistency 05:48:25.450671 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 38760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind1671 ==169405== ==169405== Process terminating with default action of signal 4 (SIGILL) ==169405== Illegal opcode at address 0x4014883 ==169405== at 0x4014883: getparameter (tool_getparam.c:2899) ==169405== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169405== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169405== by 0x4004208: main (tool_main.c:189) === End of file valgrind1671 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1681 ../src/curl -q --include --trace-ascii log/16/trace1681 --trace-time http://127.0.0.1:44281/1681 -o log/16/exist1681 --no-clobber -w '%{filename_effective}\n' > log/16/stdout1681 2> log/16/stderr1681 test 1680...[HTTP GET with explicit clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1680 ../src/curl -q --include --trace-ascii log/23/trace1680 --trace-time http://127.0.0.1:33217/1680 -o log/23/exist1680 --clobber > log/23/stdout1680 2> log/23/stderr1680 1680: output (log/23/exist1680) FAILED: --- log/23/check-expected 2026-03-14 05:48:27.567949300 +0000 +++ log/23/check-generated 2026-03-14 05:48:27.567949300 +0000 @@ -1,6 +1 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] +to be overwritten[LF] == Contents of files in the log/23/ directory after test 1680 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file check-generated to be overwritten[LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1680 ../src/curl -q --include --trace-ascii log/23/trace1680 --trace-time http://127.0.0.1:33217/1680 -o log/23/exist1680 --clobber > log/23/stdout1680 2> log/23/stderr1680 === End of file commands.log === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 05:48:25.453753 ====> Client connect 05:48:25.453800 accept_connection 3 returned 4 05:48:25.453821 accept_connection 3 returned 0 05:48:25.453837 Read 93 bytes 05:48:25.453847 Process 93 bytes request 05:48:25.453860 Got request: GET /verifiedserver HTTP/1.1 05:48:25.453869 Are-we-friendly question received 05:48:25.453896 Wrote request (93 bytes) input to log/23/server.input 05:48:25.453915 Identifying ourselves as friends 05:48:25.453990 Response sent (56 bytes) and written to log/23/server.response 05:48:25.454001 special request received, no persistency 05:48:25.454009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 46582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 1680 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind1680 ==169409== ==169409== Process terminating with default action of signal 4 (SIGILL) ==169409== Illegal opcode at address 0x4014883 ==169409== at 0x4014883: getparameter (tool_getparam.c:2899) ==169409== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169409== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169409== by 0x4004208: main (tool_main.c:189) === End of file valgrind1680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1848 ../src/curl -q --output log/22/curl1848.out --include --trace-ascii log/22/trace1848 --trace-time 'imap://127.0.0.1:40755/1848' --request 'UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])' -u '"user:sec"ret{' > log/22/stdout1848 2> log/22/stderr1848 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1800 ../src/curl -q --output log/14/curl1800.out --include --trace-ascii log/14/trace1800 --trace-time http://127.0.0.1:35549/1800 --http2 > log/14/stdout1800 2> log/14/stderr1800 test 1681...[HTTP GET without clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1681 ../src/curl -q --include --trace-ascii log/16/trace1681 --trace-time http://127.0.0.1:44281/1681 -o log/16/exist1681 --no-clobber -w '%{filename_effective}\n' > log/16/stdout1681 2> log/16/stderr1681 1681: stdout FAILED: --- log/16/check-expected 2026-03-14 05:48:27.634615968 +0000 +++ log/16/check-generated 2026-03-14 05:48:27.634615968 +0000 @@ -1 +0,0 @@ -log/16/exist1681.1[CR][LF] == Contents of files in the log/16/ directory after test 1681 === Start of file check-expected log/16/exist1681.1[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1681 ../src/curl -q --include --trace-ascii log/16/trace1681 --trace-time http://127.0.0.1:44281/1681 -o log/16/exist1681 --no-clobber -w '%{filename_effective}\n' > log/16/stdout1681 2> log/16/stderr1681 === End of file commands.log === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 05:48:24.557047 ====> Client connect 05:48:24.557092 accept_connection 3 returned 4 05:48:24.557111 accept_connection 3 returned 0 05:48:24.557127 Read 93 bytes 05:48:24.557140 Process 93 bytes request 05:48:24.557172 Got request: GET /verifiedserver HTTP/1.1 05:48:24.557181 Are-we-friendly question received 05:48:24.557214 Wrote request (93 bytes) input to log/16/server.input 05:48:24.557241 Identifying ourselves as friends 05:48:24.563834 Response sent (57 bytes) and written to log/16/server.response 05:48:24.563861 special request received, no persistency 05:48:24.563871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44281... * Established connection to 127.0.0.1 (127.0.0.1 port 44281) from 127.0.0.1 port 46584 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44281 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44281 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164336 === End of file http_verify.out === Start of file server.cmd Testnum 1681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 164336 === End of file server.response === Start of file valgrind1681 ==169496== ==169496== Process terminating with default action of signal 4 (SIGILL) ==169496== Illegal opcode at address 0x4014883 ==169496== at 0x4014883: getparameter (tool_getparam.c:2899) ==169496== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169496== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169496== by 0x4004208: main (tool_main.c:189) === End of file valgrind1681 test 1848...[IMAP FETCH message with custom request to get list of email.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1848 ../src/curl -q --output log/22/curl1848.out --include --trace-ascii log/22/trace1848 --trace-time 'imap://127.0.0.1:40755/1848' --request 'UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])' -u '"user:sec"ret{' > log/22/stdout1848 2> log/22/stderr1848 1848: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1848 ../src/curl -q --output log/22/curl1848.out --include --trace-ascii log/22/trace1848 --trace-time 'imap://127.0.0.1:40755/1848' --request 'UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])' -u '"user:sec"ret{' > log/22/stdout1848 2> log/22/stderr1848 === End of file commands.log === Start of file imap_server.log 05:48:25.839020 ====> Client connect 05:48:25.839193 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:25.839555 < "A001 CAPABILITY" 05:48:25.839589 > "A001 BAD Command[CR][LF]" 05:48:25.839769 < "A002 LIST "verifiedserver" *" 05:48:25.839799 LIST_imap got "verifiedserver" * 05:48:25.839823 > "* LIST () "/" "WE ROOLZ: 119739"[CR][LF]" 05:48:25.839843 > "A002 OK LIST Completed[CR][LF]" 05:48:25.839858 return proof we are we 05:48:25.885958 < "A003 LOGOUT" 05:48:25.886021 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:25.886040 > "A003 OK LOGOUT completed[CR][LF]" 05:48:25.894530 MAIN sockfilt said DISC 05:48:25.894593 ====> Client disconnected 05:48:25.894673 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:26.300338 ====> Client connect 05:48:26.300660 Received DATA (on stdin) 05:48:26.300677 > 164 bytes data, server => client 05:48:26.300690 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:26.300700 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:26.300710 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:26.300835 < 17 bytes data, client => server 05:48:26.300852 'A001 CAPABILITY\r\n' 05:48:26.301039 Received DATA (on stdin) 05:48:26.301051 > 18 bytes data, server => client 05:48:26.301060 'A001 BAD Command\r\n' 05:48:26.301119 < 30 bytes data, client => server 05:48:26.301133 'A002 LIST "verifiedserver" *\r\n' 05:48:26.301309 Received DATA (on stdin) 05:48:26.301322 > 34 bytes data, server => client 05:48:26.301332 '* LIST () "/" "WE ROOLZ: 119739"\r\n' 05:48:26.301353 Received DATA (on stdin) 05:48:26.301362 > 24 bytes data, server => client 05:48:26.301371 'A002 OK LIST Completed\r\n' 05:48:26.347193 < 13 bytes data, client => server 05:48:26.347230 'A003 LOGOUT\r\n' 05:48:26.347490 Received DATA (on stdin) 05:48:26.347501 > 36 bytes data, server => client 05:48:26.347513 '* BYE curl IMAP server signing off\r\n' 05:48:26.347535 Received DATA (on stdin) 05:48:26.347544 > 26 bytes data, server => client 05:48:26.347554 'A003 OK LOGOUT completed\r\n' 05:48:26.353647 ====> Client disconnect 05:48:26.356127 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1848 === End of file server.cmd === Start of file valgrind1848 ==170238== ==170238== Process terminating with default action of signal 4 (SIGILL) ==170238== Illegal opcode at address 0x4014883 ==170238== at 0x4014883: getparameter (tool_getparam.c:2899) ==170238== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==170238== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==170238== by 0x4004208: main (tool_main.c:189) === End of file valgrind1848 test 1800...[HTTP/2 upgrade refused] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1800 ../src/curl -q --output log/14/curl1800.out --include --trace-ascii log/14/trace1800 --trace-time http://127.0.0.1:35549/1800 --http2 > log/14/stdout1800 2> log/14/stderr1800 1800: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1802 ../src/curl -q --output log/7/curl1802.out --include --trace-ascii log/7/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:39013 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/7/stdout1802 2> log/7/stderr1802 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1847 ../src/curl -q --output log/11/curl1847.out --include --trace-ascii log/11/trace1847 --trace-time 'imap://127.0.0.1:39961/1847' --request 'UID FETCH 1 BODY[]' -u '"user:sec"ret{' > log/11/stdout1847 2> log/11/stderr1847 leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1800 ../src/curl -q --output log/14/curl1800.out --include --trace-ascii log/14/trace1800 --trace-time http://127.0.0.1:35549/1800 --http2 > log/14/stdout1800 2> log/14/stderr1800 === End of file commands.log === Start of file http_server.log 05:48:26.045179 ====> Client connect 05:48:26.045208 accept_connection 3 returned 4 05:48:26.045223 accept_connection 3 returned 0 05:48:26.045365 Read 93 bytes 05:48:26.045377 Process 93 bytes request 05:48:26.045390 Got request: GET /verifiedserver HTTP/1.1 05:48:26.045398 Are-we-friendly question received 05:48:26.045423 Wrote request (93 bytes) input to log/14/server.input 05:48:26.045437 Identifying ourselves as friends 05:48:26.045485 Response sent (56 bytes) and written to log/14/server.response 05:48:26.045493 special request received, no persistency 05:48:26.045501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 36140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 1800 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind1800 ==169871== ==169871== Process terminating with default action of signal 4 (SIGILL) ==169871== Illegal opcode at address 0x4014883 ==169871== at 0x4014883: getparameter (tool_getparam.c:2899) ==169871== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169871== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169871== by 0x4004208: main (tool_main.c:189) === End of file valgrind1800 test 1802...[HTTP CONNECT with custom headers for proxy and server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1802 ../src/curl -q --output log/7/curl1802.out --include --trace-ascii log/7/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:39013 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/7/stdout1802 2> log/7/stderr1802 1802: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1802 ../src/curl -q --output log/7/curl1802.out --include --trace-ascii log/7/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:39013 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/7/stdout1802 2> log/7/stderr1802 === End of file commands.log === Start of file http_server.log 05:48:25.112602 ====> Client connect 05:48:25.112648 accept_connection 3 returned 4 05:48:25.112669 accept_connection 3 returned 0 05:48:25.112687 Read 93 bytes 05:48:25.112698 Process 93 bytes request 05:48:25.112712 Got request: GET /verifiedserver HTTP/1.1 05:48:25.112722 Are-we-friendly question received 05:48:25.112751 Wrote request (93 bytes) input to log/7/server.input 05:48:25.112771 Identifying ourselves as friends 05:48:25.112855 Response sent (56 bytes) and written to log/7/server.response 05:48:25.112869 special request received, no persistency 05:48:25.112878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 48202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 1802 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind1802 ==169957== ==169957== Process terminating with default action of signal 4 (SIGILL) ==169957== Illegal opcode at address 0x4014883 ==169957== at 0x4014883: getparameter (tool_getparam.c:2899) ==169957== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169957== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169957== by 0x4004208: main (tool_main.c:189) === End of file valgrind1802 test 1847...[IMAP FETCH message with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1847 ../src/curl -q --output log/11/curl1847.out --include --trace-ascii log/11/trace1847 --trace-time 'imap://127.0.0.1:39961/1847' --request 'UID FETCH 1 BODY[]' -u '"user:sec"ret{' > log/11/stdout1847 2> log/11/stderr1847 1847: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1847 ../src/curl -q --output log/11/curl1847.out --include --trace-ascii log/11/trace1847 --trace-time 'imap://127.0.0.1:39961/1847' --request 'UID FETCH 1 BODY[]' -u '"user:sec"ret{' > log/11/stdout1847 2> log/11/stderr1847 === End of file commands.log === Start of file imap_server.log 05:48:25.739015 ====> Client connect 05:48:25.739164 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:25.748900 < "A001 CAPABILITY" 05:48:25.748972 > "A001 BAD Command[CR][LF]" 05:48:25.755861 < "A002 LIST "verifiedserver" *" 05:48:25.755906 LIST_imap got "verifiedserver" * 05:48:25.755939 > "* LIST () "/" "WE ROOLZ: 110655"[CR][LF]" 05:48:25.755963 > "A002 OK LIST Completed[CR][LF]" 05:48:25.755976 return proof we are we 05:48:25.800290 < "A003 LOGOUT" 05:48:25.800348 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:25.800368 > "A003 OK LOGOUT completed[CR][LF]" 05:48:25.802108 MAIN sockfilt said DISC 05:48:25.802147 ====> Client disconnected 05:48:25.802230 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:26.200327 ====> Client connect 05:48:26.200626 Received DATA (on stdin) 05:48:26.200641 > 164 bytes data, server => client 05:48:26.200654 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:26.200664 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:26.200674 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:26.203598 < 17 bytes data, client => server 05:48:26.203632 'A001 CAPABILITY\r\n' 05:48:26.216974 Received DATA (on stdin) 05:48:26.217013 > 18 bytes data, server => client 05:48:26.217025 'A001 BAD Command\r\n' 05:48:26.217150 < 30 bytes data, client => server 05:48:26.217162 'A002 LIST "verifiedserver" *\r\n' 05:48:26.217425 Received DATA (on stdin)CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1711 ../src/curl -q --output log/13/curl1711.out --include --trace-ascii log/13/trace1711 --trace-time smtp://127.0.0.1:38177/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/email1711 > log/13/stdout1711 2> log/13/stderr1711 05:48:26.217436 > 34 bytes data, server => client 05:48:26.217446 '* LIST () "/" "WE ROOLZ: 110655"\r\n' 05:48:26.217466 Received DATA (on stdin) 05:48:26.217475 > 24 bytes data, server => client 05:48:26.217485 'A002 OK LIST Completed\r\n' 05:48:26.261539 < 13 bytes data, client => server 05:48:26.261568 'A003 LOGOUT\r\n' 05:48:26.261819 Received DATA (on stdin) 05:48:26.261832 > 36 bytes data, server => client 05:48:26.261843 '* BYE curl IMAP server signing off\r\n' 05:48:26.261866 Received DATA (on stdin) 05:48:26.261875 > 26 bytes data, server => client 05:48:26.261886 'A003 OK LOGOUT completed\r\n' 05:48:26.263036 ====> Client disconnect 05:48:26.263687 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1847 === End of file server.cmd === Start of file valgrind1847 ==170186== ==170186== Process terminating with default action of signal 4 (SIGILL) ==170186== Illegal opcode at address 0x4014883 ==170186== at 0x4014883: getparameter (tool_getparam.c:2899) ==170186== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==170186== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==170186== by 0x4004208: main (tool_main.c:189) === End of file valgrind1847 test 1711...[Send >64K over SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1711 ../src/curl -q --output log/13/curl1711.out --include --trace-ascii log/13/trace1711 --trace-time smtp://127.0.0.1:38177/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/email1711 > log/13/stdout1711 2> log/13/stderr1711 1711: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1711 ../src/curl -q --output log/13/curl1711.out --include --trace-ascii log/13/trace1711 --trace-time smtp://127.0.0.1:38177/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/email1711 > log/13/stdout1711 2> log/13/stderr1711 === End of file commands.log === Start of file email1711 From: different To: another test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:42891/we/want/1903 log/21/cookies1903 log/21/cookiesout1903 > log/21/stdout1903 2> log/21/stderr1903 test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... === End of file email1711 === Start of file server.cmd Testnum 1711 === End of file server.cmd === Start of file smtp_server.log 05:48:25.575668 ====> Client connect 05:48:25.575824 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:25.576119 < "EHLO verifiedserver" 05:48:25.576158 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:25.576308 < "HELP" 05:48:25.576335 > "214 WE ROOLZ: 125770[CR][LF]" 05:48:25.576349 return proof we are we 05:48:25.576560 < "QUIT" 05:48:25.576585 > "221 curl ESMTP server signing off[CR][LF]" 05:48:25.577491 MAIN sockfilt said DISC 05:48:25.577519 ====> Client disconnected 05:48:25.577583 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:26.036987 ====> Client connect 05:48:26.037272 Received DATA (on stdin) 05:48:26.037286 > 146 bytes data, server => client 05:48:26.037296 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:26.037306 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:26.037315 '220 \___|\___/|_| \_\_____|\r\n' 05:48:26.037417 < 21 bytes data, client => server 05:48:26.037428 'EHLO verifiedserver\r\n' 05:48:26.037607 Received DATA (on stdin) 05:48:26.037617 > 53 bytes data, server => client 05:48:26.037627 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:26.037676 < 6 bytes data, client => server 05:48:26.037686 'HELP\r\n' 05:48:26.037794 Received DATA (on stdin) 05:48:26.037804 > 22 bytes data, server => client 05:48:26.037813 '214 WE ROOLZ: 125770\r\n' 05:48:26.037931 < 6 bytes data, client => server 05:48:26.037942 'QUIT\r\n' 05:48:26.038031 Received DATA (on stdin) 05:48:26.038040 > 35 bytes data, server => client 05:48:26.038050 '221 curl ESMTP server signing off\r\n' 05:48:26.038892 ====> Client disconnect 05:48:26.039032 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind1711 ==169863== ==169863== Process terminating with default action of signal 4 (SIGILL) ==169863== Illegal opcode at address 0x4014883 ==169863== at 0x4014883: getparameter (tool_getparam.c:2899) ==169863== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169863== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169863== by 0x4004208: main (tool_main.c:189) === End of file valgrind1711 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1712 ../src/curl -q --output log/12/curl1712.out --include --trace-ascii log/12/trace1712 --trace-time http://127.0.0.1:36353/1712 --config log/12/config --silent > log/12/stdout1712 2> log/12/stderr1712 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:39591/1906 > log/3/stdout1906 2> log/3/stderr1906 test 1903...[CURLOPT_COOKIEFILE then reset then set again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:42891/we/want/1903 log/21/cookies1903 log/21/cookiesout1903 > log/21/stdout1903 2> log/21/stderr1903 1903: output (log/21/cookiesout1903) FAILED: --- log/21/check-expected 2026-03-14 05:48:27.991282634 +0000 +++ log/21/check-generated 2026-03-14 05:48:27.991282634 +0000 @@ -1,6 +0,0 @@ -# Netscape HTTP Cookie File[CR][LF] -# https://curl.se/docs/http-cookies.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -[CR][LF] -127.0.0.1%09FALSE%09/we/want%09FALSE%090%09foobar%09name[CR][LF] -127.0.0.1%09FALSE%09/we/want%09FALSE%090%09secondcookie%09present[CR][LF] == Contents of files in the log/21/ directory after test 1903 === Start of file check-expected # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] 127.0.0.1%09FALSE%09/we/want%09FALSE%090%09foobar%09name[CR][LF] 127.0.0.1%09FALSE%09/we/want%09FALSE%090%09secondcookie%09present[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:42891/we/want/1903 log/21/cookies1903 log/21/cookiesout1903 > log/21/stdout1903 2> log/21/stderr1903 === End of file commands.log === Start of file cookies1903 # Netscape HTTP Cookie File # https://curl.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 secondcookie present 127.0.0.1 FALSE /we/want/ FALSE 0 foobar name === End of file cookies1903 === Start of file http_server.log 05:48:25.641270 ====> Client connect 05:48:25.641306 accept_connection 3 returned 4 05:48:25.641323 accept_connection 3 returned 0 05:48:25.641338 Read 93 bytes 05:48:25.641348 Process 93 bytes request 05:48:25.641361 Got request: GET /verifiedserver HTTP/1.1 05:48:25.641370 Are-we-friendly question received 05:48:25.641396 Wrote request (93 bytes) input to log/21/server.input 05:48:25.641412 Identifying ourselves as friends 05:48:25.641471 Response sent (56 bytes) and written to log/21/server.response 05:48:25.641481 special request received, no persistency 05:48:25.641489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 48322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1903 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr1903 URL: http://127.0.0.1:42891/we/want/1903 === End of file stderr1903 === Start of file valgrind1903 ==170457== ==170457== Process terminating with default action of signal 4 (SIGILL) ==170457== Illegal opcode at address 0x51D8933 ==170457== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==170457== by 0x51D8933: UnknownInlinedFun (request.c:40) ==170457== by 0x51D8933: Curl_open (url.c:503) ==170457== by 0x514E50F: curl_easy_init (easy.c:350) ==170457== by 0x403F50C: UnknownInlinedFun (lib1903.c:32) ==170457== by 0x403F50C: test_lib1903.lto_priv.0 (lib1903.c:26) ==170457== by 0x40034B5: main (first.c:279) === End of file valgrind1903 test 1906...[CURLOPT_CURLU and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:39591/1906 > log/3/stdout1906 2> log/3/stderr1906 1906: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1906 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:39591/1906 > log/3/stdout1906 2> log/3/stderr1906 === End of file commands.log === Start of file http_server.log 05:48:27.276124 ====> Client connect 05:48:27.276154 accept_connection 3 returned 4 05:48:27.276169 accept_connection 3 returned 0 05:48:27.276182 Read 93 bytes 05:48:27.276191 Process 93 bytes request 05:48:27.276203 Got request: GET /verifiedserver HTTP/1.1 05:48:27.276211 Are-we-friendly question received 05:48:27.276232 Wrote request (93 bytes) input to log/3/server.input 05:48:27.276251 Identifying ourselves as friends 05:48:27.276301 Response sent (56 bytes) and written to log/3/server.response 05:48:27.276309 special request received, no persistency 05:48:27.276317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 36130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1906 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr1906 URL: http://127.0.0.1:39591/1906 === End of file stderr1906 === Start of file valgrind1906 ==170697== ==170697== Process terminating with default action of signal 4 (SIGILL) ==170697== Illegal opcode at address 0x403FD7F ==170697== at 0x403FD7F: test_lib1906.lto_priv.0 (lib1906.c:31) ==170697== by 0x40034B5: main (first.c:279) ==170697== 88 bytes in 1 blocks are definitely lost in loss record 3 of 14 ==170697== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170697== by 0x403FD7A: test_lib1906.lto_priv.0 (lib1906.c:30) ==170697== by 0x40034B5: main (first.c:279) ==170697== === End of file valgrind1906 test 1712...[config file with argument using single quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1712 ../src/curl -q --output log/12/curl1712.out --include --trace-ascii log/12/trace1712 --trace-time http://127.0.0.1:36353/1712 --config log/12/config --silent > log/12/stdout1712 2> log/12/stderr1712 1712: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1712 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1712 ../src/curl -q --output log/12/curl1712.out --include --trace-ascii log/12/trace1712 --trace-time http://127.0.0.1:36353/1712 --config log/12/config --silent > log/12/stdout1712 2> log/12/stderr1712 === End of file commands.log === Start of file confCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/15/stdout1900 2> log/15/stderr1900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1902 ./libtest/libtests lib1902 log/1/cookie1902 > log/1/stdout1902 2> log/1/stderr1902 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1904 ../src/curl -q --output log/17/curl1904.out --include --trace-ascii log/17/trace1904 --trace-time http://test.1904:41219/we/want/that/page/1904 -p --proxy 127.0.0.1:46003 > log/17/stdout1904 2> log/17/stderr1904 ig data = 'arg-with-quote' === End of file config === Start of file http_server.log 05:48:26.030389 ====> Client connect 05:48:26.030439 accept_connection 3 returned 4 05:48:26.030461 accept_connection 3 returned 0 05:48:26.030479 Read 93 bytes 05:48:26.030490 Process 93 bytes request 05:48:26.030505 Got request: GET /verifiedserver HTTP/1.1 05:48:26.030514 Are-we-friendly question received 05:48:26.030545 Wrote request (93 bytes) input to log/12/server.input 05:48:26.030565 Identifying ourselves as friends 05:48:26.030653 Response sent (56 bytes) and written to log/12/server.response 05:48:26.030667 special request received, no persistency 05:48:26.030677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 51236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1712 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind1712 ==169858== ==169858== Process terminating with default action of signal 4 (SIGILL) ==169858== Illegal opcode at address 0x4014883 ==169858== at 0x4014883: getparameter (tool_getparam.c:2899) ==169858== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==169858== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==169858== by 0x4004208: main (tool_main.c:189) === End of file valgrind1712 test 1900...[HSTS curl_easy_duphandle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/15/stdout1900 2> log/15/stderr1900 libtests returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/15/ directory after test 1900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/15/stdout1900 2> log/15/stderr1900 === End of file commands.log === Start of file server.cmd Testnum 1900 === End of file server.cmd === Start of file stderr1900 URL: http://127.0.0.1:47/not-there/1900 === End of file stderr1900 === Start of file valgrind1900 ==170149== ==170149== Process terminating with default action of signal 4 (SIGILL) ==170149== Illegal opcode at address 0x51D8933 ==170149== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==170149== by 0x51D8933: UnknownInlinedFun (request.c:40) ==170149== by 0x51D8933: Curl_open (url.c:503) ==170149== by 0x514E50F: curl_easy_init (easy.c:350) ==170149== by 0x403F34C: UnknownInlinedFun (lib1900.c:34) ==170149== by 0x403F34C: test_lib1900.lto_priv.0 (lib1900.c:26) ==170149== by 0x40034B5: main (first.c:279) === End of file valgrind1900 test 1902...[set COOKIEFILE and COOKIEJAR but make no transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1902 ./libtest/libtests lib1902 log/1/cookie1902 > log/1/stdout1902 2> log/1/stderr1902 libtests returned 132, when expecting 0 1902: exit FAILED == Contents of files in the log/1/ directory after test 1902 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1902 ./libtest/libtests lib1902 log/1/cookie1902 > log/1/stdout1902 2> log/1/stderr1902 === End of file commands.log === Start of file cookie1902 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. example.com FALSE / FALSE 0 has_js 1 === End of file cookie1902 === Start of file server.cmd Testnum 1902 === End of file server.cmd === Start of file stderr1902 URL: log/1/cookie1902 === End of file stderr1902 === Start of file valgrind1902 ==170244== ==170244== Process terminating with default action of signal 4 (SIGILL) ==170244== Illegal opcode at address 0x51D8933 ==170244== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==170244== by 0x51D8933: UnknownInlinedFun (request.c:40) ==170244== by 0x51D8933: Curl_open (url.c:503) ==170244== by 0x514E50F: curl_easy_init (easy.c:350) ==170244== by 0x40387C6: test_lib1902.lto_priv.0 (lib1902.c:33) ==170244== by 0x40034B5: main (first.c:279) === End of file valgrind1902 test 1904...[HTTP CONNECT with 204 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1904 ../src/curl -q --output log/17/curl1904.out --include --trace-ascii log/17/trace1904 --trace-time http://test.1904:41219/we/want/that/page/1904 -p --proxy 127.0.0.1:46003 > log/17/stdout1904 2> log/17/stderr1904 1904: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1904 ../src/curl -q --output log/17/curl1904.out --include --trace-ascii log/17/trace1904 --trace-time http://test.1904:41219/we/want/that/page/1904 -p --proxy 127.0.0.1:46003 > log/17/stdout1904 2> log/17/stderr1904 === End of file commands.log === Start of file http2_server.log 05:48:25.873715 ====> Client connect 05:48:25.873758 accept_connection 3 returned 4 05:48:25.873777 accept_connection 3 returned 0 05:48:25.873793 Read 93 bytes 05:48:25.873803 Process 93 bytes request 05:48:25.873824 Got request: GET /verifiedserver HTTP/1.1 05:48:25.873833 Are-we-friendly question received 05:48:25.873862 Wrote request (93 bytes) input to log/17/proxy.input 05:48:25.873885 Identifying ourselves as friends 05:48:25.873962 Response sent (57 bytes) and written to log/17/proxy.response 05:48:25.873977 special request received, no persistency 05:48:25.873987 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:46003... * Established connection to 127.0.0.1 (127.0.0.1 port 46003) from 127.0.0.1 port 57116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46003 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:46003 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 163167 === End of file http2_verify.out === Start of file http_server.log 05:48:26.816008 ====> Client connect 05:48:26.816042 accept_connection 3 returned 4 05:48:26.816058 accept_connection 3 returned 0 05:48:26.816071 Read 93 bytes 05:48:26.816080 Process 93 bytes request 05:48:26.816093 Got request: GET /verifiedserver HTTP/1.1 05:48:26.816102 Are-we-friendly question received 05:48:26.816127 Wrote request (93 bytes) input to log/17/server.input 05:48:26.816142 Identifying ourselves as friends 05:48:26.816194 Response sent (57 bytes) and written to log/17/server.response 05:48:26.816204 special request received, no persistency 05:48:26.816212 ====> Client disconnecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:40607/boom > log/6/stdout1901 2> log/6/stderr1901 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:33593/hello/../1907 > log/24/stdout1907 2> log/24/stderr1907 t 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 46436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 163167 === End of file proxy.response === Start of file server.cmd Testnum 1904 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file valgrind1904 ==170567== ==170567== Process terminating with default action of signal 4 (SIGILL) ==170567== Illegal opcode at address 0x4014883 ==170567== at 0x4014883: getparameter (tool_getparam.c:2899) ==170567== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==170567== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==170567== by 0x4004208: main (tool_main.c:189) === End of file valgrind1904 test 1901...[Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:40607/boom > log/6/stdout1901 2> log/6/stderr1901 1901: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:40607/boom > log/6/stdout1901 2> log/6/stderr1901 === End of file commands.log === Start of file http_server.log 05:48:25.393713 ====> Client connect 05:48:25.393759 accept_connection 3 returned 4 05:48:25.393778 accept_connection 3 returned 0 05:48:25.393795 Read 93 bytes 05:48:25.393805 Process 93 bytes request 05:48:25.393818 Got request: GET /verifiedserver HTTP/1.1 05:48:25.393828 Are-we-friendly question received 05:48:25.393849 Wrote request (93 bytes) input to log/6/server.input 05:48:25.393864 Identifying ourselves as friends 05:48:25.393958 Response sent (57 bytes) and written to log/6/server.response 05:48:25.393967 special request received, no persistency 05:48:25.393975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 41514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 1901 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file stderr1901 URL: http://127.0.0.1:40607/boom === End of file stderr1901 === Start of file valgrind1901 ==170245== ==170245== Process terminating with default action of signal 4 (SIGILL) ==170245== Illegal opcode at address 0x51D8933 ==170245== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==170245== by 0x51D8933: UnknownInlinedFun (request.c:40) ==170245== by 0x51D8933: Curl_open (url.c:503) ==170245== by 0x514E50F: curl_easy_init (easy.c:350) ==170245== by 0x403AD64: test_lib1901.lto_priv.0 (lib1901.c:54) ==170245== by 0x40034B5: main (first.c:279) === End of file valgrind1901 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:46741/we/want/1905 log/10/cookies1905 > log/10/stdout1905 2> log/10/stderr1905 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1912 ./libtest/libtests lib1912 - > log/5/stdout1912 2> log/5/stderr1912 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1909 ../src/curl -q --trace-ascii log/18/trace1909 --trace-time --retry 1 --retry-all-errors -o log/18/outfile1909 http://127.0.0.1:39913/1909 > log/18/stdout1909 2> log/18/stderr1909 test 1907...[CURLINFO_EFFECTIVE_URL with non-scheme URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:33593/hello/../1907 > log/24/stdout1907 2> log/24/stderr1907 1907: stdout FAILED: --- log/24/check-expected 2026-03-14 05:48:28.421282634 +0000 +++ log/24/check-generated 2026-03-14 05:48:28.421282634 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:33593/1907[LF] == Contents of files in the log/24/ directory after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:33593/1907[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:33593/hello/../1907 > log/24/stdout1907 2> log/24/stderr1907 === End of file commands.log === Start of file http_server.log 05:48:27.487087 ====> Client connect 05:48:27.487133 accept_connection 3 returned 4 05:48:27.487154 accept_connection 3 returned 0 05:48:27.487259 Read 93 bytes 05:48:27.487281 Process 93 bytes request 05:48:27.487295 Got request: GET /verifiedserver HTTP/1.1 05:48:27.487305 Are-we-friendly question received 05:48:27.487347 Wrote request (93 bytes) input to log/24/server.input 05:48:27.487364 Identifying ourselves as friends 05:48:27.487422 Response sent (56 bytes) and written to log/24/server.response 05:48:27.487432 special request received, no persistency 05:48:27.487441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 54562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1907 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stderr1907 URL: 127.0.0.1:33593/hello/../1907 === End of file stderr1907 === Start of file valgrind1907 ==170761== ==170761== Process terminating with default action of signal 4 (SIGILL) ==170761== Illegal opcode at address 0x403DC0C ==170761== at 0x403DC0C: test_lib1907.lto_priv.0 (lib1907.c:31) ==170761== by 0x40034B5: main (first.c:279) === End of file valgrind1907 test 1905...[CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:46741/we/want/1905 log/10/cookies1905 > log/10/stdout1905 2> log/10/stderr1905 1905: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1905 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:46741/we/want/1905 log/10/cookies1905 > log/10/stdout1905 2> log/10/stderr1905 === End of file commands.log === Start of file http_server.log 05:48:25.893711 ====> Client connect 05:48:25.893754 accept_connection 3 returned 4 05:48:25.893775 accept_connection 3 returned 0 05:48:25.893793 Read 93 bytes 05:48:25.893803 Process 93 bytes request 05:48:25.893816 Got request: GET /verifiedserver HTTP/1.1 05:48:25.893825 Are-we-friendly question received 05:48:25.893855 Wrote request (93 bytes) input to log/10/server.input 05:48:25.893873 Identifying ourselves as friends 05:48:25.893955 Response sent (56 bytes) and written to log/10/server.response 05:48:25.893969 special request received, no persistency 05:48:25.893977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 46324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1905 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr1905 URL: http://127.0.0.1:46741/we/want/1905 === End of file stderr1905 === Start of file valgrind1905 ==170571== ==170571== Process terminating with default action of signal 4 (SIGILL) ==170571== Illegal opcode at address 0x519F3C0 ==170571== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==170571== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==170571== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==170571== by 0x403FAA0: test_lib1905.lto_priv.0 (lib1905.c:35) ==170571== by 0x40034B5: main (first.c:279) ==170571== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==170571== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==170571== by 0x519F354: Curl_multi_handle (multi.c:235) ==170571== by 0x403FAA0: test_lib1905.lto_priv.0 (lib1905.c:35) ==170571== by 0x40034B5: main (first.c:279) ==170571== === End of file valgrind1905 test 1912...[Cross validate that gcc-typecheck macros match the option types.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1912 ./libtest/libtests lib1912 - > log/5/stdout1912 2> log/5/stderr1912 -------e-v- OK (1604 out of 1773, remaining: 00:19, took 1.535s, duration: 03:07) test 1909...[HTTP GET --retry-all-errors to overcome partial transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1909 ../src/curl -q --trace-ascii log/18/trace1909 --trace-time --retry 1 --retry-all-errors -o log/18/outfile1909 http://127.0.0.1:39913/1909 > log/18/stdout1909 2> log/18/stderr1909 1909: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1909 ../src/curl -q --trace-ascii log/18/trace1909 --trace-time --retry 1 --retry-all-errors -o log/18/outfile1909 http://127.0.0.1:39913/1909 > log/18/stdout1909 2> log/18/stderr1909 === End of file commands.log === Start of file http_server.log 05:48:26.710370 ====> Client connect 05:48:26.710410 accept_connection 3 returned 4 05:48:26.710426 accept_connection 3 returned 0 05:48:26.710440 Read 93 bytes 05:48:26.710450 Process 93 bytes request 05:48:26.710462 Got request: GET /verifiedserver HTTP/1.1 05:48:26.710470 Are-we-friendly question received 05:48:26.710492 Wrote request (93 bytes) input to log/18/server.input 05:48:26.710507 Identifying ourselves as friends 05:48:26.710571 Response sent (56 bytes) and wCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1911 ./libtest/libtests lib1911 - > log/9/stdout1911 2> log/9/stderr1911 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:35701/1910 > log/19/stdout1910 2> log/19/stderr1910 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1918 ./libtest/libtests lib1918 - > log/11/stdout1918 2> log/11/stderr1918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:41717/not-there/1913 1 > log/16/stdout1914 2> log/16/stderr1914 ritten to log/18/server.response 05:48:26.710580 special request received, no persistency 05:48:26.710588 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 48982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file server.cmd Testnum 1909 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file valgrind1909 ==170856== ==170856== Process terminating with default action of signal 4 (SIGILL) ==170856== Illegal opcode at address 0x4014883 ==170856== at 0x4014883: getparameter (tool_getparam.c:2899) ==170856== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==170856== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==170856== by 0x4004208: main (tool_main.c:189) === End of file valgrind1909 test 1911...[verify that curl_easy_setopt() rejects too long string inputs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1911 ./libtest/libtests lib1911 - > log/9/stdout1911 2> log/9/stderr1911 libtests returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/9/ directory after test 1911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1911 ./libtest/libtests lib1911 - > log/9/stdout1911 2> log/9/stderr1911 === End of file commands.log === Start of file server.cmd Testnum 1911 === End of file server.cmd === Start of file stderr1911 URL: - === End of file stderr1911 === Start of file valgrind1911 ==170947== ==170947== Process terminating with default action of signal 4 (SIGILL) ==170947== Illegal opcode at address 0x51D8933 ==170947== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==170947== by 0x51D8933: UnknownInlinedFun (request.c:40) ==170947== by 0x51D8933: Curl_open (url.c:503) ==170947== by 0x514E50F: curl_easy_init (easy.c:350) ==170947== by 0x404069F: test_lib1911.lto_priv.0 (lib1911.c:40) ==170947== by 0x40034B5: main (first.c:279) === End of file valgrind1911 test 1910...[HTTP credentials with newline and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:35701/1910 > log/19/stdout1910 2> log/19/stderr1910 1910: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:35701/1910 > log/19/stdout1910 2> log/19/stderr1910 === End of file commands.log === Start of file http_server.log 05:48:26.803713 ====> Client connect 05:48:26.803752 accept_connection 3 returned 4 05:48:26.803770 accept_connection 3 returned 0 05:48:26.803786 Read 93 bytes 05:48:26.803795 Process 93 bytes request 05:48:26.803809 Got request: GET /verifiedserver HTTP/1.1 05:48:26.803818 Are-we-friendly question received 05:48:26.803845 Wrote request (93 bytes) input to log/19/server.input 05:48:26.803861 Identifying ourselves as friends 05:48:26.803931 Response sent (56 bytes) and written to log/19/server.response 05:48:26.803941 special request received, no persistency 05:48:26.803950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 42356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1910 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr1910 URL: 127.0.0.1:35701/1910 === End of file stderr1910 === Start of file valgrind1910 ==170884== ==170884== Process terminating with default action of signal 4 (SIGILL) ==170884== Illegal opcode at address 0x51D8933 ==170884== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==170884== by 0x51D8933: UnknownInlinedFun (request.c:40) ==170884== by 0x51D8933: Curl_open (url.c:503) ==170884== by 0x514E50F: curl_easy_init (easy.c:350) ==170884== by 0x403A09A: test_lib1910.lto_priv.0 (lib1910.c:34) ==170884== by 0x40034B5: main (first.c:279) === End of file valgrind1910 test 1918...[curl_easy_option_by_name() and curl_easy_option_by_id()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1918 ./libtest/libtests lib1918 - > log/11/stdout1918 2> log/11/stderr1918 -------e-v- OK (1610 out of 1773, remaining: 00:19, took 1.712s, duration: 03:08) test 1914...[FTP with NOBODY and FILETIME set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:41717/not-there/1913 1 > log/16/stdout1914 2> log/16/stderr1914 libtests returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/16/ directory after test 1914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:41717/not-there/1913 1 > log/16/stdout1914 2> log/16/stderr1914 === End of file commands.log === Start of file ftp_server.log 05:48:27.711462 ====> Client connect 05:48:27.711649 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:27.711973 < "USER anonymous" 05:48:27.712012 > "331 We are happy you popped in![CR][LF]" 05:48:27.712189 < "PASS ftp@example.com" 05:48:27.712229 > "230 Welcome you silly person[CR][LF]" 05:48:27.712392 < "PWD" 05:48:27.712427 > "257 "/" is current directory[CR][LF]" 05:48:27.712598 < "EPSV" 05:48:27.712626 ====> Passive DATA channel requested by client 05:48:27.712641 DATA sockfilt for passive data channel starting... 05:48:27.714507 DATA sockfilt for passive data channel started (pid 171102) 05:48:27.714626 DATA sockfilt for passive data channel listens on port 32807 05:48:27.714672 > "229 Entering Passive Mode (|||32807|)[CR][LF]" 05:48:27.714695 Client has been notified that DATA conn will be accepted on port 32807 05:48:27.714931 Client connects to port 32807 05:48:27.714963 ====> Client established passive DATA connection on port 32807 05:48:27.715036 < "TYPE I" 05:48:27.715066 > "200 I modify TYPE as you wanted[CRCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:40271/not-there/1913 > log/23/stdout1913 2> log/23/stderr1913 ][LF]" 05:48:27.715235 < "SIZE verifiedserver" 05:48:27.715274 > "213 17[CR][LF]" 05:48:27.715434 < "RETR verifiedserver" 05:48:27.715471 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:27.715583 =====> Closing passive DATA connection... 05:48:27.715601 Server disconnects passive DATA connection 05:48:27.715824 Server disconnected passive DATA connection 05:48:27.715848 DATA sockfilt for passive data channel quits (pid 171102) 05:48:27.716061 DATA sockfilt for passive data channel quit (pid 171102) 05:48:27.716082 =====> Closed passive DATA connection 05:48:27.716106 > "226 File transfer complete[CR][LF]" 05:48:27.759223 < "QUIT" 05:48:27.759280 > "221 bye bye baby[CR][LF]" 05:48:27.760832 MAIN sockfilt said DISC 05:48:27.760872 ====> Client disconnected 05:48:27.760954 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:28.172775 ====> Client connect 05:48:28.173121 Received DATA (on stdin) 05:48:28.173137 > 146 bytes data, server => client 05:48:28.173149 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:28.173160 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:28.173169 '220 \___|\___/|_| \_\_____|\r\n' 05:48:28.173251 < 16 bytes data, client => server 05:48:28.173266 'USER anonymous\r\n' 05:48:28.173468 Received DATA (on stdin) 05:48:28.173480 > 33 bytes data, server => client 05:48:28.173490 '331 We are happy you popped in!\r\n' 05:48:28.173545 < 22 bytes data, client => server 05:48:28.173557 'PASS ftp@example.com\r\n' 05:48:28.173679 Received DATA (on stdin) 05:48:28.173690 > 30 bytes data, server => client 05:48:28.173701 '230 Welcome you silly person\r\n' 05:48:28.173753 < 5 bytes data, client => server 05:48:28.173765 'PWD\r\n' 05:48:28.173877 Received DATA (on stdin) 05:48:28.173889 > 30 bytes data, server => client 05:48:28.173899 '257 "/" is current directory\r\n' 05:48:28.173960 < 6 bytes data, client => server 05:48:28.173972 'EPSV\r\n' 05:48:28.176150 Received DATA (on stdin) 05:48:28.176164 > 39 bytes data, server => client 05:48:28.176175 '229 Entering Passive Mode (|||32807|)\r\n' 05:48:28.176298 < 8 bytes data, client => server 05:48:28.176313 'TYPE I\r\n' 05:48:28.176518 Received DATA (on stdin) 05:48:28.176530 > 33 bytes data, server => client 05:48:28.176541 '200 I modify TYPE as you wanted\r\n' 05:48:28.176593 < 21 bytes data, client => server 05:48:28.176605 'SIZE verifiedserver\r\n' 05:48:28.176724 Received DATA (on stdin) 05:48:28.176735 > 8 bytes data, server => client 05:48:28.176745 '213 17\r\n' 05:48:28.176796 < 21 bytes data, client => server 05:48:28.176807 'RETR verifiedserver\r\n' 05:48:28.177052 Received DATA (on stdin) 05:48:28.177063 > 29 bytes data, server => client 05:48:28.177072 '150 Binary junk (17 bytes).\r\n' 05:48:28.177554 Received DATA (on stdin) 05:48:28.177565 > 28 bytes data, server => client 05:48:28.177574 '226 File transfer complete\r\n' 05:48:28.220491 < 6 bytes data, client => server 05:48:28.220522 'QUIT\r\n' 05:48:28.220734 Received DATA (on stdin) 05:48:28.220747 > 18 bytes data, server => client 05:48:28.220757 '221 bye bye baby\r\n' 05:48:28.221954 ====> Client disconnect 05:48:28.222408 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:27.175653 Running IPv4 version 05:48:27.175711 Listening on port 32807 05:48:27.175750 Wrote pid 171102 to log/16/server/ftp_sockdata.pid 05:48:27.175897 Received PING (on stdin) 05:48:27.175985 Received PORT (on stdin) 05:48:27.176335 ====> Client connect 05:48:27.177097 Received DATA (on stdin) 05:48:27.177112 > 17 bytes data, server => client 05:48:27.177121 'WE ROOLZ: 80884\r\n' 05:48:27.177142 Received DISC (on stdin) 05:48:27.177152 ====> Client forcibly disconnected 05:48:27.177306 Received QUIT (on stdin) 05:48:27.177315 quits 05:48:27.177373 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 no such file Testnum 1914 === End of file server.cmd === Start of file stderr1914 URL: ftp://127.0.0.1:41717/not-there/1913 === End of file stderr1914 === Start of file valgrind1914 ==171105== ==171105== Process terminating with default action of signal 4 (SIGILL) ==171105== Illegal opcode at address 0x51D8933 ==171105== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171105== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171105== by 0x51D8933: Curl_open (url.c:503) ==171105== by 0x514E50F: curl_easy_init (easy.c:350) ==171105== by 0x403A1FA: test_lib1913.lto_priv.0 (lib1913.c:34) ==171105== by 0x40034B5: main (first.c:279) === End of file valgrind1914 test 1913...[FTP with NOBODY set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:40271/not-there/1913 > log/23/stdout1913 2> log/23/stderr1913 libtests returned 132, when expecting 78 1913: exit FAILED == Contents of files in the log/23/ directory after test 1913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:40271/not-there/1913 > log/23/stdout1913 2> log/23/stderr1913 === End of file commands.log === Start of file ftp_server.log 05:48:27.653912 ====> Client connect 05:48:27.654065 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:27.654332 < "USER anonymous" 05:48:27.654364 > "331 We are happy you popped in![CR][LF]" 05:48:27.654505 < "PASS ftp@example.com" 05:48:27.654528 > "230 Welcome you silly person[CR][LF]" 05:48:27.654656 < "PWD" 05:48:27.654682 > "257 "/" is current directory[CR][LF]" 05:48:27.654816 < "EPSV" 05:48:27.654838 ====> Passive DATA channel requested by client 05:48:27.654850 DATA sockfilt for passive data channel starting... 05:48:27.656666 DATA sockfilt for passive data channel started (pid 171067) 05:48:27.656805 DATA sockfilt for passive data channel listens on port 33287 05:48:27.656902 > "229 Entering Passive Mode (|||33287|)[CR][LF]" 05:48:27.656933 Client has been notified that DATA conn will be accepted on port 33287 05:48:27.668895 Client connects to port 33287 05:48:27.668980 ====> Client established passive DATA connection on port 33287 05:48:27.669131 < "TYPE I" 05:48:27.669187 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:27.669462 < "SIZE verifiedserver" 05:48:27.669510 > "213 17[CR][LF]" 05:48:27.669702 < "RETR verifiedserver" 05:48:27.669743 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:27.669849 =====> Closing passive DATA connection... 05:48:27.669873 Server disconnects passive DATA connection 05:48:27.670155 Server disconnected passive DATA connection 05:48:27.670189 DATA sockfilt for passive data channel quits (pid 171067) 05:48:27.670500 DATA sockfilt for passive data channel quit (pid 171067) 05:48:27.670532 =====> Closed passive DATA connection 05:48:27.670566 > "226 File transfer complete[CR][LF]" 05:48:27.725772 < "QUIT" 05:48:27.725838 > "221 bye bye baby[CR][LF]" 05:48:27.727139 MAIN sockfilt said DISC 05:48:27.727175 ====> Client disconnected 05:48:27.727268 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:28.115231 ====> Client connect 05:48:28.115523 Received DATA (on stdin) 05:48:28.115535 > 146 bytes data, server => client 05:48:28.115546 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:28.115555 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:28.115564 '220 \___|\___/|_| \_\_____|\r\n' 05:48:28.115632 < 16 bytes data, client => server 05:48:28.115642 'USER anonymous\r\n' 05:48:28.115813 Received DATA (on stdin) 05:48:28.115822 > 33 bytes data, server => client 05CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/22/stdout1915 2> log/22/stderr1915 :48:28.115832 '331 We are happy you popped in!\r\n' 05:48:28.115877 < 22 bytes data, client => server 05:48:28.115887 'PASS ftp@example.com\r\n' 05:48:28.115973 Received DATA (on stdin) 05:48:28.115982 > 30 bytes data, server => client 05:48:28.115992 '230 Welcome you silly person\r\n' 05:48:28.116032 < 5 bytes data, client => server 05:48:28.116041 'PWD\r\n' 05:48:28.116127 Received DATA (on stdin) 05:48:28.116136 > 30 bytes data, server => client 05:48:28.116145 '257 "/" is current directory\r\n' 05:48:28.116194 < 6 bytes data, client => server 05:48:28.116203 'EPSV\r\n' 05:48:28.118285 Received DATA (on stdin) 05:48:28.118301 > 39 bytes data, server => client 05:48:28.118398 '229 Entering Passive Mode (|||33287|)\r\n' 05:48:28.120430 < 8 bytes data, client => server 05:48:28.120449 'TYPE I\r\n' 05:48:28.130656 Received DATA (on stdin) 05:48:28.130676 > 33 bytes data, server => client 05:48:28.130688 '200 I modify TYPE as you wanted\r\n' 05:48:28.130806 < 21 bytes data, client => server 05:48:28.130823 'SIZE verifiedserver\r\n' 05:48:28.130966 Received DATA (on stdin) 05:48:28.130980 > 8 bytes data, server => client 05:48:28.130990 '213 17\r\n' 05:48:28.131051 < 21 bytes data, client => server 05:48:28.131067 'RETR verifiedserver\r\n' 05:48:28.131329 Received DATA (on stdin) 05:48:28.131342 > 29 bytes data, server => client 05:48:28.131353 '150 Binary junk (17 bytes).\r\n' 05:48:28.132022 Received DATA (on stdin) 05:48:28.132035 > 28 bytes data, server => client 05:48:28.132047 '226 File transfer complete\r\n' 05:48:28.186994 < 6 bytes data, client => server 05:48:28.187040 'QUIT\r\n' 05:48:28.187299 Received DATA (on stdin) 05:48:28.187313 > 18 bytes data, server => client 05:48:28.187323 '221 bye bye baby\r\n' 05:48:28.188534 ====> Client disconnect 05:48:28.188727 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:27.117915 Running IPv4 version 05:48:27.117985 Listening on port 33287 05:48:27.118030 Wrote pid 171067 to log/23/server/ftp_sockdata.pid 05:48:27.118050 Received PING (on stdin) 05:48:27.118145 Received PORT (on stdin) 05:48:27.127010 ====> Client connect 05:48:27.131387 Received DATA (on stdin) 05:48:27.131406 > 17 bytes data, server => client 05:48:27.131417 'WE ROOLZ: 81405\r\n' 05:48:27.131448 Received DISC (on stdin) 05:48:27.131462 ====> Client forcibly disconnected 05:48:27.131653 Received QUIT (on stdin) 05:48:27.131666 quits 05:48:27.131742 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 no such file Testnum 1913 === End of file server.cmd === Start of file stderr1913 URL: ftp://127.0.0.1:40271/not-there/1913 === End of file stderr1913 === Start of file valgrind1913 ==171106== ==171106== Process terminating with default action of signal 4 (SIGILL) ==171106== Illegal opcode at address 0x51D8933 ==171106== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171106== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171106== by 0x51D8933: Curl_open (url.c:503) ==171106== by 0x514E50F: curl_easy_init (easy.c:350) ==171106== by 0x403A1FA: test_lib1913.lto_priv.0 (lib1913.c:34) ==171106== by 0x40034B5: main (first.c:279) === End of file valgrind1913 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:38765/1943 > log/1/stdout1943 2> log/1/stderr1943 test 1915...[HSTS read/write callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/22/stdout1915 2> log/22/stderr1915 1915: stdout FAILED: --- log/22/check-expected 2026-03-14 05:48:29.721282632 +0000 +++ log/22/check-generated 2026-03-14 05:48:29.721282632 +0000 @@ -1,6 +0,0 @@ -[0/4] 1.example.com 25250320 01:02:03[LF] -[1/4] 2.example.com 25250320 03:02:01[LF] -[2/4] 3.example.com 25250319 01:02:03[LF] -[3/4] 4.example.com unlimited[LF] -First request returned 7[LF] -Second request returned 42[LF] == Contents of files in the log/22/ directory after test 1915 === Start of file check-expected [0/4] 1.example.com 25250320 01:02:03[LF] [1/4] 2.example.com 25250320 03:02:01[LF] [2/4] 3.example.com 25250319 01:02:03[LF] [3/4] 4.example.com unlimited[LF] First request returned 7[LF] Second request returned 42[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/22/stdout1915 2> log/22/stderr1915 === End of file commands.log === Start of file server.cmd Testnum 1915 === End of file server.cmd === Start of file stderr1915 URL: http://127.0.0.1:47/not-there/1915 === End of file stderr1915 === Start of file valgrind1915 ==171140== ==171140== Process terminating with default action of signal 4 (SIGILL) ==171140== Illegal opcode at address 0x51D8933 ==171140== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171140== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171140== by 0x51D8933: Curl_open (url.c:503) ==171140== by 0x514E50F: curl_easy_init (easy.c:350) ==171140== by 0x403DDCE: test_lib1915.lto_priv.0 (lib1915.c:107) ==171140== by 0x40034B5: main (first.c:279) === End of file valgrind1915 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43459/%20" > log/14/stdout1916 2> log/14/stderr1916 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:36353/1940 > log/12/stdout1940 2> log/12/stderr1940 test 1943...[curl_easy_header with trailers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:38765/1943 > log/1/stdout1943 2> log/1/stderr1943 1943: stdout FAILED: --- log/1/check-expected 2026-03-14 05:48:30.074615965 +0000 +++ log/1/check-generated 2026-03-14 05:48:30.074615965 +0000 @@ -1,3 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == fakeit/0.9 fakeitbad/1.0[LF] - Server == sent-as-trailer[LF] == Contents of files in the log/1/ directory after test 1943 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == fakeit/0.9 fakeitbad/1.0[LF] Server == sent-as-trailer[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:38765/1943 > log/1/stdout1943 2> log/1/stderr1943 === End of file commands.log === Start of file http_server.log 05:48:28.702890 ====> Client connect 05:48:28.702927 accept_connection 3 returned 4 05:48:28.702945 accept_connection 3 returned 0 05:48:28.702961 Read 93 bytes 05:48:28.702971 Process 93 bytes request 05:48:28.702985 Got request: GET /verifiedserver HTTP/1.1 05:48:28.702995 Are-we-friendly question received 05:48:28.703021 Wrote request (93 bytes) input to log/1/server.input 05:48:28.703040 Identifying ourselves as friends 05:48:28.703122 Response sent (56 bytes) and written to log/1/server.response 05:48:28.703135 special request received, no persistency 05:48:28.703144 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 1943 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr1943 URL: http://127.0.0.1:38765/1943 === End of file stderr1943 === Start of file valgrind1943 ==171571== ==171571== Process terminating with default action of signal 4 (SIGILL) ==171571== Illegal opcode at address 0x51D8933 ==171571== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171571== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171571== by 0x51D8933: Curl_open (url.c:503) ==171571== by 0x514E50F: curl_easy_init (easy.c:350) ==171571== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171571== by 0x40034B5: main (first.c:279) === End of file valgrind1943 test 1916...[MQTT PUBLISH with no POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43459/%20" > log/14/stdout1916 2> log/14/stderr1916 1916: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43459/%20" > log/14/stdout1916 2> log/14/stderr1916 === End of file commands.log === Start of file server.cmd Testnum 1916 === End of file server.cmd === Start of file stderr1916 URL: mqtt://127.0.0.1:43459/%20 === End of file stderr1916 === Start of file valgrind1916 ==171178== ==171178== Process terminating with default action of signal 4 (SIGILL) ==171178== Illegal opcode at address 0x51D8933 ==171178== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171178== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171178== by 0x51D8933: Curl_open (url.c:503) ==171178== by 0x514E50F: curl_easy_init (easy.c:350) ==171178== by 0x403E3AA: test_lib1916.lto_priv.0 (lib1916.c:36) ==171178== by 0x40034B5: main (first.c:279) === End of file valgrind1916 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:43413/1942 > log/15/stdout1942 2> log/15/stderr1942 test 1940...[curl_easy_header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:36353/1940 > log/12/stdout1940 2> log/12/stderr1940 1940: stdout FAILED: --- log/12/check-expected 2026-03-14 05:48:30.147949299 +0000 +++ log/12/check-generated 2026-03-14 05:48:30.147949299 +0000 @@ -1,12 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19400002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Fold == is folding a line[LF] - Blank == [LF] - Blank2 == [LF] - Test == word[LF] == Contents of files in the log/12/ directory after test 1940 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19400002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Fold == is folding a line[LF] Blank == [LF] Blank2 == [LF] Test == word[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:36353/1940 > log/12/stdout1940 2> log/12/stderr1940 === End of file commands.log === Start of file http_server.log 05:48:28.572560 ====> Client connect 05:48:28.572595 accept_connection 3 returned 4 05:48:28.572612 accept_connection 3 returned 0 05:48:28.572625 Read 93 bytes 05:48:28.572634 Process 93 bytes request 05:48:28.572648 Got request: GET /verifiedserver HTTP/1.1 05:48:28.572657 Are-we-friendly question received 05:48:28.572682 Wrote request (93 bytes) input to log/12/server.input 05:48:28.572698 Identifying ourselves as friends 05:48:28.572750 Response sent (56 bytes) and written to log/12/server.response 05:48:28.572758 special request received, no persistency 05:48:28.572767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 49674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 1940 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr1940 URL: http://127.0.0.1:36353/1940 === End of file stderr1940 === Start of file valgrind1940 ==171422== ==171422== Process terminating with default action of signal 4 (SIGILL) ==171422== Illegal opcode at address 0x51D8933 ==171422== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171422== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171422== by 0x51D8933: Curl_open (url.c:503) ==171422== by 0x514E50F: curl_easy_init (easy.c:350) ==171422== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171422== by 0x40034B5: main (first.c:279) === End of file valgrind1940 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41219/1944 > log/17/stdout1944 2> log/17/stderr1944 test 1942...[curl_easy_header with 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:43413/1942 > log/15/stdout1942 2> log/15/stderr1942 1942: stdout FAILED: --- log/15/check-expected 2026-03-14 05:48:30.251282632 +0000 +++ log/15/check-generated 2026-03-14 05:48:30.251282632 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19420002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == maybe different[LF] == Contents of files in the log/15/ directory after test 1942 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19420002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == maybe different[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:43413/1942 > log/15/stdout1942 2> log/15/stderr1942 === End of file commands.log === Start of file http_server.log 05:48:28.660383 ====> Client connect 05:48:28.660434 accept_connection 3 returned 4 05:48:28.660456 accept_connection 3 returned 0 05:48:28.660473 Read 93 bytes 05:48:28.660484 Process 93 bytes request 05:48:28.660499 Got request: GET /verifiedserver HTTP/1.1 05:48:28.660508 Are-we-friendly question received 05:48:28.660538 Wrote request (93 bytes) input to log/15/server.input 05:48:28.660557 Identifying ourselves as friends 05:48:28.660648 Response sent (56 bytes) and written to log/15/server.response 05:48:28.660662 special request received, no persistency 05:48:28.660670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 1942 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file stderr1942 URL: http://127.0.0.1:43413/1942 === End of file stderr1942 === Start of file valgrind1942 ==171517== ==171517== Process terminating with default action of signal 4 (SIGILL) ==171517== Illegal opcode at address 0x51D8933 ==171517== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171517== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171517== by 0x51D8933: Curl_open (url.c:503) ==171517== by 0x514E50F: curl_easy_init (easy.c:350) ==171517== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171517== by 0x40034B5: main (first.c:279) === End of file valgrind1942 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:45359/1919 > log/13/stdout1919 2> log/13/stderr1919 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:33593/1946 > log/24/stdout1946 2> log/24/stderr1946 test 1944...[curl_easy_header with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41219/1944 > log/17/stdout1944 2> log/17/stderr1944 1944: stdout FAILED: --- log/17/check-expected 2026-03-14 05:48:30.267949299 +0000 +++ log/17/check-generated 2026-03-14 05:48:30.267949299 +0000 @@ -1,6 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == the other one[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] -- Set-Cookie == 1cookie=data1; (0/2)[LF] -- Set-Cookie == 2cookie=data2; (1/2)[LF] == Contents of files in the log/17/ directory after test 1944 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == the other one[LF] Content-Type == text/html[LF] Content-Length == 0[LF] - Set-Cookie == 1cookie=data1; (0/2)[LF] - Set-Cookie == 2cookie=data2; (1/2)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41219/1944 > log/17/stdout1944 2> log/17/stderr1944 === End of file commands.log === Start of file http_server.log 05:48:28.753717 ====> Client connect 05:48:28.753756 accept_connection 3 returned 4 05:48:28.753774 accept_connection 3 returned 0 05:48:28.753790 Read 93 bytes 05:48:28.753799 Process 93 bytes request 05:48:28.753813 Got request: GET /verifiedserver HTTP/1.1 05:48:28.753822 Are-we-friendly question received 05:48:28.753849 Wrote request (93 bytes) input to log/17/server.input 05:48:28.753866 Identifying ourselves as friends 05:48:28.753931 Response sent (57 bytes) and written to log/17/server.response 05:48:28.753941 special request received, no persistency 05:48:28.753950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 36018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 1944 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file stderr1944 URL: http://127.0.0.1:41219/1944 === End of file stderr1944 === Start of file valgrind1944 ==171633== ==171633== Process terminating with default action of signal 4 (SIGILL) ==171633== Illegal opcode at address 0x51D8933 ==171633== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171633== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171633== by 0x51D8933: Curl_open (url.c:503) ==171633== by 0x514E50F: curl_easy_init (easy.c:350) ==171633== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171633== by 0x40034B5: main (first.c:279) === End of file valgrind1944 test 1919...[set CURLOPT_XOAUTH2_BEARER and do connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:45359/1919 > log/13/stdout1919 2> log/13/stderr1919 1919: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:45359/1919 > log/13/stdout1919 2> log/13/stderr1919 === End of file commands.log === Start of file http_server.log 05:48:28.521361 ====> Client connect 05:48:28.521533 accept_connection 3 returned 4 05:48:28.521550 accept_connection 3 returned 0 05:48:28.521564 Read 93 bytes 05:48:28.521574 Process 93 bytes request 05:48:28.521587 Got request: GET /verifiedserver HTTP/1.1 05:48:28.521596 Are-we-friendly question received 05:48:28.521621 Wrote request (93 bytes) input to log/13/server.input 05:48:28.521637 Identifying ourselves as friends 05:48:28.521691 Response sent (56 bytes) and written to log/13/server.response 05:48:28.521701 special request received, no persistency 05:48:28.521709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 33800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 1919 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr1919 URL: http://127.0.0.1:45359/1919 === End of file stderr1919 === Start of file valgrind1919 ==171378== ==171378== Process terminating with default action of signal 4 (SIGILL) ==171378== Illegal opcode at address 0x51D8933 ==171378== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171378== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171378== by 0x51D8933: Curl_open (url.c:503) ==171378== by 0x514E50F: curl_easy_init (easy.c:350) ==171378== by 0x403A2EC: UnknownInlinedFun (lib1919.c:33) ==171378== by 0x403A2EC: test_lib1919.lto_priv.0 (lib1919.c:26) ==171378== by 0x40034B5: main (first.c:279) === End of file valgrind1919 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1979 ./unit/units unit1979 - > log/11/stdout1979 2> log/11/stderr1979 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:46741/1947 http://127.0.0.1:46741/19470003 > log/10/stdout1947 2> log/10/stderr1947 test 1946...[curl_easy_header with redirect but get headers from first request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:33593/1946 > log/24/stdout1946 2> log/24/stderr1946 1946: stdout FAILED: --- log/24/check-expected 2026-03-14 05:48:30.444615966 +0000 +++ log/24/check-generated 2026-03-14 05:48:30.444615966 +0000 @@ -1,8 +0,0 @@ - Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19460002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] == Contents of files in the log/24/ directory after test 1946 === Start of file check-expected Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19460002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:33593/1946 > log/24/stdout1946 2> log/24/stderr1946 === End of file commands.log === Start of file http_server.log 05:48:28.993716 ====> Client connect 05:48:28.993749 accept_connection 3 returned 4 05:48:28.993765 accept_connection 3 returned 0 05:48:28.993778 Read 93 bytes 05:48:28.993788 Process 93 bytes request 05:48:28.993798 Got request: GET /verifiedserver HTTP/1.1 05:48:28.993807 Are-we-friendly question received 05:48:28.993831 Wrote request (93 bytes) input to log/24/server.input 05:48:28.993846 Identifying ourselves as friends 05:48:28.993911 Response sent (56 bytes) and written to log/24/server.response 05:48:28.993921 special request received, no persistency 05:48:28.993929 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 38562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 1946 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stderr1946 URL: http://127.0.0.1:33593/1946 === End of file stderr1946 === Start of file valgrind1946 ==171797== ==171797== Process terminating with default action of signal 4 (SIGILL) ==171797== Illegal opcode at address 0x51D8933 ==171797== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171797== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171797== by 0x51D8933: Curl_open (url.c:503) ==171797== by 0x514E50F: curl_easy_init (easy.c:350) ==171797== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171797== by 0x40034B5: main (first.c:279) === End of file valgrind1946 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 41589 --port2 39963 --nghttpx "nghttpx" --pidfile "log/2/server/http_v2_server.pid" --logfile "log/2/http_v2_server.log" --logdir "log/2" --connect 127.0.0.1:41799 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1701 SKIPPED: failed starting HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 40613 --port2 39487 --nghttpx "nghttpx" --pidfile "log/4/server/http_v2_server.pid" --logfile "log/4/http_v2_server.log" --logdir "log/4" --connect 127.0.0.1:40253 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1700 SKIPPED: failed starting HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 44859 --port2 44937 --nghttpx "nghttpx" --pidfile "log/20/server/http_v2_server.pid" --logfile "log/20/http_v2_server.log" --logdir "log/20" --connect 127.0.0.1:38929 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1702 SKIPPED: failed starting HTTP/2 server test 1979...[sigv4 canon_string unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1979 ./unit/units unit1979 - > log/11/stdout1979 2> log/11/stderr1979 -------e-v- OK (1626 out of 1773, remaining: 00:17, took 1.041s, duration: 03:09) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:42891/ log/21/cookie1920 > log/21/stdout1920 2> log/21/stderr1920 test 1947...[curl_easy_nextheader on second request after first did redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:46741/1947 http://127.0.0.1:46741/19470003 > log/10/stdout1947 2> log/10/stderr1947 1947: stdout FAILED: --- log/10/check-expected 2026-03-14 05:48:30.664615966 +0000 +++ log/10/check-generated 2026-03-14 05:48:30.664615966 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/10/ directory after test 1947 === Start of file check-expected count = 2[LF] count = 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:46741/1947 http://127.0.0.1:46741/19470003 > log/10/stdout1947 2> log/10/stderr1947 === End of file commands.log === Start of file http_server.log 05:48:27.992998 ====> Client connect 05:48:27.993040 accept_connection 3 returned 4 05:48:27.993060 accept_connection 3 returned 0 05:48:27.993076 Read 93 bytes 05:48:27.993087 Process 93 bytes request 05:48:27.993102 Got request: GET /verifiedserver HTTP/1.1 05:48:27.993112 Are-we-friendly question received 05:48:27.993142 Wrote request (93 bytes) input to log/10/server.input 05:48:27.993162 Identifying ourselves as friends 05:48:27.993231 Response sent (56 bytes) and written to log/10/server.response 05:48:27.993244 special request received, no persistency 05:48:27.993254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 56980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 1947 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr1947 URL: http://127.0.0.1:46741/1947 === End of file stderr1947 === Start of file valgrind1947 ==171792== ==171792== Process terminating with default action of signal 4 (SIGILL) ==171792== Illegal opcode at address 0x51D8933 ==171792== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171792== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171792== by 0x51D8933: Curl_open (url.c:503) ==171792== by 0x514E50F: curl_easy_init (easy.c:350) ==171792== by 0x4040EAC: UnknownInlinedFun (lib1947.c:44) ==171792== by 0x4040EAC: test_lib1947.lto_priv.0 (lib1947.c:34) ==171792== by 0x40034B5: main (first.c:279) === End of file valgrind1947 startnew: /startdir/src/curl/tests/smbserver.py --port 41145 --pidfile "log/8/server/smb_server.pid" --logfile "log/8/smb_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 startnew: child process has died, server might start up RUN: failed to start the SMB server test 1850 SKIPPED: failed starting SMB server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1945 ./libtest/libtests lib1945 http://hello:40607/1945 127.0.0.1:35323 > log/6/stdout1945 2> log/6/stderr1945 test 1920...[load cookies, perform then reset before cleanup] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:42891/ log/21/cookie1920 > log/21/stdout1920 2> log/21/stderr1920 1920: output (log/21/cookie1920) FAILED: --- log/21/check-expected 2026-03-14 05:48:30.794615966 +0000 +++ log/21/check-generated 2026-03-14 05:48:30.794615966 +0000 @@ -2,5 +2,4 @@ # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] -127.0.0.1%09FALSE%09/%09FALSE%090%09cookiename%09cookiecontent[CR][LF] example.com%09FALSE%09/%09FALSE%090%09has_js%091[CR][LF] == Contents of files in the log/21/ directory after test 1920 === Start of file check-expected # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] 127.0.0.1%09FALSE%09/%09FALSE%090%09cookiename%09cookiecontent[CR][LF] example.com%09FALSE%09/%09FALSE%090%09has_js%091[CR][LF] === End of file check-expected === Start of file check-generated # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] example.com%09FALSE%09/%09FALSE%090%09has_js%091[CR][LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:42891/ log/21/cookie1920 > log/21/stdout1920 2> log/21/stderr1920 === End of file commands.log === Start of file cookie1920 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. example.com FALSE / FALSE 0 has_js 1 === End of file cookie1920 === Start of file http_server.log 05:48:27.601597 ====> Client connect 05:48:27.601632 accept_connection 3 returned 4 05:48:27.601649 accept_connection 3 returned 0 05:48:27.601663 Read 93 bytes 05:48:27.601672 Process 93 bytes request 05:48:27.601685 Got request: GET /verifiedserver HTTP/1.1 05:48:27.601694 Are-we-friendly question received 05:48:27.601719 Wrote request (93 bytes) input to log/21/server.input 05:48:27.601735 Identifying ourselves as friends 05:48:27.601803 Response sent (56 bytes) and written to log/21/server.response 05:48:27.601816 special request received, no persistency 05:48:27.601825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 1920 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr1920 URL: http://127.0.0.1:42891/ === End of file stderr1920 === Start of file valgrind1920 ==171476== ==171476== Process terminating with default action of signal 4 (SIGILL) ==171476== Illegal opcode at address 0x51D8933 ==171476== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171476== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171476== by 0x51D8933: Curl_open (url.c:503) ==171476== by 0x514E50F: curl_easy_init (easy.c:350) ==171476== by 0x403F8C6: test_lib1920.lto_priv.0 (lib1920.c:33) ==171476== by 0x40034B5: main (first.c:279) === End of file valgrind1920 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:33625/%20" > log/7/stdout1917 2> log/7/stderr1917 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:39913/file 127.0.0.1 39913 > log/18/stdout1960 2> log/18/stderr1960 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/6/server/http2_server.pid" --logfile "log/6/http2_server.log" --logdir "log/6" --portfile log/6/server/http2_server.port --config log/6/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 171623 port 35323 * pid http-proxy => 171623 171623 test 1945...[curl_easy_nextheader with server + CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1945 ./libtest/libtests lib1945 http://hello:40607/1945 127.0.0.1:35323 > log/6/stdout1945 2> log/6/stderr1945 1945: stdout FAILED: --- log/6/check-expected 2026-03-14 05:48:30.837949298 +0000 +++ log/6/check-generated 2026-03-14 05:48:30.837949298 +0000 @@ -1,10 +0,0 @@ - Server == from the connect (0/2)[LF] - Silly-thing == yes yes (0/1)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] - Server == test with trailing space (1/2)[LF] - Content-Type == text/html (0/1)[LF] - Content-Length == 0 (0/1)[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] - Location == /19450002 (0/1)[LF] == Contents of files in the log/6/ directory after test 1945 === Start of file check-expected Server == from the connect (0/2)[LF] Silly-thing == yes yes (0/1)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] Server == test with trailing space (1/2)[LF] Content-Type == text/html (0/1)[LF] Content-Length == 0 (0/1)[LF] Set-Cookie == onecookie=data; (0/3)[LF] Set-Cookie == secondcookie=2data; (1/3)[LF] Set-Cookie == cookie3=data3; (2/3)[LF] Location == /19450002 (0/1)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1945 ./libtest/libtests lib1945 http://hello:40607/1945 127.0.0.1:35323 > log/6/stdout1945 2> log/6/stderr1945 === End of file commands.log === Start of file http2_server.log 05:48:28.844095 Run as proxy, CONNECT to host 127.0.0.1 05:48:28.844241 Running HTTP IPv4 version on port 35323 05:48:28.844293 Wrote pid 171623 to log/6/server/http2_server.pid 05:48:28.844324 Wrote port 35323 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:48:27.774749 ====> Client connect 05:48:27.774787 accept_connection 3 returned 4 05:48:27.774804 accept_connection 3 returned 0 05:48:27.774820 Read 93 bytes 05:48:27.774830 Process 93 bytes request 05:48:27.774844 Got request: GET /verifiedserver HTTP/1.1 05:48:27.774853 Are-we-friendly question received 05:48:27.774879 Wrote request (93 bytes) input to log/6/server.input 05:48:27.774897 Identifying ourselves as friends 05:48:27.774957 Response sent (57 bytes) and written to log/6/server.response 05:48:27.774968 special request received, no persistency 05:48:27.774977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 47578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 1945 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file stderr1945 URL: http://hello:40607/1945 === End of file stderr1945 === Start of file valgrind1945 ==172125== ==172125== Process terminating with default action of signal 4 (SIGILL) ==172125== Illegal opcode at address 0x51D8933 ==172125== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172125== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172125== by 0x51D8933: Curl_open (url.c:503) ==172125== by 0x514E50F: curl_easy_init (easy.c:350) ==172125== by 0x4040CAC: UnknownInlinedFun (lib1945.c:54) ==172125== by 0x4040CAC: test_lib1945.lto_priv.0 (lib1945.c:47) ==172125== by 0x40034B5: main (first.c:279) === End of file valgrind1945 startnew: ./server/servers mqttd --port 0 --pidfile log/7/server/mqtt_server.pid --portfile log/7/server/mqtt_server.port --config log/7/server.cmd --logfile log/7/mqtt_server.log --logdir log/7 RUN: MQTT server is now running PID 171160 on PORT 33625 * pid mqtt => 171160 171160 test 1917...[MQTT PUBLISH with CURLOPT_POST set (no payload)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:33625/%20" > log/7/stdout1917 2> log/7/stderr1917 1917: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:33625/%20" > log/7/stdout1917 2> log/7/stderr1917 === End of file commands.log === Start of file mqtt_server.log 05:48:27.316811 Running IPv4 version 05:48:27.316887 Listening on port 33625 05:48:27.316931 Wrote pid 171160 to log/7/server/mqtt_server.pid 05:48:27.319218 Wrote port 33625 to log/7/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file stderr1917 URL: mqtt://127.0.0.1:33625/%20 === End of file stderr1917 === Start of file valgrind1917 ==171904== ==171904== Process terminating with default action of signal 4 (SIGILL) ==171904== Illegal opcode at address 0x51D8933 ==171904== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171904== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171904== by 0x51D8933: Curl_open (url.c:503) ==171904== by 0x514E50F: curl_easy_init (easy.c:350) ==171904== by 0x403E3AA: test_lib1916.lto_priv.0 (lib1916.c:36) ==171904== by 0x40034B5: main (first.c:279) === End of file valgrind1917 prechecked ./libtest/libtests lib1960 check test 1960...[application hands over already connected socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:39913/file 127.0.0.1 39913 > log/18/stdout1960 2> log/18/stderr1960 1960: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1960 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:39913/file 127.0.0.1 39913 > log/18/stdout1960 2> log/18/stderr1960 === End of file commands.log === Start of file http_server.log 05:48:28.756079 ====> Client connect 05:48:28.756118 accept_connection 3 returned 4 05:48:28.756136 accept_connection 3 returned 0 05:48:28.756152 Read 93 bytes 05:48:28.756164 Process 93 bytes request 05:48:28.756177 Got request: GET /verifiedserver HTTP/1.1 05:48:28.756186 Are-we-friendly question received 05:48:28.756213 Wrote request (93 bytes) input to log/18/server.inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1941 ./libtest/libtests lib1940 http://hello:39591/1941 127.0.0.1:35075 > log/3/stdout1941 2> log/3/stderr1941 put 05:48:28.756230 Identifying ourselves as friends 05:48:28.756294 Response sent (56 bytes) and written to log/18/server.response 05:48:28.756307 special request received, no persistency 05:48:28.756316 ====> Client disconnect 0 05:48:30.453714 ====> Client connect 05:48:30.453741 accept_connection 3 returned 4 05:48:30.453759 accept_connection 3 returned 0 05:48:30.581221 Connection closed by client 05:48:30.581252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39913... * Established connection to 127.0.0.1 (127.0.0.1 port 39913) from 127.0.0.1 port 48384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39913 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74788 === End of file http_verify.out === Start of file precheck-1960 URL: check Test ended with result 0 === End of file precheck-1960 === Start of file server.cmd Testnum 1960 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74788 === End of file server.response === Start of file stderr1960 URL: http://127.0.0.1:39913/file === End of file stderr1960 === Start of file valgrind1960 ==172156== ==172156== Process terminating with default action of signal 4 (SIGILL) ==172156== Illegal opcode at address 0x51D8933 ==172156== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172156== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172156== by 0x51D8933: Curl_open (url.c:503) ==172156== by 0x514E50F: curl_easy_init (easy.c:350) ==172156== by 0x404123E: test_lib1960.lto_priv.0 (lib1960.c:118) ==172156== by 0x40034B5: main (first.c:279) === End of file valgrind1960 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1980 ./unit/units unit1980 - > log/16/stdout1980 2> log/16/stderr1980 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:35621/1948 > log/5/stdout1948 2> log/5/stderr1948 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:33885 > log/9/stdout1964 2> log/9/stderr1964 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/3/server/http2_server.pid" --logfile "log/3/http2_server.log" --logdir "log/3" --portfile log/3/server/http2_server.port --config log/3/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 171433 port 35075 * pid http-proxy => 171433 171433 test 1941...[curl_easy_header with CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1941 ./libtest/libtests lib1940 http://hello:39591/1941 127.0.0.1:35075 > log/3/stdout1941 2> log/3/stderr1941 1941: stdout FAILED: --- log/3/check-expected 2026-03-14 05:48:31.157949299 +0000 +++ log/3/check-generated 2026-03-14 05:48:31.157949299 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19410002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Server == from the connect[LF] - Silly-thing == yes yes[LF] == Contents of files in the log/3/ directory after test 1941 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19410002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Server == from the connect[LF] Silly-thing == yes yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1941 ./libtest/libtests lib1940 http://hello:39591/1941 127.0.0.1:35075 > log/3/stdout1941 2> log/3/stderr1941 === End of file commands.log === Start of file http2_server.log 05:48:28.634087 Run as proxy, CONNECT to host 127.0.0.1 05:48:28.634201 Running HTTP IPv4 version on port 35075 05:48:28.634252 Wrote pid 171433 to log/3/server/http2_server.pid 05:48:28.637001 Wrote port 35075 to log/3/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:48:28.596184 ====> Client connect 05:48:28.596215 accept_connection 3 returned 4 05:48:28.596229 accept_connection 3 returned 0 05:48:28.596242 Read 93 bytes 05:48:28.596250 Process 93 bytes request 05:48:28.596263 Got request: GET /verifiedserver HTTP/1.1 05:48:28.596270 Are-we-friendly question received 05:48:28.596291 Wrote request (93 bytes) input to log/3/server.input 05:48:28.596305 Identifying ourselves as friends 05:48:28.596354 Response sent (56 bytes) and written to log/3/server.response 05:48:28.596362 special request received, no persistency 05:48:28.596370 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 52358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 1941 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file stderr1941 URL: http://hello:39591/1941 === End of file stderr1941 === Start of file valgrind1941 ==171996== ==171996== Process terminating with default action of signal 4 (SIGILL) ==171996== Illegal opcode at address 0x51D8933 ==171996== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171996== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171996== by 0x51D8933: Curl_open (url.c:503) ==171996== by 0x514E50F: curl_easy_init (easy.c:350) ==171996== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:93) ==171996== by 0x40034B5: main (first.c:279) === End of file valgrind1941 test 1980...[sigv4 canon_query unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1980 ./unit/units unit1980 - > log/16/stdout1980 2> log/16/stderr1980 -------e-v- OK (1627 out of 1773, remaining: 00:17, took 1.533s, duration: 03:10) test 1948...[CURLOPT_POST after CURLOPT_UPLOAD reusing handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:35621/1948 > log/5/stdout1948 2> log/5/stderr1948 1948: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:35621/1948 > log/5/stdout1948 2> log/5/stderr1948 === End of file commands.log === Start of file http_server.log 05:48:29.536374 ====> Client connect 05:48:29.536422 accept_connection 3 returned 4 05:48:29.536441 accept_connection 3 returned 0 05:48:29.536458 Read 93 bytes 05:48:29.536468 Process 93 bytes request 05:48:29.536482 Got request: GET /verifiedserver HTTP/1.1 05:48:29.536491 Are-we-friendly question received 05:48:29.536521 Wrote request (93 bytes) input to log/5/server.input 05:48:29.536540 Identifying ourselves as friends 05:48:29.536605 Response sent (56 bytes) and written to log/5/server.response 05:48:29.536618 special request received, no persistency 05:48:29.536627 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 52082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 1948 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file stderr1948 URL: http://127.0.0.1:35621/1948 === End of file stderr1948 === Start of file valgrind1948 ==171977== ==171977== Process terminating with default action of signal 4 (SIGILL) ==171977== Illegal opcode at address 0x51D8933 ==171977== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==171977== by 0x51D8933: UnknownInlinedFun (request.c:40) ==171977== by 0x51D8933: Curl_open (url.c:503) ==171977== by 0x514E50F: curl_easy_init (easy.c:350) ==171977== by 0x403EE31: test_lib1948.lto_priv.0 (lib1948.c:51) ==171977== by 0x40034B5: main (first.c:279) === End of file valgrind1948 test 1964...[HTTP AWS_SIGV4 with X-Xxx-Date header set manually] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:33885 > log/9/stdout1964 2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:35701/1977 > log/19/stdout1977 2> log/19/stderr1977 > log/9/stderr1964 1964: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1964 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:33885 > log/9/stdout1964 2> log/9/stderr1964 === End of file commands.log === Start of file http_server.log 05:48:28.778330 ====> Client connect 05:48:28.778378 accept_connection 3 returned 4 05:48:28.778401 accept_connection 3 returned 0 05:48:28.778419 Read 93 bytes 05:48:28.778430 Process 93 bytes request 05:48:28.778445 Got request: GET /verifiedserver HTTP/1.1 05:48:28.778454 Are-we-friendly question received 05:48:28.778481 Wrote request (93 bytes) input to log/9/server.input 05:48:28.778499 Identifying ourselves as friends 05:48:28.778583 Response sent (56 bytes) and written to log/9/server.response 05:48:28.778596 special request received, no persistency 05:48:28.778605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 54134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 1964 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file stderr1964 URL: http://xxx:yyy@127.0.0.1:9000/1964/testapi/test === End of file stderr1964 === Start of file valgrind1964 ==172108== ==172108== Process terminating with default action of signal 4 (SIGILL) ==172108== Illegal opcode at address 0x51D8933 ==172108== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172108== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172108== by 0x51D8933: Curl_open (url.c:503) ==172108== by 0x514E50F: curl_easy_init (easy.c:350) ==172108== by 0x403C5EC: UnknownInlinedFun (lib1964.c:34) ==172108== by 0x403C5EC: test_lib1964.lto_priv.0 (lib1964.c:26) ==172108== by 0x40034B5: main (first.c:279) === End of file valgrind1964 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:41219/2023 basic basic > log/17/stdout2023 2> log/17/stderr2023 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2000 ../src/curl -q --trace-ascii log/23/trace2000 --trace-time ftp://127.0.0.1:40271/2000 file://localhost/startdir/src/build-curl/tests/log/23/test2000.txt > log/23/stdout2000 2> log/23/stderr2000 test 1977...[CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:35701/1977 > log/19/stdout1977 2> log/19/stderr1977 1977: stdout FAILED: --- log/19/check-expected 2026-03-14 05:48:32.054615965 +0000 +++ log/19/check-generated 2026-03-14 05:48:32.054615965 +0000 @@ -1,3 +0,0 @@ -effective URL: http://127.0.0.1:35701/1977[LF] -effective URL: http://127.0.0.1:35701/1977?foo[LF] -effective URL: http://127.0.0.1:35701/1977?foo&bar[LF] == Contents of files in the log/19/ directory after test 1977 === Start of file check-expected effective URL: http://127.0.0.1:35701/1977[LF] effective URL: http://127.0.0.1:35701/1977?foo[LF] effective URL: http://127.0.0.1:35701/1977?foo&bar[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:35701/1977 > log/19/stdout1977 2> log/19/stderr1977 === End of file commands.log === Start of file http_server.log 05:48:29.022273 ====> Client connect 05:48:29.022309 accept_connection 3 returned 4 05:48:29.022327 accept_connection 3 returned 0 05:48:29.022342 Read 93 bytes 05:48:29.022351 Process 93 bytes request 05:48:29.022366 Got request: GET /verifiedserver HTTP/1.1 05:48:29.022375 Are-we-friendly question received 05:48:29.022415 Wrote request (93 bytes) input to log/19/server.input 05:48:29.022435 Identifying ourselves as friends 05:48:29.022529 Response sent (56 bytes) and written to log/19/server.response 05:48:29.022541 special request received, no persistency 05:48:29.022551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 58188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 1977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr1977 URL: http://127.0.0.1:35701/1977 === End of file stderr1977 === Start of file valgrind1977 ==172295== ==172295== Process terminating with default action of signal 4 (SIGILL) ==172295== Illegal opcode at address 0x51D8933 ==172295== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172295== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172295== by 0x51D8933: Curl_open (url.c:503) ==172295== by 0x514E50F: curl_easy_init (easy.c:350) ==172295== by 0x403E4D7: test_lib1977.lto_priv.0 (lib1977.c:35) ==172295== by 0x40034B5: main (first.c:279) ==172295== 88 bytes in 1 blocks are definitely lost in loss record 638 of 789 ==172295== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172295== by 0x403E4AA: test_lib1977.lto_priv.0 (lib1977.c:29) ==172295== by 0x40034B5: main (first.c:279) ==172295== ==172295== 88 bytes in 1 blocks are definitely lost in loss record 639 of 789 ==172295== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==172295== by 0x403E4B3: test_lib1977.lto_priv.0 (lib1977.c:30) ==172295== by 0x40034B5: main (first.c:279) ==172295== === End of file valgrind1977 test 2023...[HTTP authorization retry (Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:41219/2023 basic basic > log/17/stdout2023 2> log/17/stderr2023 2023: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 2023 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:41219/2023 basic basic > log/17/stdout2023 2> log/17/stderr2023 === End of file commands.log === Start of file http_server.log 05:48:30.840396 ====> Client connect 05:48:30.840442 accept_connection 3 returned 4 05:48:30.840462 accept_connection 3 returned 0 05:48:30.840480 Read 93 bytes 05:48:30.840489 Process 93 bytes request 05:48:30.840502 Got request: GET /verifiedserver HTTP/1.1 05:48:30.840510 Are-we-friendly question received 05:48:30.840534 Wrote request (93 bytes) input to log/17/server.input 05:48:30.840550 Identifying ourselves as friends 05:48:30.840635 Response sent (57 bytes) and written to log/17/server.response 05:48:30.840644 special request received, no persistency 05:48:30.840652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 36028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 2023 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file stderr2023 URL: http://127.0.0.1:41219/2023 === End of file stderr2023 === Start of file valgrind2023 ==172771== ==172771== Process terminating with default action of signal 4 (SIGILL) ==172771== Illegal opcode at address 0x51D8933 ==172771== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172771== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172771== by 0x51D8933: Curl_open (url.c:503) ==172771== by 0x514E50F: curl_easy_init (easy.c:350) ==172771== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172771== by 0x40034B5: main (first.c:279) === End of file valgrind2023 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:40253/2027 digest digest > log/4/stdout2027 2> log/4/stderr2027 test 2000...[FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2000 ../src/curl -q --trace-ascii log/23/trace2000 --trace-time ftp://127.0.0.1:40271/2000 file://localhost/startdir/src/build-curl/tests/log/23/test2000.txt > log/23/stdout2000 2> log/23/stderr2000 2000: stdout FAILED: --- log/23/check-expected 2026-03-14 05:48:32.214615965 +0000 +++ log/23/check-generated 2026-03-14 05:48:32.214615965 +0000 @@ -1,11 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/23/ directory after test 2000 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2000 ../src/curl -q --trace-ascii log/23/trace2000 --trace-time ftp://127.0.0.1:40271/2000 file://localhost/startdir/src/build-curl/tests/log/23/test2000.txt > log/23/stdout2000 2> log/23/stderr2000 === End of file commands.log === Start of file ftp_server.log 05:48:29.753080 ====> Client connect 05:48:29.753258 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:29.753844 < "USER anonymous" 05:48:29.753887 > "331 We are happy you popped in![CR][LF]" 05:48:29.754079 < "PASS ftp@example.com" 05:48:29.754112 > "230 Welcome you silly person[CR][LF]" 05:48:29.754301 < "PWD" 05:48:29.754339 > "257 "/" is current directory[CR][LF]" 05:48:29.754525 < "EPSV" 05:48:29.754555 ====> Passive DATA channel requested by client 05:48:29.754574 DATA sockfilt for passive data channel starting... 05:48:29.760066 DATA sockfilt for passive data channel started (pid 172417) 05:48:29.760217 DATA sockfilt for passive data channel listens on port 46253 05:48:29.760278 > "229 Entering Passive Mode (|||46253|)[CR][LF]" 05:48:29.760305 Client has been notified that DATA conn will be accepted on port 46253 05:48:29.760597 Client connects to port 46253 05:48:29.760634 ====> Client established passive DATA connection on port 46253 05:48:29.760788 < "TYPE I" 05:48:29.760828 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:29.761028 < "SIZE verifiedserver" 05:48:29.761077 > "213 17[CR][LF]" 05:48:29.761257 < "RETR verifiedserver" 05:48:29.761302 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:29.761401 =====> Closing passive DATA connection... 05:48:29.761425 Server disconnects passive DATA connection 05:48:29.761683 Server disconnected passive DATA connection 05:48:29.761718 DATA sockfilt for passive data channel quits (pid 172417) 05:48:29.761992 DATA sockfilt for passive data channel quit (pid 172417) 05:48:29.762024 =====> Closed passive DATA connection 05:48:29.762060 > "226 File transfer complete[CR][LF]" 05:48:29.812475 < "QUIT" 05:48:29.812552 > "221 bye bye baby[CR][LF]" 05:48:29.814273 MAIN sockfilt said DISC 05:48:29.814313 ====> Client disconnected 05:48:29.814411 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:30.214375 ====> Client connect 05:48:30.214954 Received DATA (on stdin) 05:48:30.214977 > 146 bytes data, server => client 05:48:30.214990 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:30.215001 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:30.215015 '220 \___|\___/|_| \_\_____|\r\n' 05:48:30.215132 < 16 bytes data, client => server 05:48:30.215147 'USER anonymous\r\n' 05:48:30.215345 Received DATA (on stdin) 05:48:30.215358 > 33 bytes data, server => client 05:48:30.215368 '331 We are happy you popped in!\r\n' 05:48:30.215425 < 22 bytes data, client => server 05:48:30.215439 'PASS ftp@example.com\r\n' 05:48:30.215566 Received DATA (on stdin) 05:48:30.215579 > 30 bytes data, server => client 05:48:30.215590 '230 Welcome you silly person\r\n' 05:48:30.215647 < 5 bytes data, client => server 05:48:30.215663 'PWD\r\n' 05:48:30.215796 Received DATA (on stdin) 05:48:30.215810 > 30 bytes data, server => client 05:48:30.215820 '257 "/" is current directory\r\n' 05:48:30.215884 < 6 bytes data, client => server 05:48:30.215894 'EPSV\r\n' 05:48:30.221771 Received DATA (on stdin) 05:48:30.221791 > 39 bytes data, server => client 05:48:30.221803 '229 Entering Passive Mode (|||46253|)\r\n' 05:48:30.222110 < 8 bytes data, client => server 05:48:30.222125 'TYPE I\r\n' 05:48:30.222287 Received DATA (on stdin) 05:48:30.222302 > 33 bytes data, server => client 05:48:30.222314 '200 I modify TYPE as you wanted\r\n' 05:48:30.222374 < 21 bytes data, client => server 05:48:30.222391 'SIZE verifiedserver\r\n' 05:48:30.222537 Received DATA (on stdin) 05:48:30.222551 > 8 bytes data, server => client 05:48:30.222561 '213 17\r\n' 05:48:30.222613 < 21 bytes data, client => server 05:48:30.222625 'RETR verifiedserver\r\n' 05:48:30.222881 Received DATA (on stdin) 05:48:30.222895 > 29 bytes data, server => client 05:48:30.222905 '150 Binary junk (17 bytes).\r\n' 05:48:30.223519 Received DATA (on stdin) 05:48:30.223534 > 28 bytes data, server => client 05:48:30.223545 '226 File transfer complete\r\n' 05:48:30.273677 < 6 bytes data, client => server 05:48:30.273724 'QUIT\r\n' 05:48:30.274017 Received DATA (on stdin) 05:48:30.274033 > 18 bytes data, server => client 05:48:30.274044 '221 bye bye baby\r\n' 05:48:30.275664 ====> Client disconnect 05:48:30.275875 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:29.221138 Running IPv4 version 05:48:29.221226 Listening on port 46253 05:48:29.221266 Wrote pid 172417 to log/23/server/ftp_sockdata.pid 05:48:29.221444 Received PING (on stdin) 05:48:29.221558 Received PORT (on stdin) 05:48:29.221991 ====> Client connect 05:48:29.222935 Received DATA (on stdin) 05:48:29.222949 > 17 bytes data, server => client 05:48:29.222959 'WE ROOLZ: 81405\r\n' 05:48:29.222986 Received DISC (on stdin) 05:48:29.223000 ====> Client forcibly disconnected 05:48:29.223181 Received QUIT (on stdin) 05:48:29.223195 quits 05:48:29.223260 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2000 === End of file server.cmd === Start of file test2000.txt foo bar bar foo moo === End of file test2000.txt === Start of file valgrind2000 ==172454== ==172454== Process terminating with default action of signal 4 (SIGILL) ==172454== Illegal opcode at address 0x4014883 ==172454== at 0x4014883: getparameter (tool_getparam.c:2899) ==172454== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==172454== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==172454== by 0x4004208: main (tool_main.c:189) === End of file valgrind2000 test 2027...[HTTP authorization retry (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:40253/2027 digest digest > log/4/stdout2027 2> log/4/stderr2027 2027: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 2027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:40253/2027 digest digest > log/4/stdout2027 2> log/4/stderr2027 === End of file commands.log === Start of file http_server.log 05:48:30.026825 ====> ClieCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2005 ../src/curl -q --output log/12/curl2005.out --include --trace-ascii log/12/trace2005 --trace-time --netrc-optional --netrc-file log/12/netrc2005 http://127.0.0.1:36353/ > log/12/stdout2005 2> log/12/stderr2005 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2006 ../src/curl -q --output log/15/curl2006.out --include --trace-ascii log/15/trace2006 --trace-time --netrc --netrc-file log/15/netrc2006 --oauth2-bearer SECRET_TOKEN -L -x http://127.0.0.1:43413/ http://a.com/ > log/15/stdout2006 2> log/15/stderr2006 nt connect 05:48:30.026856 accept_connection 3 returned 4 05:48:30.026873 accept_connection 3 returned 0 05:48:30.026887 Read 93 bytes 05:48:30.026895 Process 93 bytes request 05:48:30.026906 Got request: GET /verifiedserver HTTP/1.1 05:48:30.026916 Are-we-friendly question received 05:48:30.026939 Wrote request (93 bytes) input to log/4/server.input 05:48:30.026974 Identifying ourselves as friends 05:48:30.027031 Response sent (56 bytes) and written to log/4/server.response 05:48:30.027040 special request received, no persistency 05:48:30.027048 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 2027 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr2027 URL: http://127.0.0.1:40253/2027 === End of file stderr2027 === Start of file valgrind2027 ==173000== ==173000== Process terminating with default action of signal 4 (SIGILL) ==173000== Illegal opcode at address 0x51D8933 ==173000== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==173000== by 0x51D8933: UnknownInlinedFun (request.c:40) ==173000== by 0x51D8933: Curl_open (url.c:503) ==173000== by 0x514E50F: curl_easy_init (easy.c:350) ==173000== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==173000== by 0x40034B5: main (first.c:279) === End of file valgrind2027 test 2005...[netrc match with password only in file, no username. machine follows] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2005 ../src/curl -q --output log/12/curl2005.out --include --trace-ascii log/12/trace2005 --trace-time --netrc-optional --netrc-file log/12/netrc2005 http://127.0.0.1:36353/ > log/12/stdout2005 2> log/12/stderr2005 2005: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 2005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2005 ../src/curl -q --output log/12/curl2005.out --include --trace-ascii log/12/trace2005 --trace-time --netrc-optional --netrc-file log/12/netrc2005 http://127.0.0.1:36353/ > log/12/stdout2005 2> log/12/stderr2005 === End of file commands.log === Start of file http_server.log 05:48:30.770133 ====> Client connect 05:48:30.770166 accept_connection 3 returned 4 05:48:30.770182 accept_connection 3 returned 0 05:48:30.770197 Read 93 bytes 05:48:30.770207 Process 93 bytes request 05:48:30.770221 Got request: GET /verifiedserver HTTP/1.1 05:48:30.770230 Are-we-friendly question received 05:48:30.770255 Wrote request (93 bytes) input to log/12/server.input 05:48:30.770272 Identifying ourselves as friends 05:48:30.770361 Response sent (56 bytes) and written to log/12/server.response 05:48:30.770372 special request received, no persistency 05:48:30.770382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 49682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file netrc2005 machine 127.0.0.1 password 5up3r53cr37 machine example.com === End of file netrc2005 === Start of file server.cmd Testnum 2005 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind2005 ==172700== ==172700== Process terminating with default action of signal 4 (SIGILL) ==172700== Illegal opcode at address 0x4014883 ==172700== at 0x4014883: getparameter (tool_getparam.c:2899) ==172700== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==172700== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==172700== by 0x4004208: main (tool_main.c:189) === End of file valgrind2005 test 2006...[.netrc default with redirect plus oauth2-bearer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2006 ../src/curl -q --output log/15/curl2006.out --include --trace-ascii log/15/trace2006 --trace-time --netrc --netrc-file log/15/netrc2006 --oauth2-bearer SECRET_TOKEN -L -x http://127.0.0.1:43413/ http://a.com/ > log/15/stdout2006 2> log/15/stderr2006 2006: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2006 ../src/curl -q --output log/15/curl2006.out --include --trace-ascii log/15/trace2006 --trace-time --netrc --netrc-file log/15/netrc2006 --oauth2-bearer SECRET_TOKEN -L -x http://127.0.0.1:43413/ http://a.com/ > log/15/stdout2006 2> log/15/stderr2006 === End of file commands.log === Start of file http_server.log 05:48:30.817802 ====> Client connect 05:48:30.817837 accept_connection 3 returned 4 05:48:30.817852 accept_connection 3 returned 0 05:48:30.817865 Read 93 bytes 05:48:30.817874 Process 93 bytes request 05:48:30.817886 Got request: GET /verifiedserver HTTP/1.1 05:48:30.817895 Are-we-friendly question received 05:48:30.817920 Wrote request (93 bytes) input to log/15/server.input 05:48:30.817935 Identifying ourselves as friends 05:48:30.817987 Response sent (56 bytes) and written to log/15/server.response 05:48:30.817996 special request received, no persistency 05:48:30.818005 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file netrc2006 default login testuser password testpass === End of file netrc2006 === Start of file server.cmd Testnum 2006 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind2006 ==172764== ==172764== Process terminating with default action of signal 4 (SIGILL) ==172764== Illegal opcode at address 0x4014883 ==172764== at 0x4014883: getparameter (tool_getparam.c:2899) ==172764== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==172764== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45359/2024 basic digest > log/13/stdout2024 2> log/13/stderr2024 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2001 ../src/curl -q --trace-ascii log/22/trace2001 --trace-time http://127.0.0.1:41477/20010001 ftp://127.0.0.1:41347/20010002 file://localhost/startdir/src/build-curl/tests/log/22/test2001.txt > log/22/stdout2001 2> log/22/stderr2001 172764== by 0x4004208: main (tool_main.c:189) === End of file valgrind2006 test 2024...[HTTP authorization retry (Basic switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45359/2024 basic digest > log/13/stdout2024 2> log/13/stderr2024 2024: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 2024 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45359/2024 basic digest > log/13/stdout2024 2> log/13/stderr2024 === End of file commands.log === Start of file http_server.log 05:48:30.868894 ====> Client connect 05:48:30.868925 accept_connection 3 returned 4 05:48:30.868940 accept_connection 3 returned 0 05:48:30.868955 Read 93 bytes 05:48:30.868965 Process 93 bytes request 05:48:30.868977 Got request: GET /verifiedserver HTTP/1.1 05:48:30.868986 Are-we-friendly question received 05:48:30.869009 Wrote request (93 bytes) input to log/13/server.input 05:48:30.869024 Identifying ourselves as friends 05:48:30.869083 Response sent (56 bytes) and written to log/13/server.response 05:48:30.869093 special request received, no persistency 05:48:30.869102 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 33808 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 2024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr2024 URL: http://127.0.0.1:45359/2024 === End of file stderr2024 === Start of file valgrind2024 ==172829== ==172829== Process terminating with default action of signal 4 (SIGILL) ==172829== Illegal opcode at address 0x51D8933 ==172829== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172829== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172829== by 0x51D8933: Curl_open (url.c:503) ==172829== by 0x514E50F: curl_easy_init (easy.c:350) ==172829== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172829== by 0x40034B5: main (first.c:279) === End of file valgrind2024 test 2001...[HTTP GET followed by FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2001 ../src/curl -q --trace-ascii log/22/trace2001 --trace-time http://127.0.0.1:41477/20010001 ftp://127.0.0.1:41347/20010002 file://localhost/startdir/src/build-curl/tests/log/22/test2001.txt > log/22/stdout2001 2> log/22/stderr2001 2001: stdout FAILED: --- log/22/check-expected 2026-03-14 05:48:32.654615964 +0000 +++ log/22/check-generated 2026-03-14 05:48:32.654615964 +0000 @@ -1,12 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/22/ directory after test 2001 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2001 ../src/curl -q --trace-ascii log/22/trace2001 --trace-time http://127.0.0.1:41477/20010001 ftp://127.0.0.1:41347/20010002 file://localhost/startdir/src/build-curl/tests/log/22/test2001.txt > log/22/stdout2001 2> log/22/stderr2001 === End of file commands.log === Start of file ftp_server.log 05:48:29.938897 ====> Client connect 05:48:29.939140 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:29.939530 < "USER anonymous" 05:48:29.939571 > "331 We are happy you popped in![CR][LF]" 05:48:29.939761 < "PASS ftp@example.com" 05:48:29.939794 > "230 Welcome you silly person[CR][LF]" 05:48:29.939971 < "PWD" 05:48:29.940003 > "257 "/" is current directory[CR][LF]" 05:48:29.940188 < "EPSV" 05:48:29.940217 ====> Passive DATA channel requested by client 05:48:29.940233 DATA sockfilt for passive data channel starting... 05:48:29.943797 DATA sockfilt for passive data channel started (pid 172489) 05:48:29.946981 DATA sockfilt for passive data channel listens on port 42861 05:48:29.947051 > "229 Entering Passive Mode (|||42861|)[CR][LF]" 05:48:29.947078 Client has been notified that DATA conn will be accepted on port 42861 05:48:29.952226 Client connects to port 42861 05:48:29.952292 ====> Client established passive DATA connection on port 42861 05:48:29.952399 < "TYPE I" 05:48:29.952439 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:29.952649 < "SIZE verifiedserver" 05:48:29.952685 > "213 17[CR][LF]" 05:48:29.952813 < "RETR verifiedserver" 05:48:29.952844 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:29.952933 =====> Closing passive DATA connection... 05:48:29.952948 Server disconnects passive DATA connection 05:48:29.968901 Server disconnected passive DATA connection 05:48:29.968987 DATA sockfilt for passive data channel quits (pid 172489) 05:48:29.978903 DATA sockfilt for passive data channel quit (pid 172489) 05:48:29.978991 =====> Closed passive DATA connection 05:48:29.979043 > "226 File transfer complete[CR][LF]" 05:48:29.997066 < "QUIT" 05:48:29.997129 > "221 bye bye baby[CR][LF]" 05:48:30.002224 MAIN sockfilt said DISC 05:48:30.002300 ====> Client disconnected 05:48:30.002388 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:29.390328 ====> Client connect 05:48:29.400620 Received DATA (on stdin) 05:48:29.400648 > 146 bytes data, server => client 05:48:29.400661 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:29.400673 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:29.400682 '220 \___|\___/|_| \_\_____|\r\n' 05:48:29.400825 < 16 bytes data, client => server 05:48:29.400843 'USER anonymous\r\n' 05:48:29.401028 Received DATA (on stdin) 05:48:29.401042 > 33 bytes data, server => client 05:48:29.401053 '331 We are happy you popped in!\r\n' 05:48:29.401110 < 22 bytes data, client => server 05:48:29.401125 'PASS ftp@example.com\r\n' 05:48:29.401250 Received DATA (on stdin) 05:48:29.401264 > 30 bytes data, server => client 05:48:29.401275 '230 Welcome you silly person\r\n' 05:48:29.401330 < 5 bytes data, client => server 05:48:29.401341 'PWD\r\n' 05:48:29.401451 Received DATA (on stdin) 05:48:29.401461 > 30 bytes data, server => client 05:48:29.401472 '257 "/" is current directory\r\n' 05:48:29.401539 < 6 bytes data, client => server 05:48:29.401554 'EPSV\r\n' 05:48:29.408483 Received DATA (on stdin) 05:48:29.408524 > 39 bytes data, server => client 05:48:29.408538 '229 Entering Passive Mode (|||42861|)\r\n' 05:48:29.408753 < 8 bytes data, client => server 05:48:29.408772 'TYPE I\r\n' 05:48:29.413894 Received DATA (on stdin) 05:48:29.413913 > 33 bytes data, server => client 05:48:29.413923 '200 I modify TYPE as you wanted\r\n' 05:48:29.414021 < 21 bytes data, client => server 05:48:29.414030 'SIZE verifiedserver\r\n' 05:48:29.414130 Received DATA (on stdin) 05:48:29.414140 > 8 bytes data, server => client 05:48:29.414148 '213 17\r\n' 05:48:29.414190 < 21 bytes data, client => server 05:48:29.414199 'RETR verifiedserver\r\n' 05:48:29.414394 Received DATA (on stdin) 05:48:29.414404 > 29 bytes data, server => client 05:48:29.414413 '150 Binary junk (17 bytes).\r\n' 05:48:29.440516 Received DATA (on stdin) 05:48:29.440540 > 28 bytes data, server => client 05:48:29.440552 '226 File transfer complete\r\n' 05:48:29.458307 < 6 bytes data, client => server 05:48:29.458343 'QUIT\r\n' 05:48:29.458585 Received DATA (on stdin) 05:48:29.458598 > 18 bytes data, server => client 05:48:29.458609 '221 bye bye baby\r\n' 05:48:29.459700 ====> Client disconnect 05:48:29.464102 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:29.404878 Running IPv4 version 05:48:29.404971 Listening on port 42861 05:48:29.405013 Wrote pid 172489 to log/22/server/ftp_sockdata.pid 05:48:29.405182 Received PING (on stdin) 05:48:29.408296 Received PORT (on stdin) 05:48:29.410316 ====> Client connect 05:48:29.420319 Received DATA (on stdin) 05:48:29.420351 > 17 bytes data, server => client 05:48:29.420362 'WE ROOLZ: 81140\r\n' 05:48:29.420402 Received DISC (on stdin) 05:48:29.420414 ====> Client forcibly disconnected 05:48:29.433639 Received QUIT (on stdin) 05:48:29.433669 quits 05:48:29.433754 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:48:30.279320 ====> Client connect 05:48:30.279353 accept_connection 3 returned 4 05:48:30.279368 accept_connection 3 returned 0 05:48:30.279382 Read 93 bytes 05:48:30.279392 Process 93 bytes request 05:48:30.279405 Got request: GET /verifiedserver HTTP/1.1 05:48:30.279414 Are-we-friendly question received 05:48:30.279437 Wrote request (93 bytes) input to log/22/server.input 05:48:30.279453 Identifying ourselves as friends 05:48:30.279504 Response sent (56 bytes) and written to log/22/server.response 05:48:30.279513 special request received, no persistency 05:48:30.279521 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 47082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 2001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file test2001.txt foo CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:38929/2028 digest ntlm > log/20/stdout2028 2> log/20/stderr2028 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2039 ../src/curl -q --output log/6/curl2039.out --include --trace-ascii log/6/trace2039 --trace-time --netrc-optional --netrc-file log/6/netrc2039 ftp://127.0.0.1:36813/ > log/6/stdout2039 2> log/6/stderr2039 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:41799/2026 digest basic > log/2/stdout2026 2> log/2/stderr2026 bar bar foo moo === End of file test2001.txt === Start of file valgrind2001 ==172520== ==172520== Process terminating with default action of signal 4 (SIGILL) ==172520== Illegal opcode at address 0x4014883 ==172520== at 0x4014883: getparameter (tool_getparam.c:2899) ==172520== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==172520== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==172520== by 0x4004208: main (tool_main.c:189) === End of file valgrind2001 test 2028...[HTTP authorization retry (Digest switching to NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:38929/2028 digest ntlm > log/20/stdout2028 2> log/20/stderr2028 2028: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 2028 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:38929/2028 digest ntlm > log/20/stdout2028 2> log/20/stderr2028 === End of file commands.log === Start of file http_server.log 05:48:30.059642 ====> Client connect 05:48:30.059673 accept_connection 3 returned 4 05:48:30.059690 accept_connection 3 returned 0 05:48:30.059704 Read 93 bytes 05:48:30.059714 Process 93 bytes request 05:48:30.059728 Got request: GET /verifiedserver HTTP/1.1 05:48:30.059737 Are-we-friendly question received 05:48:30.059760 Wrote request (93 bytes) input to log/20/server.input 05:48:30.059777 Identifying ourselves as friends 05:48:30.059832 Response sent (56 bytes) and written to log/20/server.response 05:48:30.059842 special request received, no persistency 05:48:30.059851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37354 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 2028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file stderr2028 URL: http://127.0.0.1:38929/2028 === End of file stderr2028 === Start of file valgrind2028 ==173030== ==173030== Process terminating with default action of signal 4 (SIGILL) ==173030== Illegal opcode at address 0x51D8933 ==173030== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==173030== by 0x51D8933: UnknownInlinedFun (request.c:40) ==173030== by 0x51D8933: Curl_open (url.c:503) ==173030== by 0x514E50F: curl_easy_init (easy.c:350) ==173030== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==173030== by 0x40034B5: main (first.c:279) === End of file valgrind2028 test 2039...[FTP (optional .netrc with 'default' override; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2039 ../src/curl -q --output log/6/curl2039.out --include --trace-ascii log/6/trace2039 --trace-time --netrc-optional --netrc-file log/6/netrc2039 ftp://127.0.0.1:36813/ > log/6/stdout2039 2> log/6/stderr2039 2039: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 2039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2039 ../src/curl -q --output log/6/curl2039.out --include --trace-ascii log/6/trace2039 --trace-time --netrc-optional --netrc-file log/6/netrc2039 ftp://127.0.0.1:36813/ > log/6/stdout2039 2> log/6/stderr2039 === End of file commands.log === Start of file ftp_server.log 05:48:30.949644 ====> Client connect 05:48:30.949794 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:30.951680 < "USER anonymous" 05:48:30.951723 > "331 We are happy you popped in![CR][LF]" 05:48:30.951891 < "PASS ftp@example.com" 05:48:30.951917 > "230 Welcome you silly person[CR][LF]" 05:48:30.952070 < "PWD" 05:48:30.952102 > "257 "/" is current directory[CR][LF]" 05:48:30.952290 < "EPSV" 05:48:30.952316 ====> Passive DATA channel requested by client 05:48:30.952331 DATA sockfilt for passive data channel starting... 05:48:30.963424 DATA sockfilt for passive data channel started (pid 173410) 05:48:30.963559 DATA sockfilt for passive data channel listens on port 41893 05:48:30.963609 > "229 Entering Passive Mode (|||41893|)[CR][LF]" 05:48:30.963628 Client has been notified that DATA conn will be accepted on port 41893 05:48:30.963947 Client connects to port 41893 05:48:30.963979 ====> Client established passive DATA connection on port 41893 05:48:30.964072 < "TYPE I" 05:48:30.964107 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:30.964275 < "SIZE verifiedserver" 05:48:30.964317 > "213 17[CR][LF]" 05:48:30.964483 < "RETR verifiedserver" 05:48:30.964519 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:30.964605 =====> Closing passive DATA connection... 05:48:30.964621 Server disconnects passive DATA connection 05:48:30.964862 Server disconnected passive DATA connection 05:48:30.964892 DATA sockfilt for passive data channel quits (pid 173410) 05:48:30.968534 DATA sockfilt for passive data channel quit (pid 173410) 05:48:30.968585 =====> Closed passive DATA connection 05:48:30.968625 > "226 File transfer complete[CR][LF]" 05:48:31.009593 < "QUIT" 05:48:31.009651 > "221 bye bye baby[CR][LF]" 05:48:31.011046 MAIN sockfilt said DISC 05:48:31.011087 ====> Client disconnected 05:48:31.011201 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:30.410984 ====> Client connect 05:48:30.412834 Received DATA (on stdin) 05:48:30.412857 > 146 bytes data, server => client 05:48:30.412870 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:30.412882 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:30.412892 '220 \___|\___/|_| \_\_____|\r\n' 05:48:30.412977 < 16 bytes data, client => server 05:48:30.412990 'USER anonymous\r\n' 05:48:30.413177 Received DATA (on stdin) 05:48:30.413188 > 33 bytes data, server => client 05:48:30.413199 '331 We are happy you popped in!\r\n' 05:48:30.413251 < 22 bytes data, client => server 05:48:30.413262 'PASS ftp@example.com\r\n' 05:48:30.413366 Received DATA (on stdin) 05:48:30.413376 > 30 bytes data, server => client 05:48:30.413387 '230 Welcome you silly person\r\n' 05:48:30.413434 < 5 bytes data, client => server 05:48:30.413445 'PWD\r\n' 05:48:30.413550 Received DATA (on stdin) 05:48:30.413561 > 30 bytes data, server => client 05:48:30.413572 '257 "/" is current directory\r\n' 05:48:30.413651 < 6 bytes data, client => server 05:48:30.413664 'EPSV\r\n' 05:48:30.425088 Received DATA (on stdin) 05:48:30.425105 > 39 bytes data, server => client 05:48:30.425116 '229 Entering Passive Mode (|||41893|)\r\n' 05:48:30.425310 < 8 bytes data, client => server 05:48:30.425326 'TYPE I\r\n' 05:48:30.425560 Received DATA (on stdin) 05:48:30.425572 > 33 bytes data, server => client 05:48:30.425583 '200 I modify TYPECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2040 ../src/curl -q --trace-ascii log/7/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:39013/20400100 --next --no-basic http://127.0.0.1:39013/20400200 > log/7/stdout2040 2> log/7/stderr2040 as you wanted\r\n' 05:48:30.425635 < 21 bytes data, client => server 05:48:30.425647 'SIZE verifiedserver\r\n' 05:48:30.425768 Received DATA (on stdin) 05:48:30.425781 > 8 bytes data, server => client 05:48:30.425791 '213 17\r\n' 05:48:30.425843 < 21 bytes data, client => server 05:48:30.425857 'RETR verifiedserver\r\n' 05:48:30.426072 Received DATA (on stdin) 05:48:30.426083 > 29 bytes data, server => client 05:48:30.426093 '150 Binary junk (17 bytes).\r\n' 05:48:30.430090 Received DATA (on stdin) 05:48:30.430107 > 28 bytes data, server => client 05:48:30.430118 '226 File transfer complete\r\n' 05:48:30.470866 < 6 bytes data, client => server 05:48:30.470897 'QUIT\r\n' 05:48:30.471107 Received DATA (on stdin) 05:48:30.471119 > 18 bytes data, server => client 05:48:30.471130 '221 bye bye baby\r\n' 05:48:30.472437 ====> Client disconnect 05:48:30.472658 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:30.424472 Running IPv4 version 05:48:30.424593 Listening on port 41893 05:48:30.424637 Wrote pid 173410 to log/6/server/ftp_sockdata.pid 05:48:30.424817 Received PING (on stdin) 05:48:30.424908 Received PORT (on stdin) 05:48:30.425346 ====> Client connect 05:48:30.426149 Received DATA (on stdin) 05:48:30.426161 > 17 bytes data, server => client 05:48:30.426171 'WE ROOLZ: 81206\r\n' 05:48:30.426197 Received DISC (on stdin) 05:48:30.426208 ====> Client forcibly disconnected 05:48:30.426351 Received QUIT (on stdin) 05:48:30.426363 quits 05:48:30.426456 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc2039 # the following two lines were created while testing curl default login userdef password passwddef machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc2039 === Start of file server.cmd Testnum 2039 === End of file server.cmd === Start of file valgrind2039 ==173474== ==173474== Process terminating with default action of signal 4 (SIGILL) ==173474== Illegal opcode at address 0x4014883 ==173474== at 0x4014883: getparameter (tool_getparam.c:2899) ==173474== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173474== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173474== by 0x4004208: main (tool_main.c:189) === End of file valgrind2039 test 2026...[HTTP authorization retry (Digest switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:41799/2026 digest basic > log/2/stdout2026 2> log/2/stderr2026 2026: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2026 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:41799/2026 digest basic > log/2/stdout2026 2> log/2/stderr2026 === End of file commands.log === Start of file http_server.log 05:48:31.026102 ====> Client connect 05:48:31.026142 accept_connection 3 returned 4 05:48:31.026159 accept_connection 3 returned 0 05:48:31.026174 Read 93 bytes 05:48:31.026184 Process 93 bytes request 05:48:31.026197 Got request: GET /verifiedserver HTTP/1.1 05:48:31.026206 Are-we-friendly question received 05:48:31.026233 Wrote request (93 bytes) input to log/2/server.input 05:48:31.026249 Identifying ourselves as friends 05:48:31.026316 Response sent (56 bytes) and written to log/2/server.response 05:48:31.026327 special request received, no persistency 05:48:31.026336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 52924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 2026 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr2026 URL: http://127.0.0.1:41799/2026 === End of file stderr2026 === Start of file valgrind2026 ==173051== ==173051== Process terminating with default action of signal 4 (SIGILL) ==173051== Illegal opcode at address 0x51D8933 ==173051== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==173051== by 0x51D8933: UnknownInlinedFun (request.c:40) ==173051== by 0x51D8933: Curl_open (url.c:503) ==173051== by 0x514E50F: curl_easy_init (easy.c:350) ==173051== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==173051== by 0x40034B5: main (first.c:279) === End of file valgrind2026 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:42891/2032 > log/21/stdout2032 2> log/21/stderr2032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:45623/2031 ntlm ntlm > log/8/stdout2031 2> log/8/stderr2031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:46741/2030 ntlm digest > log/10/stdout2030 2> log/10/stderr2030 test 2040...[HTTP Basic authorization, then without authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2040 ../src/curl -q --trace-ascii log/7/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:39013/20400100 --next --no-basic http://127.0.0.1:39013/20400200 > log/7/stdout2040 2> log/7/stderr2040 2040: stdout FAILED: --- log/7/check-expected 2026-03-14 05:48:33.127949297 +0000 +++ log/7/check-generated 2026-03-14 05:48:33.127949297 +0000 @@ -1,2 +0,0 @@ -Finally, this is the real page![LF] -This is a bad password page![LF] == Contents of files in the log/7/ directory after test 2040 === Start of file check-expected Finally, this is the real page![LF] This is a bad password page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2040 ../src/curl -q --trace-ascii log/7/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:39013/20400100 --next --no-basic http://127.0.0.1:39013/20400200 > log/7/stdout2040 2> log/7/stderr2040 === End of file commands.log === Start of file http_server.log 05:48:30.506093 ====> Client connect 05:48:30.506132 accept_connection 3 returned 4 05:48:30.506151 accept_connection 3 returned 0 05:48:30.506167 Read 93 bytes 05:48:30.506177 Process 93 bytes request 05:48:30.506192 Got request: GET /verifiedserver HTTP/1.1 05:48:30.506202 Are-we-friendly question received 05:48:30.506233 Wrote request (93 bytes) input to log/7/server.input 05:48:30.506253 Identifying ourselves as friends 05:48:30.506321 Response sent (56 bytes) and written to log/7/server.response 05:48:30.506335 special request received, no persistency 05:48:30.506345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 48302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 2040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind2040 ==173511== ==173511== Process terminating with default action of signal 4 (SIGILL) ==173511== Illegal opcode at address 0x4014883 ==173511== at 0x4014883: getparameter (tool_getparam.c:2899) ==173511== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173511== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173511== by 0x4004208: main (tool_main.c:189) === End of file valgrind2040 test 2032...[NTLM connection mapping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:42891/2032 > log/21/stdout2032 2> log/21/stderr2032 2032: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 2032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:42891/2032 > log/21/stdout2032 2> log/21/stderr2032 === End of file commands.log === Start of file http_server.log 05:48:30.379989 ====> Client connect 05:48:30.380030 accept_connection 3 returned 4 05:48:30.380049 accept_connection 3 returned 0 05:48:30.380065 Read 93 bytes 05:48:30.380075 Process 93 bytes request 05:48:30.380091 Got request: GET /verifiedserver HTTP/1.1 05:48:30.380100 Are-we-friendly question received 05:48:30.380131 Wrote request (93 bytes) input to log/21/server.input 05:48:30.380150 Identifying ourselves as friends 05:48:30.380216 Response sent (56 bytes) and written to log/21/server.response 05:48:30.380228 special request received, no persistency 05:48:30.380238 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 2032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr2032 URL: http://127.0.0.1:42891/2032 === End of file stderr2032 === Start of file valgrind2032 ==173413== ==173413== Process terminating with default action of signal 4 (SIGILL) ==173413== Illegal opcode at address 0x519F3C0 ==173413== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==173413== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==173413== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==173413== by 0x4041C21: test_lib2032.lto_priv.0 (lib2032.c:113) ==173413== by 0x40034B5: main (first.c:279) ==173413== 728 bytes in 1 blocks are definitely lost in loss record 715 of 788 ==173413== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==173413== by 0x519F354: Curl_multi_handle (multi.c:235) ==173413== by 0x4041C21: test_lib2032.lto_priv.0 (lib2032.c:113) ==173413== by 0x40034B5: main (first.c:279) ==173413== === End of file valgrind2032 test 2031...[HTTP authorization retry (NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:45623/2031 ntlm ntlm > log/8/stdout2031 2> log/8/stderr2031 2031: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 2031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:45623/2031 ntlm ntlm > log/8/stdout2031 2> log/8/stderr2031 === End of file commands.log === Start of file http_server.log 05:48:30.358948 ====> Client connect 05:48:30.358986 accept_connection 3 returned 4 05:48:30.359003 accept_connection 3 returned 0 05:48:30.359019 Read 93 bytes 05:48:30.359029 Process 93 bytes request 05:48:30.359042 Got request: GET /verifiedserver HTTP/1.1 05:48:30.359051 Are-we-friendly question received 05:48:30.359079 Wrote request (93 bytes) input to log/8/server.input 05:48:30.359098 Identifying ourselves as friends 05:48:30.359162 Response sent (56 bytes) and written to log/8/server.response 05:48:30.359174 special request received, no persistency 05:48:30.359184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 55220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2003 ../src/curl -q --trace-ascii log/14/trace2003 --trace-time http://127.0.0.1:35549/20030001 ftp://127.0.0.1:46299/20030002 file://localhost/startdir/src/build-curl/tests/log/14/test2003.txt tftp://127.0.0.1:54732//20030003 tftp://127.0.0.1:54732//20030003 file://localhost/startdir/src/build-curl/tests/log/14/test2003.txt ftp://127.0.0.1:46299/20030002 http://127.0.0.1:35549/20030001 > log/14/stdout2003 2> log/14/stderr2003 45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 2031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file stderr2031 URL: http://127.0.0.1:45623/2031 === End of file stderr2031 === Start of file valgrind2031 ==173461== ==173461== Process terminating with default action of signal 4 (SIGILL) ==173461== Illegal opcode at address 0x51D8933 ==173461== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==173461== by 0x51D8933: UnknownInlinedFun (request.c:40) ==173461== by 0x51D8933: Curl_open (url.c:503) ==173461== by 0x514E50F: curl_easy_init (easy.c:350) ==173461== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==173461== by 0x40034B5: main (first.c:279) === End of file valgrind2031 test 2030...[HTTP authorization retry (NTLM switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:46741/2030 ntlm digest > log/10/stdout2030 2> log/10/stderr2030 2030: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2030 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:46741/2030 ntlm digest > log/10/stdout2030 2> log/10/stderr2030 === End of file commands.log === Start of file http_server.log 05:48:30.247615 ====> Client connect 05:48:30.247665 accept_connection 3 returned 4 05:48:30.247689 accept_connection 3 returned 0 05:48:30.247709 Read 93 bytes 05:48:30.247721 Process 93 bytes request 05:48:30.247736 Got request: GET /verifiedserver HTTP/1.1 05:48:30.247798 Are-we-friendly question received 05:48:30.247831 Wrote request (93 bytes) input to log/10/server.input 05:48:30.250980 Identifying ourselves as friends 05:48:30.252079 Response sent (56 bytes) and written to log/10/server.response 05:48:30.252094 special request received, no persistency 05:48:30.252104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 56994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 2030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file stderr2030 URL: http://127.0.0.1:46741/2030 === End of file stderr2030 === Start of file valgrind2030 ==173367== ==173367== Process terminating with default action of signal 4 (SIGILL) ==173367== Illegal opcode at address 0x51D8933 ==173367== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==173367== by 0x51D8933: UnknownInlinedFun (request.c:40) ==173367== by 0x51D8933: Curl_open (url.c:503) ==173367== by 0x514E50F: curl_easy_init (easy.c:350) ==173367== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==173367== by 0x40034B5: main (first.c:279) === End of file valgrind2030 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:33593/2025 basic ntlm > log/24/stdout2025 2> log/24/stderr2025 test 2003...[HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2003 ../src/curl -q --trace-ascii log/14/trace2003 --trace-time http://127.0.0.1:35549/20030001 ftp://127.0.0.1:46299/20030002 file://localhost/startdir/src/build-curl/tests/log/14/test2003.txt tftp://127.0.0.1:54732//20030003 tftp://127.0.0.1:54732//20030003 file://localhost/startdir/src/build-curl/tests/log/14/test2003.txt ftp://127.0.0.1:46299/20030002 http://127.0.0.1:35549/20030001 > log/14/stdout2003 2> log/14/stderr2003 2003: stdout FAILED: --- log/14/check-expected 2026-03-14 05:48:33.317949297 +0000 +++ log/14/check-generated 2026-03-14 05:48:33.317949297 +0000 @@ -1,32 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] --foo-[LF] == Contents of files in the log/14/ directory after test 2003 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2003 ../src/curl -q --trace-ascii log/14/trace2003 --trace-time http://127.0.0.1:35549/20030001 ftp://127.0.0.1:46299/20030002 file://localhost/startdir/src/build-curl/tests/log/14/test2003.txt tftp://127.0.0.1:54732//20030003 tftp://127.0.0.1:54732//20030003 file://localhost/startdir/src/build-curl/tests/log/14/test2003.txt ftp://127.0.0.1:46299/20030002 http://127.0.0.1:35549/20030001 > log/14/stdout2003 2> log/14/stderr2003 === End of file commands.log === Start of file ftp_server.log 05:48:30.345680 ====> Client connect 05:48:30.348978 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:30.349301 < "USER anonymous" 05:48:30.349350 > "331 We are happy you popped in![CR][LF]" 05:48:30.349546 < "PASS ftp@example.com" 05:48:30.349575 > "230 Welcome you silly person[CR][LF]" 05:48:30.349755 < "PWD" 05:48:30.349792 > "257 "/" is current directory[CR][LF]" 05:48:30.349976 < "EPSV" 05:48:30.350007 ====> Passive DATA channel requested by client 05:48:30.350022 DATA sockfilt for passive data channel starting... 05:48:30.364691 DATA sockfilt for passive data channel started (pid 172712) 05:48:30.365709 DATA sockfilt for passive data channel listens on port 41875 05:48:30.365779 > "229 Entering Passive Mode (|||41875|)[CR][LF]" 05:48:30.365799 Client has been notified that DATA conn will be accepted on port 41875 05:48:30.366131 Client connects to port 41875 05:48:30.366174 ====> Client established passive DATA connection on port 41875 05:48:30.366353 < "TYPE I" 05:48:30.366402 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:30.366626 < "SIZE verifiedserver" 05:48:30.366682 > "213 17[CR][LF]" 05:48:30.366883 < "RETR verifiedserver" 05:48:30.366929 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:30.367033 =====> Closing passive DATA connection... 05:48:30.367059 Server disconnects passive DATA connection 05:48:30.367207 Server disconnected passive DATA connection 05:48:30.367236 DATA sockfilt for passive data channel quits (pid 172712) 05:48:30.367560 DATA sockfilt for passive data channel quit (pid 172712) 05:48:30.367590 =====> Closed passive DATA connection 05:48:30.367624 > "226 File transfer complete[CR][LF]" 05:48:30.415750 < "QUIT" 05:48:30.415809 > "221 bye bye baby[CR][LF]" 05:48:30.417123 MAIN sockfilt said DISC 05:48:30.417155 ====> Client disconnected 05:48:30.417222 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:29.806990 ====> Client connect 05:48:29.810309 Received DATA (on stdin) 05:48:29.810352 > 146 bytes data, server => client 05:48:29.810463 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:29.810482 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:29.810492 '220 \___|\___/|_| \_\_____|\r\n' 05:48:29.810592 < 16 bytes data, client => server 05:48:29.810610 'USER anonymous\r\n' 05:48:29.810814 Received DATA (on stdin) 05:48:29.810828 > 33 bytes data, server => client 05:48:29.810839 '331 We are happy you popped in!\r\n' 05:48:29.810898 < 22 bytes data, client => server 05:48:29.810913 'PASS ftp@example.com\r\n' 05:48:29.811029 Received DATA (on stdin) 05:48:29.811042 > 30 bytes data, server => client 05:48:29.811053 '230 Welcome you silly person\r\n' 05:48:29.811107 < 5 bytes data, client => server 05:48:29.811121 'PWD\r\n' 05:48:29.811245 Received DATA (on stdin) 05:48:29.811258 > 30 bytes data, server => client 05:48:29.811269 '257 "/" is current directory\r\n' 05:48:29.811334 < 6 bytes data, client => server 05:48:29.811348 'EPSV\r\n' 05:48:29.827260 Received DATA (on stdin) 05:48:29.827279 > 39 bytes data, server => client 05:48:29.827289 '229 Entering Passive Mode (|||41875|)\r\n' 05:48:29.827659 < 8 bytes data, client => server 05:48:29.827677 'TYPE I\r\n' 05:48:29.827866 Received DATA (on stdin) 05:48:29.827882 > 33 bytes data, server => client 05:48:29.827892 '200 I modify TYPE as you wanted\r\n' 05:48:29.827960 < 21 bytes data, client => server 05:48:29.827976 'SIZE verifiedserver\r\n' 05:48:29.828143 Received DATA (on stdin) 05:48:29.828157 > 8 bytes data, server => client 05:48:29.828168 '213 17\r\n' 05:48:29.828229 < 21 bytes data, client => server 05:48:29.828244 'RETR verifiedserver\r\n' 05:48:29.829082 Received DATA (on stdin) 05:48:29.829097 > 29 bytes data, server => client 05:48:29.829108 '150 Binary junk (17 bytes).\r\n' 05:48:29.829133 Received DATA (on stdin) 05:48:29.829144 > 28 bytes data, server => client 05:48:29.829156 '226 File transfer complete\r\n' 05:48:29.876996 < 6 bytes data, client => server 05:48:29.877037 'QUIT\r\n' 05:48:29.877265 Received DATA (on stdin) 05:48:29.877277 > 18 bytes data, server => client 05:48:29.877288 '221 bye bye baby\r\n' 05:48:29.878520 ====> Client disconnect 05:48:29.878672 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:30.817659 Running IPv4 version 05:48:30.817739 Listening on port 41875 05:48:30.817786 Wrote pid 172712 to log/14/server/ftp_sockdata.pid 05:48:30.817809 Received PING (on stdin) 05:48:30.826992 Received PORT (on stdin) 05:48:30.827516 ====> Client connect 05:48:30.828520 Received DATA (on stdin) 05:48:30.828539 > 17 bytes data, server => client 05:48:30.828549 'WE ROOLZ: 81045\r\n' 05:48:30.828583 Received DISC (on stdin) 05:48:30.828600 ====> Client forcibly disconnected 05:48:30.828699 Received QUIT (on stdin) 05:48:30.828713 quits 05:48:30.828781 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:48:30.705075 ====> Client connect 05:48:30.705112 accept_connection 3 returned 4 05:48:30.705133 accept_connection 3 returned 0 05:48:30.705294 Read 93 bytes 05:48:30.705310 Process 93 bytes request 05:48:30.705325 Got request: GET /verifiedserver HTTP/1.1 05:48:30.705335 Are-we-friendly question received 05:48:30.705363 Wrote request (93 bytes) input to log/14/server.input 05:48:30.705383 Identifying ourselves as friends 05:48:30.705451 Response sent (56 bytes) and CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2046 ../src/curl -q --include --trace-ascii log/16/trace2046 --trace-time http://åäö.se:44281/2046 --resolve xn--4cab6c.se:44281:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/16/stdout2046 2> log/16/stderr2046 written to log/14/server.response 05:48:30.705464 special request received, no persistency 05:48:30.705474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 44870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 2003 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file test2003.txt foo bar bar foo moo === End of file test2003.txt === Start of file tftp_server.log 05:48:30.950487 trying to get file: verifiedserver mode 1 05:48:30.950523 Are-we-friendly question received 05:48:30.950538 write 05:48:30.950567 read 05:48:30.956976 read: 4 05:48:30.957081 end of one transfer === End of file tftp_server.log === Start of file valgrind2003 ==172961== ==172961== Process terminating with default action of signal 4 (SIGILL) ==172961== Illegal opcode at address 0x4014883 ==172961== at 0x4014883: getparameter (tool_getparam.c:2899) ==172961== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==172961== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==172961== by 0x4004208: main (tool_main.c:189) === End of file valgrind2003 test 2025...[HTTP authorization retry (Basic switching to NTLM)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:33593/2025 basic ntlm > log/24/stdout2025 2> log/24/stderr2025 2025: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2025 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:33593/2025 basic ntlm > log/24/stdout2025 2> log/24/stderr2025 === End of file commands.log === Start of file http_server.log 05:48:31.004796 ====> Client connect 05:48:31.004837 accept_connection 3 returned 4 05:48:31.004854 accept_connection 3 returned 0 05:48:31.004871 Read 93 bytes 05:48:31.004881 Process 93 bytes request 05:48:31.004895 Got request: GET /verifiedserver HTTP/1.1 05:48:31.004904 Are-we-friendly question received 05:48:31.004930 Wrote request (93 bytes) input to log/24/server.input 05:48:31.004946 Identifying ourselves as friends 05:48:31.005020 Response sent (56 bytes) and written to log/24/server.response 05:48:31.005030 special request received, no persistency 05:48:31.005039 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 38566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 2025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file stderr2025 URL: http://127.0.0.1:33593/2025 === End of file stderr2025 === Start of file valgrind2025 ==172985== ==172985== Process terminating with default action of signal 4 (SIGILL) ==172985== Illegal opcode at address 0x51D8933 ==172985== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==172985== by 0x51D8933: UnknownInlinedFun (request.c:40) ==172985== by 0x51D8933: Curl_open (url.c:503) ==172985== by 0x514E50F: curl_easy_init (easy.c:350) ==172985== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==172985== by 0x40034B5: main (first.c:279) === End of file valgrind2025 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2002 ../src/curl -q --trace-ascii log/1/trace2002 --trace-time http://127.0.0.1:38765/20020001 ftp://127.0.0.1:41623/20020002 file://localhost/startdir/src/build-curl/tests/log/1/test2002.txt tftp://127.0.0.1:40684//20020003 > log/1/stdout2002 2> log/1/stderr2002 setenv LC_ALL = C.UTF-8 test 2046...[Connection reuse with IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2046 ../src/curl -q --include --trace-ascii log/16/trace2046 --trace-time http://åäö.se:44281/2046 --resolve xn--4cab6c.se:44281:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/16/stdout2046 2> log/16/stderr2046 2046: stdout FAILED: --- log/16/check-expected 2026-03-14 05:48:33.371282631 +0000 +++ log/16/check-generated 2026-03-14 05:48:33.371282631 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20460001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se:44281/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/16/ directory after test 2046 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20460001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se:44281/20460001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2046 ../src/curl -q --include --trace-ascii log/16/trace2046 --trace-time http://åäö.se:44281/2046 --resolve xn--4cab6c.se:44281:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/16/stdout2046 2> log/16/stderr2046 === End of file commands.log === Start of file http_server.log 05:48:30.760401 ====> Client connect 05:48:30.760471 accept_connection 3 returned 4 05:48:30.760493 accept_connection 3 returned 0 05:48:30.760510 Read 93 bytes 05:48:30.760521 Process 93 bytes request 05:48:30.760534 Got request: GET /verifiedserver HTTP/1.1 05:48:30.760544 Are-we-friendly question received 05:48:30.760572 Wrote request (93 bytes) input to log/16/server.input 05:48:30.760589 Identifying ourselves as friends 05:48:30.760690 Response sent (57 bytes) and written to log/16/server.response 05:48:30.760701 special request received, no persistency 05:48:30.760709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44281... * Established connection to 127.0.0.1 (127.0.0.1 port 44281) from 127.0.0.1 port 50970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44281 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44281 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164336 === End of file http_verify.out === Start of file server.cmd Testnum 2046 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 164336 === End of file server.response === Start of file valgrind2046 ==173776== ==173776== Process terminating with default action of signal 4 (SIGILL) ==173776== Illegal opcode at address 0x4014883 ==173776== at 0x4014883: getparameter (tool_getparam.c:2899) ==173776== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173776== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173776== by 0x4004208: main (tool_main.c:189) === End of file valgrind2046 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2047 ../src/curl -q --include --trace-ascii log/5/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:35621 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/5/stdout2047 2> log/5/stderr2047 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:34551/2029 ntlm basic > log/11/stdout2029 2> log/11/stderr2029 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/1/server/tftp_server.pid" --portfile "log/1/server/tftp_server.port" --logfile "log/1/tftp_server.log" --logdir "log/1" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 172714 port 40684 * pid tftp => 172714 172714 test 2002...[HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2002 ../src/curl -q --trace-ascii log/1/trace2002 --trace-time http://127.0.0.1:38765/20020001 ftp://127.0.0.1:41623/20020002 file://localhost/startdir/src/build-curl/tests/log/1/test2002.txt tftp://127.0.0.1:40684//20020003 > log/1/stdout2002 2> log/1/stderr2002 2002: stdout FAILED: --- log/1/check-expected 2026-03-14 05:48:33.564615964 +0000 +++ log/1/check-generated 2026-03-14 05:48:33.564615964 +0000 @@ -1,16 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] == Contents of files in the log/1/ directory after test 2002 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2002 ../src/curl -q --trace-ascii log/1/trace2002 --trace-time http://127.0.0.1:38765/20020001 ftp://127.0.0.1:41623/20020002 file://localhost/startdir/src/build-curl/tests/log/1/test2002.txt tftp://127.0.0.1:40684//20020003 > log/1/stdout2002 2> log/1/stderr2002 === End of file commands.log === Start of file ftp_server.log 05:48:30.290986 ====> Client connect 05:48:30.291153 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:30.291523 < "USER anonymous" 05:48:30.291559 > "331 We are happy you popped in![CR][LF]" 05:48:30.291727 < "PASS ftp@example.com" 05:48:30.291787 > "230 Welcome you silly person[CR][LF]" 05:48:30.291928 < "PWD" 05:48:30.291960 > "257 "/" is current directory[CR][LF]" 05:48:30.292128 < "EPSV" 05:48:30.292154 ====> Passive DATA channel requested by client 05:48:30.292169 DATA sockfilt for passive data channel starting... 05:48:30.300244 DATA sockfilt for passive data channel started (pid 172674) 05:48:30.300423 DATA sockfilt for passive data channel listens on port 42783 05:48:30.300478 > "229 Entering Passive Mode (|||42783|)[CR][LF]" 05:48:30.300497 Client has been notified that DATA conn will be accepted on port 42783 05:48:30.300888 Client connects to port 42783 05:48:30.300923 ====> Client established passive DATA connection on port 42783 05:48:30.301053 < "TYPE I" 05:48:30.301084 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:30.301240 < "SIZE verifiedserver" 05:48:30.301282 > "213 17[CR][LF]" 05:48:30.301442 < "RETR verifiedserver" 05:48:30.301476 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:30.301575 =====> Closing passive DATA connection... 05:48:30.301592 Server disconnects passive DATA connection 05:48:30.301707 Server disconnected passive DATA connection 05:48:30.301731 DATA sockfilt for passive data channel quits (pid 172674) 05:48:30.301960 DATA sockfilt for passive data channel quit (pid 172674) 05:48:30.301985 =====> Closed passive DATA connection 05:48:30.302011 > "226 File transfer complete[CR][LF]" 05:48:30.352383 < "QUIT" 05:48:30.352448 > "221 bye bye baby[CR][LF]" 05:48:30.353648 MAIN sockfilt said DISC 05:48:30.353685 ====> Client disconnected 05:48:30.353764 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:29.752314 ====> Client connect 05:48:29.752618 Received DATA (on stdin) 05:48:29.752632 > 146 bytes data, server => client 05:48:29.752645 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:29.752656 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:29.752665 '220 \___|\___/|_| \_\_____|\r\n' 05:48:29.752836 < 16 bytes data, client => server 05:48:29.752851 'USER anonymous\r\n' 05:48:29.753011 Received DATA (on stdin) 05:48:29.753023 > 33 bytes data, server => client 05:48:29.753034 '331 We are happy you popped in!\r\n' 05:48:29.753088 < 22 bytes data, client => server 05:48:29.753100 'PASS ftp@example.com\r\n' 05:48:29.753183 Received DATA (on stdin) 05:48:29.753195 > 30 bytes data, server => client 05:48:29.753238 '230 Welcome you silly person\r\n' 05:48:29.753291 < 5 bytes data, client => server 05:48:29.753302 'PWD\r\n' 05:48:29.753410 Received DATA (on stdin) 05:48:29.753421 > 30 bytes data, server => client 05:48:29.753431 '257 "/" is current directory\r\n' 05:48:29.753492 < 6 bytes data, client => server 05:48:29.753503 'EPSV\r\n' 05:48:29.762042 Received DATA (on stdin) 05:48:29.762062 > 39 bytes data, server => client 05:48:29.762073 '229 Entering Passive Mode (|||42783|)\r\n' 05:48:29.762393 < 8 bytes data, client => server 05:48:29.762404 'TYPE I\r\n' 05:48:29.762533 Received DATA (on stdin) 05:48:29.762543 > 33 bytes data, server => client 05:48:29.762554 '200 I modify TYPE as you wanted\r\n' 05:48:29.762603 < 21 bytes data, client => server 05:48:29.762615 'SIZE verifiedserver\r\n' 05:48:29.762734 Received DATA (on stdin) 05:48:29.762745 > 8 bytes data, server => client 05:48:29.762755 '213 17\r\n' 05:48:29.762805 < 21 bytes data, client => server 05:48:29.762816 'RETR verifiedserver\r\n' 05:48:29.763462 Received DATA (on stdin) 05:48:29.763474 > 29 bytes data, server => client 05:48:29.763485 '150 Binary junk (17 bytes).\r\n' 05:48:29.763506 Received DATA (on stdin) 05:48:29.763515 > 28 bytes data, server => client 05:48:29.763526 '226 File transfer complete\r\n' 05:48:29.813654 < 6 bytes data, client => server 05:48:29.813682 'QUIT\r\n' 05:48:29.813913 Received DATA (on stdin) 05:48:29.813928 > 18 bytes data, server => client 05:48:29.813940 '221 bye bye baby\r\n' 05:48:29.815040 ====> Client disconnect 05:48:29.815223 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:30.756825 Running IPv4 version 05:48:30.756904 Listening on port 42783 05:48:30.756998 Wrote pid 172674 to log/1/server/ftp_sockdata.pid 05:48:30.760412 Received PING (on stdin) 05:48:30.761760 Received PORT (on stdin) 05:48:30.762283 ====> Client connect 05:48:30.763043 Received DATA (on stdin) 05:48:30.763056 > 17 bytes data, server => client 05:48:30.763065 'WE ROOLZ: 81663\r\n' 05:48:30.763094 Received DISC (on stdin) 05:48:30.763106 ====> Client forcibly disconnected 05:48:30.763185 Received QUIT (on stdin) 05:48:30.763196 quits 05:48:30.763263 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 05:48:30.624014 ====> Client connect 05:48:30.624051 accept_connection 3 returned 4 05:48:30.624070 accept_connection 3 returned 0 05:48:30.624086 Read 93 bytes 05:48:30.624097 Process 93 bytes request 05:48:30.624111 Got request: GET /verifiedserver HTTP/1.1 05:48:30.624122 Are-we-friendly question received 05:48:30.624148 Wrote request (93 bytes) input to log/1/server.input 05:48:30.624167 Identifying ourselves as friends 05:48:30.624230 Response sent (56 bytes) and written to log/1/server.response 05:48:30.624242 special request received, no persistency 05:48:30.624252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file server.cmd Testnum 2002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file test2002.txt foo bar bar foo moo === End of file test2002.txt === Start of file tftp_server.log 05:48:30.860180 Wrote pid 172714 to log/1/server/tftp_server.pid 05:48:30.860247 Wrote port 40684 to log/1/server/tftp_server.port 05:48:30.860261 Running IPv4 version on port UDP/40684 === End of file tftp_server.log === Start of file valgrind2002 ==173824== ==173824== Process terminating with default action of signal 4 (SIGILL) ==173824== Illegal opcode at address 0x4014883 ==173824== at 0x4014883: getparameter (tool_getparam.c:2899) ==173824== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173824== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173824== by 0x4004208: main (tool_main.c:189) === End of file valgrind2002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2045 ../src/curl -q --output log/3/curl2045.out --include --trace-ascii log/3/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:43409 > log/3/stdout2045 2> log/3/stderr2045 setenv LC_ALL = C.UTF-8 test 2047...[Connection reuse with IDN hostname over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2047 ../src/curl -q --include --trace-ascii log/5/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:35621 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/5/stdout2047 2> log/5/stderr2047 2047: stdout FAILED: --- log/5/check-expected 2026-03-14 05:48:33.597949297 +0000 +++ log/5/check-generated 2026-03-14 05:48:33.587949297 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20470001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/5/ directory after test 2047 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20470001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2047 ../src/curl -q --include --trace-ascii log/5/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:35621 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/5/stdout2047 2> log/5/stderr2047 === End of file commands.log === Start of file http_server.log 05:48:31.846083 ====> Client connect 05:48:31.846123 accept_connection 3 returned 4 05:48:31.846146 accept_connection 3 returned 0 05:48:31.846163 Read 93 bytes 05:48:31.846174 Process 93 bytes request 05:48:31.846188 Got request: GET /verifiedserver HTTP/1.1 05:48:31.846198 Are-we-friendly question received 05:48:31.846226 Wrote request (93 bytes) input to log/5/server.input 05:48:31.846244 Identifying ourselves as friends 05:48:31.846306 Response sent (56 bytes) and written to log/5/server.response 05:48:31.846317 special request received, no persistency 05:48:31.846326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 52088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 2047 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind2047 ==173802== ==173802== Process terminating with default action of signal 4 (SIGILL) ==173802== Illegal opcode at address 0x4014883 ==173802== at 0x4014883: getparameter (tool_getparam.c:2899) ==173802== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173802== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173802== by 0x4004208: main (tool_main.c:189) === End of file valgrind2047 test 2029...[HTTP authorization retry (NTLM switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:34551/2029 ntlm basic > log/11/stdout2029 2> log/11/stderr2029 2029: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 2029 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:34551/2029 ntlm basic > log/11/stdout2029 2> log/11/stderr2029 === End of file commands.log === Start of file http_server.log 05:48:31.177053 ====> Client connect 05:48:31.177096 accept_connection 3 returned 4 05:48:31.177114 accept_connection 3 returned 0 05:48:31.177130 Read 93 bytes 05:48:31.177139 Process 93 bytes request 05:48:31.177153 Got request: GET /verifiedserver HTTP/1.1 05:48:31.177162 Are-we-friendly question received 05:48:31.177186 Wrote request (93 bytes) input to log/11/server.input 05:48:31.177202 Identifying ourselves as friends 05:48:31.177280 Response sent (56 bytes) and written to log/11/server.response 05:48:31.177292 special request received, no persistency 05:48:31.177301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 33058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 2029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr2029 URL: http://127.0.0.1:34551/2029 === End of file stderr2029 === Start of file valgrind2029 ==173275== ==173275== Process terminating with default action of signal 4 (SIGILL) ==173275== Illegal opcode at address 0x51D8933 ==173275== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==173275== by 0x51D8933: UnknownInlinedFun (request.c:40) ==173275== by 0x51D8933: Curl_open (url.c:503) ==173275== by 0x514E50F: curl_easy_init (easy.c:350) ==173275== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:105) ==173275== by 0x40034B5: main (first.c:279) === End of file valgrind2029 test 2045...[Set the default protocol to ftp for a schemeless URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2045 ../src/curl -q --output log/3/curl2045.out --include --trace-ascii log/3/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:43409 > log/3/stdout2045 2> log/3/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/3/ directory after test 2045 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2045 ../src/curl -q --output log/3/curl2045.out --include --trace-ascii log/3/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:43409 > log/3/stdout2045 2> log/3/stderr2045 === End of file commands.log === Start of file ftp_server.log 05:48:31.256057 ====> Client connect 05:48:31.256238 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]22CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2044 ../src/curl -q --output log/18/curl2044.out --include --trace-ascii log/18/trace2044 --trace-time --proto-default DOESNOTEXIST > log/18/stdout2044 2> log/18/stderr2044 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2049 ../src/curl -q --output log/9/curl2049.out --include --trace-ascii log/9/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:33885 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:33885 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:33885 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:33885 > log/9/stdout2049 2> log/9/stderr2049 0- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:31.259632 < "USER anonymous" 05:48:31.259693 > "331 We are happy you popped in![CR][LF]" 05:48:31.262344 < "PASS ftp@example.com" 05:48:31.262391 > "230 Welcome you silly person[CR][LF]" 05:48:31.264563 < "PWD" 05:48:31.264603 > "257 "/" is current directory[CR][LF]" 05:48:31.264774 < "EPSV" 05:48:31.264801 ====> Passive DATA channel requested by client 05:48:31.264816 DATA sockfilt for passive data channel starting... 05:48:31.269961 DATA sockfilt for passive data channel started (pid 173717) 05:48:31.270106 DATA sockfilt for passive data channel listens on port 33091 05:48:31.270160 > "229 Entering Passive Mode (|||33091|)[CR][LF]" 05:48:31.270181 Client has been notified that DATA conn will be accepted on port 33091 05:48:31.270700 Client connects to port 33091 05:48:31.271938 ====> Client established passive DATA connection on port 33091 05:48:31.272141 < "TYPE I" 05:48:31.272183 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:31.285826 < "SIZE verifiedserver" 05:48:31.285903 > "213 17[CR][LF]" 05:48:31.286087 < "RETR verifiedserver" 05:48:31.286126 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:31.286238 =====> Closing passive DATA connection... 05:48:31.286257 Server disconnects passive DATA connection 05:48:31.286565 Server disconnected passive DATA connection 05:48:31.286595 DATA sockfilt for passive data channel quits (pid 173717) 05:48:31.286941 DATA sockfilt for passive data channel quit (pid 173717) 05:48:31.286970 =====> Closed passive DATA connection 05:48:31.286999 > "226 File transfer complete[CR][LF]" 05:48:31.335758 < "QUIT" 05:48:31.335818 > "221 bye bye baby[CR][LF]" 05:48:31.337159 MAIN sockfilt said DISC 05:48:31.337204 ====> Client disconnected 05:48:31.337336 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:31.717079 ====> Client connect 05:48:31.720644 Received DATA (on stdin) 05:48:31.720686 > 146 bytes data, server => client 05:48:31.720699 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:31.720710 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:31.720720 '220 \___|\___/|_| \_\_____|\r\n' 05:48:31.720854 < 16 bytes data, client => server 05:48:31.720866 'USER anonymous\r\n' 05:48:31.721441 Received DATA (on stdin) 05:48:31.721457 > 33 bytes data, server => client 05:48:31.721468 '331 We are happy you popped in!\r\n' 05:48:31.723594 < 22 bytes data, client => server 05:48:31.723612 'PASS ftp@example.com\r\n' 05:48:31.725811 Received DATA (on stdin) 05:48:31.725830 > 30 bytes data, server => client 05:48:31.725841 '230 Welcome you silly person\r\n' 05:48:31.725906 < 5 bytes data, client => server 05:48:31.725918 'PWD\r\n' 05:48:31.726053 Received DATA (on stdin) 05:48:31.726065 > 30 bytes data, server => client 05:48:31.726075 '257 "/" is current directory\r\n' 05:48:31.726136 < 6 bytes data, client => server 05:48:31.726148 'EPSV\r\n' 05:48:31.731644 Received DATA (on stdin) 05:48:31.731661 > 39 bytes data, server => client 05:48:31.731673 '229 Entering Passive Mode (|||33091|)\r\n' 05:48:31.731857 < 8 bytes data, client => server 05:48:31.731873 'TYPE I\r\n' 05:48:31.743641 Received DATA (on stdin) 05:48:31.743687 > 33 bytes data, server => client 05:48:31.743700 '200 I modify TYPE as you wanted\r\n' 05:48:31.747057 < 21 bytes data, client => server 05:48:31.747085 'SIZE verifiedserver\r\n' 05:48:31.747361 Received DATA (on stdin) 05:48:31.747374 > 8 bytes data, server => client 05:48:31.747386 '213 17\r\n' 05:48:31.747442 < 21 bytes data, client => server 05:48:31.747455 'RETR verifiedserver\r\n' 05:48:31.747710 Received DATA (on stdin) 05:48:31.747722 > 29 bytes data, server => client 05:48:31.747734 '150 Binary junk (17 bytes).\r\n' 05:48:31.748452 Received DATA (on stdin) 05:48:31.748466 > 28 bytes data, server => client 05:48:31.748476 '226 File transfer complete\r\n' 05:48:31.796993 < 6 bytes data, client => server 05:48:31.797037 'QUIT\r\n' 05:48:31.797271 Received DATA (on stdin) 05:48:31.797282 > 18 bytes data, server => client 05:48:31.797292 '221 bye bye baby\r\n' 05:48:31.798546 ====> Client disconnect 05:48:31.798785 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:31.727901 Running IPv4 version 05:48:31.727976 Listening on port 33091 05:48:31.728018 Wrote pid 173717 to log/3/server/ftp_sockdata.pid 05:48:31.731335 Received PING (on stdin) 05:48:31.731450 Received PORT (on stdin) 05:48:31.732095 ====> Client connect 05:48:31.747811 Received DATA (on stdin) 05:48:31.747834 > 17 bytes data, server => client 05:48:31.747846 'WE ROOLZ: 81310\r\n' 05:48:31.747882 Received DISC (on stdin) 05:48:31.747895 ====> Client forcibly disconnected 05:48:31.748056 Received QUIT (on stdin) 05:48:31.748067 quits 05:48:31.748176 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply Testnum 2045 === End of file server.cmd === Start of file valgrind2045 ==173769== ==173769== Process terminating with default action of signal 4 (SIGILL) ==173769== Illegal opcode at address 0x4014883 ==173769== at 0x4014883: getparameter (tool_getparam.c:2899) ==173769== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173769== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173769== by 0x4004208: main (tool_main.c:189) === End of file valgrind2045 test 2044...[Attempt to set a default protocol that does not exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2044 ../src/curl -q --output log/18/curl2044.out --include --trace-ascii log/18/trace2044 --trace-time --proto-default DOESNOTEXIST > log/18/stdout2044 2> log/18/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/18/ directory after test 2044 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2044 ../src/curl -q --output log/18/curl2044.out --include --trace-ascii log/18/trace2044 --trace-time --proto-default DOESNOTEXIST > log/18/stdout2044 2> log/18/stderr2044 === End of file commands.log === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==173599== ==173599== Process terminating with default action of signal 4 (SIGILL) ==173599== Illegal opcode at address 0x4014883 ==173599== at 0x4014883: getparameter (tool_getparam.c:2899) ==173599== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173599== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173599== by 0x4004208: main (tool_main.c:189) === End of file valgrind2044 test 2049...[Connect to specific host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2049 ../src/curl -q --output log/9/curl2049.out --include --trace-ascii log/9/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:33885 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:33885 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:33885 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:33885 > log/9/stdout2049 2> log/9/stderr2049 2049: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2049 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2051 ../src/curl -q --include --trace-ascii log/17/trace2051 --trace-time http://127.0.0.1:41219/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:41219 http://127.0.0.1:41219/2051 -w "%{num_connects}\n" --next http://127.0.0.1:41219/2051 -w "%{num_connects}\n" > log/17/stdout2051 2> log/17/stderr2051 6 --log-file=log/9/valgrind2049 ../src/curl -q --output log/9/curl2049.out --include --trace-ascii log/9/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:33885 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:33885 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:33885 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:33885 > log/9/stdout2049 2> log/9/stderr2049 === End of file commands.log === Start of file http_server.log 05:48:30.993715 ====> Client connect 05:48:30.993769 accept_connection 3 returned 4 05:48:30.993789 accept_connection 3 returned 0 05:48:30.993809 Read 93 bytes 05:48:30.993818 Process 93 bytes request 05:48:30.993835 Got request: GET /verifiedserver HTTP/1.1 05:48:30.993845 Are-we-friendly question received 05:48:30.993874 Wrote request (93 bytes) input to log/9/server.input 05:48:30.993893 Identifying ourselves as friends 05:48:30.993984 Response sent (56 bytes) and written to log/9/server.response 05:48:30.993997 special request received, no persistency 05:48:30.994006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 54140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 2049 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind2049 ==173950== ==173950== Process terminating with default action of signal 4 (SIGILL) ==173950== Illegal opcode at address 0x4014883 ==173950== at 0x4014883: getparameter (tool_getparam.c:2899) ==173950== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==173950== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==173950== by 0x4004208: main (tool_main.c:189) === End of file valgrind2049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2050 ../src/curl -q --output log/19/curl2050.out --include --trace-ascii log/19/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:35701 -x 127.0.0.1:44431 > log/19/stdout2050 2> log/19/stderr2050 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2059 ../src/curl -q --output log/22/curl2059.out --include --trace-ascii log/22/trace2059 --trace-time http://127.0.0.1:41477/2059 -u auser:apasswd --digest -T log/22/2059 -x http://127.0.0.1:41477 -C 2 -X GET > log/22/stdout2059 2> log/22/stderr2059 test 2051...[Connect to specific host: Reuse existing connections if possible] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2051 ../src/curl -q --include --trace-ascii log/17/trace2051 --trace-time http://127.0.0.1:41219/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:41219 http://127.0.0.1:41219/2051 -w "%{num_connects}\n" --next http://127.0.0.1:41219/2051 -w "%{num_connects}\n" > log/17/stdout2051 2> log/17/stderr2051 2051: stdout FAILED: --- log/17/check-expected 2026-03-14 05:48:34.567949296 +0000 +++ log/17/check-generated 2026-03-14 05:48:34.567949296 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -0[LF] -OK[LF] -0[LF] == Contents of files in the log/17/ directory after test 2051 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 0[LF] OK[LF] 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2051 ../src/curl -q --include --trace-ascii log/17/trace2051 --trace-time http://127.0.0.1:41219/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:41219 http://127.0.0.1:41219/2051 -w "%{num_connects}\n" --next http://127.0.0.1:41219/2051 -w "%{num_connects}\n" > log/17/stdout2051 2> log/17/stderr2051 === End of file commands.log === Start of file http_server.log 05:48:32.603735 ====> Client connect 05:48:32.603781 accept_connection 3 returned 4 05:48:32.603800 accept_connection 3 returned 0 05:48:32.603817 Read 93 bytes 05:48:32.603826 Process 93 bytes request 05:48:32.603839 Got request: GET /verifiedserver HTTP/1.1 05:48:32.603847 Are-we-friendly question received 05:48:32.603870 Wrote request (93 bytes) input to log/17/server.input 05:48:32.603885 Identifying ourselves as friends 05:48:32.603966 Response sent (57 bytes) and written to log/17/server.response 05:48:32.603976 special request received, no persistency 05:48:32.603984 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 36036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 2051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file valgrind2051 ==174114== ==174114== Process terminating with default action of signal 4 (SIGILL) ==174114== Illegal opcode at address 0x4014883 ==174114== at 0x4014883: getparameter (tool_getparam.c:2899) ==174114== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174114== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174114== by 0x4004208: main (tool_main.c:189) === End of file valgrind2051 test 2050...[--connect-to via HTTP proxy (tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2050 ../src/curl -q --output log/19/curl2050.out --include --trace-ascii log/19/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:35701 -x 127.0.0.1:44431 > log/19/stdout2050 2> log/19/stderr2050 2050: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 2050 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2050 ../src/curl -q --output log/19/curl2050.out --include --trace-ascii log/19/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:35701 -x 127.0.0.1:44431 > log/19/stdout2050 2> log/19/stderr2050 === End of file commands.log === Start of file http2_server.log 05:48:31.676391 ====> Client connect 05:48:31.676424 accept_connection 3 returned 4 05:48:31.676439 accept_connection 3 returned 0 05:48:31.676453 Read 93 bytes 05:48:31.676462 Process 93 bytes request 05:48:31.676564 Got request: GET /verifiedserver HTTP/1.1 05:48:31.676577 Are-we-friendly question received 05:48:31.676603 Wrote request (93 bytes) input to log/19/proxy.input 05:48:31.676620 Identifying ourselves as friends 05:48:31.676682 Response sent (57 bytes) and written to log/19/proxy.response 05:48:31.676691 special request received, no persistency 05:48:31.676698 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44431... * Established connection to 127.0.0.1 (127.0.0.1 port 44431) from 127.0.0.1 port 44218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44431 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44431 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 116662 === End of file http2_verify.out === Start of file http_server.log 05:48:31.617078 ====> Client connect 05:48:31.617110 accept_connection 3 returned 4 05:48:31.617126 accept_connection 3 returned 0 05:48:31.617142 Read 93 bytes 05:48:31.617152 Process 93 bytes request 05:48:31.617164 Got request: GET /verifiedserver HTTP/1.1 05:48:31.617173 Are-we-friendly question received 05:48:31.617201 Wrote request (93 bytes) input to log/19/server.input 05:48:31.617217 Identifying ourselves as friends 05:48:31.617273 Response sent (56 bytes) and written to log/19/server.response 05:48:31.617282 special request received, no persistency 05:48:31.617290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 58196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 116662 === End of file proxy.response === Start of file server.cmd Testnum 2050 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind2050 ==174177== ==174177== Process terminating with default action of signal 4 (SIGILL) ==174177== Illegal opcode at address 0x4014883 ==174177== at 0x4014883: getparameter (tool_getparam.c:2899) ==174177== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174177== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174177== by 0x4004208: main (tool_main.c:189) === End of file valgrind2050 test 2059...[HTTP Digest with PUT, resumed upload, modified method, SHA-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --supprCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2053 ../src/curl -q --output log/4/curl2053.out --include --trace-ascii log/4/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40253 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:40253 > log/4/stdout2053 2> log/4/stderr2053 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2058 ../src/curl -q --output log/13/curl2058.out --include --trace-ascii log/13/trace2058 --trace-time http://127.0.0.1:45359/2058 -u auser:apasswd --digest -T log/13/2058 -x http://127.0.0.1:45359 -C 2 -X GET > log/13/stdout2058 2> log/13/stderr2058 essions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2059 ../src/curl -q --output log/22/curl2059.out --include --trace-ascii log/22/trace2059 --trace-time http://127.0.0.1:41477/2059 -u auser:apasswd --digest -T log/22/2059 -x http://127.0.0.1:41477 -C 2 -X GET > log/22/stdout2059 2> log/22/stderr2059 2059: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 2059 === Start of file 2059 test === End of file 2059 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2059 ../src/curl -q --output log/22/curl2059.out --include --trace-ascii log/22/trace2059 --trace-time http://127.0.0.1:41477/2059 -u auser:apasswd --digest -T log/22/2059 -x http://127.0.0.1:41477 -C 2 -X GET > log/22/stdout2059 2> log/22/stderr2059 === End of file commands.log === Start of file http_server.log 05:48:33.230390 ====> Client connect 05:48:33.230436 accept_connection 3 returned 4 05:48:33.230454 accept_connection 3 returned 0 05:48:33.230471 Read 93 bytes 05:48:33.230480 Process 93 bytes request 05:48:33.230495 Got request: GET /verifiedserver HTTP/1.1 05:48:33.230504 Are-we-friendly question received 05:48:33.230527 Wrote request (93 bytes) input to log/22/server.input 05:48:33.230544 Identifying ourselves as friends 05:48:33.230617 Response sent (56 bytes) and written to log/22/server.response 05:48:33.230626 special request received, no persistency 05:48:33.230634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 47088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 2059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind2059 ==174509== ==174509== Process terminating with default action of signal 4 (SIGILL) ==174509== Illegal opcode at address 0x4014883 ==174509== at 0x4014883: getparameter (tool_getparam.c:2899) ==174509== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174509== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174509== by 0x4004208: main (tool_main.c:189) === End of file valgrind2059 test 2053...[Connect to specific host with IP addresses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2053 ../src/curl -q --output log/4/curl2053.out --include --trace-ascii log/4/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40253 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:40253 > log/4/stdout2053 2> log/4/stderr2053 2053: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 2053 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2053 ../src/curl -q --output log/4/curl2053.out --include --trace-ascii log/4/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40253 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:40253 > log/4/stdout2053 2> log/4/stderr2053 === End of file commands.log === Start of file http_server.log 05:48:31.890444 ====> Client connect 05:48:31.890507 accept_connection 3 returned 4 05:48:31.890528 accept_connection 3 returned 0 05:48:31.890546 Read 93 bytes 05:48:31.890556 Process 93 bytes request 05:48:31.890571 Got request: GET /verifiedserver HTTP/1.1 05:48:31.890580 Are-we-friendly question received 05:48:31.890606 Wrote request (93 bytes) input to log/4/server.input 05:48:31.890624 Identifying ourselves as friends 05:48:31.890702 Response sent (56 bytes) and written to log/4/server.response 05:48:31.890713 special request received, no persistency 05:48:31.890722 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 2053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind2053 ==174309== ==174309== Process terminating with default action of signal 4 (SIGILL) ==174309== Illegal opcode at address 0x4014883 ==174309== at 0x4014883: getparameter (tool_getparam.c:2899) ==174309== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174309== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174309== by 0x4004208: main (tool_main.c:189) === End of file valgrind2053 test 2058...[HTTP Digest with PUT, resumed upload, modified method and SHA-256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2058 ../src/curl -q --output log/13/curl2058.out --include --trace-ascii log/13/trace2058 --trace-time http://127.0.0.1:45359/2058 -u auser:apasswd --digest -T log/13/2058 -x http://127.0.0.1:45359 -C 2 -X GET > log/13/stdout2058 2> log/13/stderr2058 2058: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 2058 === Start of file 2058 test === End of file 2058 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2058 ../src/curl -q --output log/13/curl2058.out --include --trace-ascii log/13/trace2058 --trace-time http://127.0.0.1:45359/2058 -u auser:apasswd --digest -T log/13/2058 -x http://127.0.0.1:45359 -C 2 -X GET > log/13/stdout2058 2> log/13/stderr2058 === End of file commands.log === Start of file http_server.log 05:48:33.176680 ====> Client connect 05:48:33.176720 accept_connection 3 returned 4 05:48:33.176739 accept_connection 3 returned 0 05:48:33.176756 Read 93 bytes 05:48:33.176767 Process 93 bytes request 05:48:33.176783 Got request: GET /verifiedserver HTTP/1.1 05:48:33.176792 Are-we-friendly question received 05:48:33.176822 Wrote request (93 bytes) input to log/13/server.input 05:48:33.176842 Identifying ourselves as friends 05:48:33.176909 Response sent (56 bytes) and written to log/13/server.response 05:48:33.176923 special request received, no persistency 05:48:33.176933 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 33810 * using HTTP/1.x > GETCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2052 ../src/curl -q --include --trace-ascii log/23/trace2052 --trace-time http://www.example.com:33217/2052 --resolve www.example.com:33217:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:33217 --connect-to ::127.0.0.1:33217 http://www.example.com:33217/2052 -w "%{num_connects}\n" > log/23/stdout2052 2> log/23/stderr2052 /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 2058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind2058 ==174488== ==174488== Process terminating with default action of signal 4 (SIGILL) ==174488== Illegal opcode at address 0x4014883 ==174488== at 0x4014883: getparameter (tool_getparam.c:2899) ==174488== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174488== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174488== by 0x4004208: main (tool_main.c:189) === End of file valgrind2058 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2061 ../src/curl -q --output log/6/curl2061.out --include --trace-ascii log/6/trace2061 --trace-time http://127.0.0.1:40607/2061 -u testuser:testpass --digest > log/6/stdout2061 2> log/6/stderr2061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2054 ../src/curl -q --output log/12/curl2054.out --include --trace-ascii log/12/trace2054 --trace-time http://127.0.0.1:36353/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:36353/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::36353 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:36353 --connect-to www.example.com:8084:foo:123 > log/12/stdout2054 2> log/12/stderr2054 test 2052...[--connect-to: do not mix connections with and without a "connect to host"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2052 ../src/curl -q --include --trace-ascii log/23/trace2052 --trace-time http://www.example.com:33217/2052 --resolve www.example.com:33217:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:33217 --connect-to ::127.0.0.1:33217 http://www.example.com:33217/2052 -w "%{num_connects}\n" > log/23/stdout2052 2> log/23/stderr2052 2052: stdout FAILED: --- log/23/check-expected 2026-03-14 05:48:35.057949296 +0000 +++ log/23/check-generated 2026-03-14 05:48:35.057949296 +0000 @@ -1,9 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -1[LF] == Contents of files in the log/23/ directory after test 2052 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2052 ../src/curl -q --include --trace-ascii log/23/trace2052 --trace-time http://www.example.com:33217/2052 --resolve www.example.com:33217:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:33217 --connect-to ::127.0.0.1:33217 http://www.example.com:33217/2052 -w "%{num_connects}\n" > log/23/stdout2052 2> log/23/stderr2052 === End of file commands.log === Start of file http_server.log 05:48:32.762744 ====> Client connect 05:48:32.762783 accept_connection 3 returned 4 05:48:32.762801 accept_connection 3 returned 0 05:48:32.763009 Read 93 bytes 05:48:32.763025 Process 93 bytes request 05:48:32.763040 Got request: GET /verifiedserver HTTP/1.1 05:48:32.763050 Are-we-friendly question received 05:48:32.763081 Wrote request (93 bytes) input to log/23/server.input 05:48:32.763099 Identifying ourselves as friends 05:48:32.763163 Response sent (56 bytes) and written to log/23/server.response 05:48:32.763175 special request received, no persistency 05:48:32.763184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 37498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 2052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind2052 ==174209== ==174209== Process terminating with default action of signal 4 (SIGILL) ==174209== Illegal opcode at address 0x4014883 ==174209== at 0x4014883: getparameter (tool_getparam.c:2899) ==174209== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174209== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174209== by 0x4004208: main (tool_main.c:189) === End of file valgrind2052 test 2061...[HTTP with RFC7616 SHA256 Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2061 ../src/curl -q --output log/6/curl2061.out --include --trace-ascii log/6/trace2061 --trace-time http://127.0.0.1:40607/2061 -u testuser:testpass --digest > log/6/stdout2061 2> log/6/stderr2061 2061: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 2061 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2061 ../src/curl -q --output log/6/curl2061.out --include --trace-ascii log/6/trace2061 --trace-time http://127.0.0.1:40607/2061 -u testuser:testpass --digest > log/6/stdout2061 2> log/6/stderr2061 === End of file commands.log === Start of file http_server.log 05:48:32.653245 ====> Client connect 05:48:32.653297 accept_connection 3 returned 4 05:48:32.653313 accept_connection 3 returned 0 05:48:32.653453 Read 93 bytes 05:48:32.653464 Process 93 bytes request 05:48:32.653478 Got request: GET /verifiedserver HTTP/1.1 05:48:32.653487 Are-we-friendly question received 05:48:32.653511 Wrote request (93 bytes) input to log/6/server.input 05:48:32.653527 Identifying ourselves as friends 05:48:32.653576 Response sent (57 bytes) and written to log/6/server.response 05:48:32.653587 special request received, no persistency 05:48:32.653595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 47594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 2061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file valgrind2061 ==174753== ==174753== Process terminating with default action of signal 4 (SIGILL) ==174753== Illegal opcode at address 0x4014883 ==174753== at 0x4014883: getparameter (tool_getparam.c:2899) ==174753== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174753== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174753== by 0x4004208: main (tool_main.c:189) === End of file valgrind2061 test 2054...[Connect to specific host: use the first "connect-to" string that matches] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2054 ../src/curl -q --output log/12/curl2054.out --include --trace-ascii log/12/trace2054 --trace-time http://127.0.0.1:36353/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:36353/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::36353 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:36353 --connect-to www.example.com:8084:foo:123 > log/12/stdout2054 2> log/12/stderr2054 2054: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 2054 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2054 ../src/curl -q --output log/12/curl2054.out --include --trace-ascii log/12/trace2054 --trace-time http://127.0.0.1:36353/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:36353/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::36353 --connecCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2062 ../src/curl -q --output log/7/curl2062.out --include --trace-ascii log/7/trace2062 --trace-time http://127.0.0.1:39013/2062 -u testuser:testpass --digest > log/7/stdout2062 2> log/7/stderr2062 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2060 ../src/curl -q --output log/20/curl2060.out --include --trace-ascii log/20/trace2060 --trace-time http://127.0.0.1:38929/2060 -u auser:apasswd --digest -T log/20/2060 -x http://127.0.0.1:38929 -C 2 -X GET > log/20/stdout2060 2> log/20/stderr2060 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2064 ../src/curl -q --output log/8/curl2064.out --include --trace-ascii log/8/trace2064 --trace-time http://127.0.0.1:45623/2064 -u testuser:test2pass --digest > log/8/stdout2064 2> log/8/stderr2064 t-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:36353 --connect-to www.example.com:8084:foo:123 > log/12/stdout2054 2> log/12/stderr2054 === End of file commands.log === Start of file http_server.log 05:48:33.056795 ====> Client connect 05:48:33.056918 accept_connection 3 returned 4 05:48:33.056941 accept_connection 3 returned 0 05:48:33.056971 Read 93 bytes 05:48:33.056982 Process 93 bytes request 05:48:33.056997 Got request: GET /verifiedserver HTTP/1.1 05:48:33.057007 Are-we-friendly question received 05:48:33.057038 Wrote request (93 bytes) input to log/12/server.input 05:48:33.057056 Identifying ourselves as friends 05:48:33.057141 Response sent (56 bytes) and written to log/12/server.response 05:48:33.057172 special request received, no persistency 05:48:33.057189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 49698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 2054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind2054 ==174401== ==174401== Process terminating with default action of signal 4 (SIGILL) ==174401== Illegal opcode at address 0x4014883 ==174401== at 0x4014883: getparameter (tool_getparam.c:2899) ==174401== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174401== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174401== by 0x4004208: main (tool_main.c:189) === End of file valgrind2054 test 2062...[HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2062 ../src/curl -q --output log/7/curl2062.out --include --trace-ascii log/7/trace2062 --trace-time http://127.0.0.1:39013/2062 -u testuser:testpass --digest > log/7/stdout2062 2> log/7/stderr2062 2062: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 2062 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2062 ../src/curl -q --output log/7/curl2062.out --include --trace-ascii log/7/trace2062 --trace-time http://127.0.0.1:39013/2062 -u testuser:testpass --digest > log/7/stdout2062 2> log/7/stderr2062 === End of file commands.log === Start of file http_server.log 05:48:32.707592 ====> Client connect 05:48:32.707636 accept_connection 3 returned 4 05:48:32.707655 accept_connection 3 returned 0 05:48:32.707672 Read 93 bytes 05:48:32.707683 Process 93 bytes request 05:48:32.707697 Got request: GET /verifiedserver HTTP/1.1 05:48:32.707707 Are-we-friendly question received 05:48:32.707737 Wrote request (93 bytes) input to log/7/server.input 05:48:32.707756 Identifying ourselves as friends 05:48:32.707844 Response sent (56 bytes) and written to log/7/server.response 05:48:32.707857 special request received, no persistency 05:48:32.707865 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 48308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 2062 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind2062 ==174793== ==174793== Process terminating with default action of signal 4 (SIGILL) ==174793== Illegal opcode at address 0x4014883 ==174793== at 0x4014883: getparameter (tool_getparam.c:2899) ==174793== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174793== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174793== by 0x4004208: main (tool_main.c:189) === End of file valgrind2062 test 2060...[HTTP Digest with PUT, resumed upload, SHA-512-256, userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2060 ../src/curl -q --output log/20/curl2060.out --include --trace-ascii log/20/trace2060 --trace-time http://127.0.0.1:38929/2060 -u auser:apasswd --digest -T log/20/2060 -x http://127.0.0.1:38929 -C 2 -X GET > log/20/stdout2060 2> log/20/stderr2060 2060: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 2060 === Start of file 2060 test === End of file 2060 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2060 ../src/curl -q --output log/20/curl2060.out --include --trace-ascii log/20/trace2060 --trace-time http://127.0.0.1:38929/2060 -u auser:apasswd --digest -T log/20/2060 -x http://127.0.0.1:38929 -C 2 -X GET > log/20/stdout2060 2> log/20/stderr2060 === End of file commands.log === Start of file http_server.log 05:48:32.390381 ====> Client connect 05:48:32.390423 accept_connection 3 returned 4 05:48:32.390441 accept_connection 3 returned 0 05:48:32.390456 Read 93 bytes 05:48:32.390466 Process 93 bytes request 05:48:32.390479 Got request: GET /verifiedserver HTTP/1.1 05:48:32.390488 Are-we-friendly question received 05:48:32.390510 Wrote request (93 bytes) input to log/20/server.input 05:48:32.390526 Identifying ourselves as friends 05:48:32.390592 Response sent (56 bytes) and written to log/20/server.response 05:48:32.390601 special request received, no persistency 05:48:32.390609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 2060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind2060 ==174649== ==174649== Process terminating with default action of signal 4 (SIGILL) ==174649== Illegal opcode at address 0x4014883 ==174649== at 0x4014883: getparameter (tool_getparam.c:2899) ==174649== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174649== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174649== by 0x4004208: main (tool_main.c:189) === End of file valgrind2060 test 2064...[HTTP with RFC76CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2063 ../src/curl -q --output log/21/curl2063.out --include --trace-ascii log/21/trace2063 --trace-time http://127.0.0.1:42891/2063 -u testuser:testpass --digest > log/21/stdout2063 2> log/21/stderr2063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2068 ../src/curl -q --output log/24/curl2068.out --include --trace-ascii log/24/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:33593/2068 > log/24/stdout2068 2> log/24/stderr2068 16 Digest authorization with bad password and SHA256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2064 ../src/curl -q --output log/8/curl2064.out --include --trace-ascii log/8/trace2064 --trace-time http://127.0.0.1:45623/2064 -u testuser:test2pass --digest > log/8/stdout2064 2> log/8/stderr2064 2064: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 2064 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2064 ../src/curl -q --output log/8/curl2064.out --include --trace-ascii log/8/trace2064 --trace-time http://127.0.0.1:45623/2064 -u testuser:test2pass --digest > log/8/stdout2064 2> log/8/stderr2064 === End of file commands.log === Start of file http_server.log 05:48:32.792400 ====> Client connect 05:48:32.792432 accept_connection 3 returned 4 05:48:32.792447 accept_connection 3 returned 0 05:48:32.792461 Read 93 bytes 05:48:32.792470 Process 93 bytes request 05:48:32.792483 Got request: GET /verifiedserver HTTP/1.1 05:48:32.792491 Are-we-friendly question received 05:48:32.792514 Wrote request (93 bytes) input to log/8/server.input 05:48:32.792528 Identifying ourselves as friends 05:48:32.792588 Response sent (56 bytes) and written to log/8/server.response 05:48:32.792597 special request received, no persistency 05:48:32.792604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 55230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 2064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind2064 ==174886== ==174886== Process terminating with default action of signal 4 (SIGILL) ==174886== Illegal opcode at address 0x4014883 ==174886== at 0x4014883: getparameter (tool_getparam.c:2899) ==174886== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174886== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174886== by 0x4004208: main (tool_main.c:189) === End of file valgrind2064 test 2063...[HTTP with RFC7616 SHA-256 Digest authorization and userhash=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2063 ../src/curl -q --output log/21/curl2063.out --include --trace-ascii log/21/trace2063 --trace-time http://127.0.0.1:42891/2063 -u testuser:testpass --digest > log/21/stdout2063 2> log/21/stderr2063 2063: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 2063 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2063 ../src/curl -q --output log/21/curl2063.out --include --trace-ascii log/21/trace2063 --trace-time http://127.0.0.1:42891/2063 -u testuser:testpass --digest > log/21/stdout2063 2> log/21/stderr2063 === End of file commands.log === Start of file http_server.log 05:48:32.796805 ====> Client connect 05:48:32.796844 accept_connection 3 returned 4 05:48:32.796861 accept_connection 3 returned 0 05:48:32.796875 Read 93 bytes 05:48:32.796886 Process 93 bytes request 05:48:32.796899 Got request: GET /verifiedserver HTTP/1.1 05:48:32.796909 Are-we-friendly question received 05:48:32.796937 Wrote request (93 bytes) input to log/21/server.input 05:48:32.796971 Identifying ourselves as friends 05:48:32.797039 Response sent (56 bytes) and written to log/21/server.response 05:48:32.797052 special request received, no persistency 05:48:32.797062 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 60606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 2063 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind2063 ==174863== ==174863== Process terminating with default action of signal 4 (SIGILL) ==174863== Illegal opcode at address 0x4014883 ==174863== at 0x4014883: getparameter (tool_getparam.c:2899) ==174863== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174863== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174863== by 0x4004208: main (tool_main.c:189) === End of file valgrind2063 test 2068...[HTTP POST Digest with SHA-512-256, userhash and set Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2068 ../src/curl -q --output log/24/curl2068.out --include --trace-ascii log/24/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:33593/2068 > log/24/stdout2068 2> log/24/stderr2068 2068: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2068 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2068 ../src/curl -q --output log/24/curl2068.out --include --trace-ascii log/24/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:33593/2068 > log/24/stdout2068 2> log/24/stderr2068 === End of file commands.log === Start of file http_server.log 05:48:33.869535 ====> Client connect 05:48:33.869573 accept_connection 3 returned 4 05:48:33.869591 accept_connection 3 returned 0 05:48:33.869606 Read 93 bytes 05:48:33.869616 Process 93 bytes request 05:48:33.869629 Got request: GET /verifiedserver HTTP/1.1 05:48:33.869638 Are-we-friendly question received 05:48:33.869665 Wrote request (93 bytes) input to log/24/server.input 05:48:33.869682 Identifying ourselves as friends 05:48:33.869745 Response sent (56 bytes) and written to log/24/server.response 05:48:33.869755 special request received, no persistency 05:48:33.869764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 38580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 leCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2065 ../src/curl -q --output log/10/curl2065.out --include --trace-ascii log/10/trace2065 --trace-time http://127.0.0.1:46741/2065 -u testuser:test2pass --digest > log/10/stdout2065 2> log/10/stderr2065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2055 ../src/curl -q --output log/15/curl2055.out --include --trace-ascii log/15/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:43413 -x 127.0.0.1:41193 --preproxy socks5://127.0.0.1:36517 > log/15/stdout2055 2> log/15/stderr2055 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2072 ../src/curl -q --output log/11/curl2072.out --trace-ascii log/11/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/11/test2072.txt > log/11/stdout2072 2> log/11/stderr2072 ft intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 2068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind2068 ==174984== ==174984== Process terminating with default action of signal 4 (SIGILL) ==174984== Illegal opcode at address 0x4014883 ==174984== at 0x4014883: getparameter (tool_getparam.c:2899) ==174984== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174984== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174984== by 0x4004208: main (tool_main.c:189) === End of file valgrind2068 test 2065...[HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2065 ../src/curl -q --output log/10/curl2065.out --include --trace-ascii log/10/trace2065 --trace-time http://127.0.0.1:46741/2065 -u testuser:test2pass --digest > log/10/stdout2065 2> log/10/stderr2065 2065: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2065 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2065 ../src/curl -q --output log/10/curl2065.out --include --trace-ascii log/10/trace2065 --trace-time http://127.0.0.1:46741/2065 -u testuser:test2pass --digest > log/10/stdout2065 2> log/10/stderr2065 === End of file commands.log === Start of file http_server.log 05:48:32.809095 ====> Client connect 05:48:32.809128 accept_connection 3 returned 4 05:48:32.809144 accept_connection 3 returned 0 05:48:32.809158 Read 93 bytes 05:48:32.809168 Process 93 bytes request 05:48:32.809181 Got request: GET /verifiedserver HTTP/1.1 05:48:32.809190 Are-we-friendly question received 05:48:32.809214 Wrote request (93 bytes) input to log/10/server.input 05:48:32.809231 Identifying ourselves as friends 05:48:32.809285 Response sent (56 bytes) and written to log/10/server.response 05:48:32.809295 special request received, no persistency 05:48:32.809304 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 57000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 2065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind2065 ==174949== ==174949== Process terminating with default action of signal 4 (SIGILL) ==174949== Illegal opcode at address 0x4014883 ==174949== at 0x4014883: getparameter (tool_getparam.c:2899) ==174949== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174949== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174949== by 0x4004208: main (tool_main.c:189) === End of file valgrind2065 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/15/server/http2_server.pid" --logfile "log/15/http2_server.log" --logdir "log/15" --portfile log/15/server/http2_server.port --config log/15/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 174468 port 41193 * pid http-proxy => 174468 174468 test 2055...[--connect-to via SOCKS proxy and HTTP proxy (tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2055 ../src/curl -q --output log/15/curl2055.out --include --trace-ascii log/15/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:43413 -x 127.0.0.1:41193 --preproxy socks5://127.0.0.1:36517 > log/15/stdout2055 2> log/15/stderr2055 2055: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2055 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2055 ../src/curl -q --output log/15/curl2055.out --include --trace-ascii log/15/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:43413 -x 127.0.0.1:41193 --preproxy socks5://127.0.0.1:36517 > log/15/stdout2055 2> log/15/stderr2055 === End of file commands.log === Start of file http2_server.log 05:48:32.258914 Run as proxy, CONNECT to host 127.0.0.1 05:48:32.259026 Running HTTP IPv4 version on port 41193 05:48:32.259068 Wrote pid 174468 to log/15/server/http2_server.pid 05:48:32.259097 Wrote port 41193 to log/15/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 05:48:33.179690 ====> Client connect 05:48:33.179729 accept_connection 3 returned 4 05:48:33.179746 accept_connection 3 returned 0 05:48:33.179761 Read 93 bytes 05:48:33.179772 Process 93 bytes request 05:48:33.179784 Got request: GET /verifiedserver HTTP/1.1 05:48:33.179794 Are-we-friendly question received 05:48:33.179822 Wrote request (93 bytes) input to log/15/server.input 05:48:33.179840 Identifying ourselves as friends 05:48:33.179906 Response sent (56 bytes) and written to log/15/server.response 05:48:33.179918 special request received, no persistency 05:48:33.179928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43413... * Established connection to 127.0.0.1 (127.0.0.1 port 43413) from 127.0.0.1 port 34592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43413 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43413 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74791 === End of file http_verify.out === Start of file server.cmd Testnum 2055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74791 === End of file server.response === Start of file valgrind2055 ==175387== ==175387== Process terminating with default action of signal 4 (SIGILL) ==175387== Illegal opcode at address 0x4014883 ==175387== at 0x4014883: getparameter (tool_getparam.c:2899) ==175387== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175387== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175387== by 0x4004208: main (tool_main.c:189) === End of file valgrind2055 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2067 ../src/curl -q --output log/14/curl2067.out --include --trace-ascii log/14/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35549/2067 > log/14/stdout2067 2> log/14/stderr2067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2073 ../src/curl -q --output log/5/curl2073.out --include --trace-ascii log/5/trace2073 --trace-time http://127.0.0.1:35621/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:35621/2073 -F 'name=b;filename=b.jpg' > log/5/stdout2073 2> log/5/stderr2073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2066 ../src/curl -q --output log/2/curl2066.out --include --trace-ascii log/2/trace2066 --trace-time http://127.0.0.1:41799/2066 -u testuser:test2pass --digest > log/2/stdout2066 2> log/2/stderr2066 prechecked /usr/bin/perl -e "print 'Test requires a Unix system' if($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'msys');" test 2072...[file:// with Unix path resolution behavior for the case of extra slashes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2072 ../src/curl -q --output log/11/curl2072.out --trace-ascii log/11/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/11/test2072.txt > log/11/stdout2072 2> log/11/stderr2072 2072: data FAILED: --- log/11/check-expected 2026-03-14 05:48:35.717949296 +0000 +++ log/11/check-generated 2026-03-14 05:48:35.717949296 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/11/ directory after test 2072 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2072 ../src/curl -q --output log/11/curl2072.out --trace-ascii log/11/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/11/test2072.txt > log/11/stdout2072 2> log/11/stderr2072 === End of file commands.log === Start of file server.cmd Testnum 2072 === End of file server.cmd === Start of file test2072.txt foo bar bar foo moo === End of file test2072.txt === Start of file valgrind2072 ==175281== ==175281== Process terminating with default action of signal 4 (SIGILL) ==175281== Illegal opcode at address 0x4014883 ==175281== at 0x4014883: getparameter (tool_getparam.c:2899) ==175281== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175281== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175281== by 0x4004208: main (tool_main.c:189) === End of file valgrind2072 test 2067...[HTTP POST --digest with SHA256 and user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2067 ../src/curl -q --output log/14/curl2067.out --include --trace-ascii log/14/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35549/2067 > log/14/stdout2067 2> log/14/stderr2067 2067: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 2067 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2067 ../src/curl -q --output log/14/curl2067.out --include --trace-ascii log/14/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35549/2067 > log/14/stdout2067 2> log/14/stderr2067 === End of file commands.log === Start of file http_server.log 05:48:33.913701 ====> Client connect 05:48:33.913735 accept_connection 3 returned 4 05:48:33.913752 accept_connection 3 returned 0 05:48:33.913768 Read 93 bytes 05:48:33.913778 Process 93 bytes request 05:48:33.913791 Got request: GET /verifiedserver HTTP/1.1 05:48:33.913800 Are-we-friendly question received 05:48:33.913824 Wrote request (93 bytes) input to log/14/server.input 05:48:33.913840 Identifying ourselves as friends 05:48:33.913897 Response sent (56 bytes) and written to log/14/server.response 05:48:33.913907 special request received, no persistency 05:48:33.913916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 44872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 2067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind2067 ==175082== ==175082== Process terminating with default action of signal 4 (SIGILL) ==175082== Illegal opcode at address 0x4014883 ==175082== at 0x4014883: getparameter (tool_getparam.c:2899) ==175082== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175082== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175082== by 0x4004208: main (tool_main.c:189) === End of file valgrind2067 test 2073...[HTTP form posts with handle reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2073 ../src/curl -q --output log/5/curl2073.out --include --trace-ascii log/5/trace2073 --trace-time http://127.0.0.1:35621/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:35621/2073 -F 'name=b;filename=b.jpg' > log/5/stdout2073 2> log/5/stderr2073 2073: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 2073 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2073 ../src/curl -q --output log/5/curl2073.out --include --trace-ascii log/5/trace2073 --trace-time http://127.0.0.1:35621/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:35621/2073 -F 'name=b;filename=b.jpg' > log/5/stdout2073 2> log/5/stderr2073 === End of file commands.log === Start of file http_server.log 05:48:34.196510 ====> Client connect 05:48:34.196552 accept_connection 3 returned 4 05:48:34.196572 accept_connection 3 returned 0 05:48:34.196587 Read 93 bytes 05:48:34.196598 Process 93 bytes request 05:48:34.196613 Got request: GET /verifiedserver HTTP/1.1 05:48:34.196623 Are-we-friendly question received 05:48:34.196657 Wrote request (93 bytes) input to log/5/server.input 05:48:34.196677 Identifying ourselves as friends 05:48:34.196749 Response sent (56 bytes) and written to log/5/server.response 05:48:34.196761 special request received, no persistency 05:48:34.196770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35621... * Established connection to 127.0.0.1 (127.0.0.1 port 35621) from 127.0.0.1 port 52100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35621 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35621 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76297 === End of file http_verify.out === Start of file server.cmd Testnum 2073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76297 === End of file server.response === Start of file valgrind2073 ==175405== ==175405== Process terminating with default action of signal 4 (SIGILL) ==175405== Illegal opcode at address 0x4014883 ==175405== at 0x4014883: getparameter (tool_getparam.c:2899) ==175405== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175405== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175405== by 0x4004208: main (tool_main.c:189) === End of file valgrind2073 test 2066...[HTTP with RFC7616 Digest, bad passwCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2071 ../src/curl -q --output log/1/curl2071.out --trace-ascii log/1/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/1/test2070.txt > log/1/stdout2071 2> log/1/stderr2071 ord, SHA-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2066 ../src/curl -q --output log/2/curl2066.out --include --trace-ascii log/2/trace2066 --trace-time http://127.0.0.1:41799/2066 -u testuser:test2pass --digest > log/2/stdout2066 2> log/2/stderr2066 2066: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2066 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2066 ../src/curl -q --output log/2/curl2066.out --include --trace-ascii log/2/trace2066 --trace-time http://127.0.0.1:41799/2066 -u testuser:test2pass --digest > log/2/stdout2066 2> log/2/stderr2066 === End of file commands.log === Start of file http_server.log 05:48:33.832129 ====> Client connect 05:48:33.832159 accept_connection 3 returned 4 05:48:33.832173 accept_connection 3 returned 0 05:48:33.832186 Read 93 bytes 05:48:33.832195 Process 93 bytes request 05:48:33.832207 Got request: GET /verifiedserver HTTP/1.1 05:48:33.832215 Are-we-friendly question received 05:48:33.832237 Wrote request (93 bytes) input to log/2/server.input 05:48:33.832251 Identifying ourselves as friends 05:48:33.832300 Response sent (56 bytes) and written to log/2/server.response 05:48:33.832309 special request received, no persistency 05:48:33.832316 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 52928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 2066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind2066 ==174960== ==174960== Process terminating with default action of signal 4 (SIGILL) ==174960== Illegal opcode at address 0x4014883 ==174960== at 0x4014883: getparameter (tool_getparam.c:2899) ==174960== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==174960== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==174960== by 0x4004208: main (tool_main.c:189) === End of file valgrind2066 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2074 ../src/curl -q --output log/3/curl2074.out --include --trace-ascii log/3/trace2074 --trace-time http://127.0.0.1:39591/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout2074 2> log/3/stderr2074 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2069 ../src/curl -q --output log/16/curl2069.out --include --trace-ascii log/16/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:44281/2069 > log/16/stdout2069 2> log/16/stderr2069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2075 ../src/curl -q --output log/18/curl2075.out --include --trace-ascii log/18/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/18/stdout2075 2> log/18/stderr2075 test 2071...[basic file:// file with "127.0.0.1" hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2071 ../src/curl -q --output log/1/curl2071.out --trace-ascii log/1/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/1/test2070.txt > log/1/stdout2071 2> log/1/stderr2071 2071: data FAILED: --- log/1/check-expected 2026-03-14 05:48:36.207949295 +0000 +++ log/1/check-generated 2026-03-14 05:48:36.207949295 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/1/ directory after test 2071 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2071 ../src/curl -q --output log/1/curl2071.out --trace-ascii log/1/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/1/test2070.txt > log/1/stdout2071 2> log/1/stderr2071 === End of file commands.log === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==175266== ==175266== Process terminating with default action of signal 4 (SIGILL) ==175266== Illegal opcode at address 0x4014883 ==175266== at 0x4014883: getparameter (tool_getparam.c:2899) ==175266== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175266== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175266== by 0x4004208: main (tool_main.c:189) === End of file valgrind2071 test 2074...[HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2074 ../src/curl -q --output log/3/curl2074.out --include --trace-ascii log/3/trace2074 --trace-time http://127.0.0.1:39591/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout2074 2> log/3/stderr2074 2074: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 2074 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2074 ../src/curl -q --output log/3/curl2074.out --include --trace-ascii log/3/trace2074 --trace-time http://127.0.0.1:39591/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout2074 2> log/3/stderr2074 === End of file commands.log === Start of file http_server.log 05:48:34.223691 ====> Client connect 05:48:34.223730 accept_connection 3 returned 4 05:48:34.223750 accept_connection 3 returned 0 05:48:34.223766 Read 93 bytes 05:48:34.223777 Process 93 bytes request 05:48:34.223790 Got request: GET /verifiedserver HTTP/1.1 05:48:34.223799 Are-we-friendly question received 05:48:34.223825 Wrote request (93 bytes) input to log/3/server.input 05:48:34.223842 Identifying ourselves as friends 05:48:34.223928 Response sent (56 bytes) and written to log/3/server.response 05:48:34.223939 special request received, no persistency 05:48:34.223948 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 52362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 2074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind2074 ==175437== ==175437== Process terminating with default action of signal 4 (SIGILL) ==175437== Illegal opcode at address 0x4014883 ==175437== at 0x4014883: getparameter (tool_getparam.c:2899) ==175437== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175437== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175437== by 0x4004208: main (tool_main.c:189) === End of file valgrind2074 test 2069...[HTTP POST Digest with SHA-256, userhash and set Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2069 ../src/curl -q --output log/16/curl2069.out --include --trace-ascii log/16/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:44281/2069 > log/16/stdout2069 2> log/16/stderr2069 2069: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 2069 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2069 ../src/curl -q --output log/16/curl2069.out --include --trace-ascii log/16/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:44281/2069 > log/16/stdout2069 2> log/16/stderr2069 === End of file commands.log === Start of file http_server.log 05:48:32.962437 ====> Client connect 05:48:32.962469 accept_connection 3 returned 4 05:48:32.962482 accept_connection 3 returned 0 05:48:32.962611 Read 93 bytes 05:48:32.962622 Process 93 bytes request 05:48:32.962635 Got request: GET /verifiedserver HTTP/1.1 05:48:32.962643 Are-we-friendly question received 05:48:32.962703 Wrote request (93 bytes) input to log/16/server.input 05:48:32.962718 Identifying ourselves as friends 05:48:32.962767 Response sent (57 bytes) and written to log/16/server.response 05:48:32.962776 special request received, no persistency 05:48:32.962783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44281... * Established connection to 127.0.0.1 (127.0.0.1 port 44281) from 127.0.0.1 port 50980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44281 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44281 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 164336 === End of file http_verify.out === Start of file server.cmd Testnum 2069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 164336 === End of file server.response === Start of file valgrind2069 ==175150== ==175150== Process terminating with default action of signal 4 (SIGILL) ==175150== Illegal opcode at address 0x4014883 ==175150== at 0x4014883: getparameter (tool_getparam.c:2899) ==175150== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175150== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175150== by 0x4004208: main (tool_main.c:189) === End of file valgrind2069 test 2075...[Verify usernames are not allowed in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2075 ../src/curl -q --output log/18/curl2075.out --include --trace-ascii log/18/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/18/stdout2075 2> log/18/stderr2075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2078 ../src/curl -q --output log/19/curl2078.out --include --trace-ascii log/19/trace2078 --trace-time http://127.0.0.1:35701/2078 --negotiate --data name=value > log/19/stdout2078 2> log/19/stderr2078 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2076 ../src/curl -q --output log/9/curl2076.out --include --trace-ascii log/9/trace2076 --trace-time "http://127.0.0.1:33885/2076?query" -u testuser:testpass --digest > log/9/stdout2076 2> log/9/stderr2076 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2077 ../src/curl -q --output log/17/curl2077.out --include --trace-ascii log/17/trace2077 --trace-time http://127.0.0.1:41219/2077 --fail --negotiate > log/17/stdout2077 2> log/17/stderr2077 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/18/ directory after test 2075 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2075 ../src/curl -q --output log/18/curl2075.out --include --trace-ascii log/18/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/18/stdout2075 2> log/18/stderr2075 === End of file commands.log === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==175420== ==175420== Process terminating with default action of signal 4 (SIGILL) ==175420== Illegal opcode at address 0x4014883 ==175420== at 0x4014883: getparameter (tool_getparam.c:2899) ==175420== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175420== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175420== by 0x4004208: main (tool_main.c:189) === End of file valgrind2075 test 2078...[curl --negotiate should not send empty POST request only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2078 ../src/curl -q --output log/19/curl2078.out --include --trace-ascii log/19/trace2078 --trace-time http://127.0.0.1:35701/2078 --negotiate --data name=value > log/19/stdout2078 2> log/19/stderr2078 2078: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 2078 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2078 ../src/curl -q --output log/19/curl2078.out --include --trace-ascii log/19/trace2078 --trace-time http://127.0.0.1:35701/2078 --negotiate --data name=value > log/19/stdout2078 2> log/19/stderr2078 === End of file commands.log === Start of file http_server.log 05:48:34.157035 ====> Client connect 05:48:34.157076 accept_connection 3 returned 4 05:48:34.157095 accept_connection 3 returned 0 05:48:34.160514 Read 93 bytes 05:48:34.160538 Process 93 bytes request 05:48:34.160553 Got request: GET /verifiedserver HTTP/1.1 05:48:34.160562 Are-we-friendly question received 05:48:34.160604 Wrote request (93 bytes) input to log/19/server.input 05:48:34.160624 Identifying ourselves as friends 05:48:34.160690 Response sent (56 bytes) and written to log/19/server.response 05:48:34.160703 special request received, no persistency 05:48:34.160713 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 58198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 2078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind2078 ==175797== ==175797== Process terminating with default action of signal 4 (SIGILL) ==175797== Illegal opcode at address 0x4014883 ==175797== at 0x4014883: getparameter (tool_getparam.c:2899) ==175797== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175797== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175797== by 0x4004208: main (tool_main.c:189) === End of file valgrind2078 test 2076...[HTTP with digest auth and URI contains query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2076 ../src/curl -q --output log/9/curl2076.out --include --trace-ascii log/9/trace2076 --trace-time "http://127.0.0.1:33885/2076?query" -u testuser:testpass --digest > log/9/stdout2076 2> log/9/stderr2076 2076: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2076 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2076 ../src/curl -q --output log/9/curl2076.out --include --trace-ascii log/9/trace2076 --trace-time "http://127.0.0.1:33885/2076?query" -u testuser:testpass --digest > log/9/stdout2076 2> log/9/stderr2076 === End of file commands.log === Start of file http_server.log 05:48:33.713052 ====> Client connect 05:48:33.713091 accept_connection 3 returned 4 05:48:33.713110 accept_connection 3 returned 0 05:48:33.713126 Read 93 bytes 05:48:33.713136 Process 93 bytes request 05:48:33.713151 Got request: GET /verifiedserver HTTP/1.1 05:48:33.713161 Are-we-friendly question received 05:48:33.713188 Wrote request (93 bytes) input to log/9/server.input 05:48:33.713208 Identifying ourselves as friends 05:48:33.713290 Response sent (56 bytes) and written to log/9/server.response 05:48:33.713303 special request received, no persistency 05:48:33.713313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33885... * Established connection to 127.0.0.1 (127.0.0.1 port 33885) from 127.0.0.1 port 54144 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33885 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33885 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74958 === End of file http_verify.out === Start of file server.cmd Testnum 2076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74958 === End of file server.response === Start of file valgrind2076 ==175686== ==175686== Process terminating with default action of signal 4 (SIGILL) ==175686== Illegal opcode at address 0x4014883 ==175686== at 0x4014883: getparameter (tool_getparam.c:2899) ==175686== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175686== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175686== by 0x4004208: main (tool_main.c:189) === End of file valgrind2076 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2081 ../src/curl -q --include --trace-ascii log/4/trace2081 --trace-time http://user:pass@127.0.0.1:40253/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/4/stdout2081 2> log/4/stderr2081 test 2077...[curl --fail --negotiate to unauthenticated service fails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2077 ../src/curl -q --output log/17/curl2077.out --include --trace-ascii log/17/trace2077 --trace-time http://127.0.0.1:41219/2077 --fail --negotiate > log/17/stdout2077 2> log/17/stderr2077 2077: data FAILED: --- log/17/check-expected 2026-03-14 05:48:36.731282629 +0000 +++ log/17/check-generated 2026-03-14 05:48:36.731282629 +0000 @@ -1,4 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] == Contents of files in the log/17/ directory after test 2077 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2077 ../src/curl -q --output log/17/curl2077.out --include --trace-ascii log/17/trace2077 --trace-time http://127.0.0.1:41219/2077 --fail --negotiate > log/17/stdout2077 2> log/17/stderr2077 === End of file commands.log === Start of file http_server.log 05:48:35.133401 ====> Client connect 05:48:35.133436 accept_connection 3 returned 4 05:48:35.133452 accept_connection 3 returned 0 05:48:35.133467 Read 93 bytes 05:48:35.133477 Process 93 bytes request 05:48:35.133492 Got request: GET /verifiedserver HTTP/1.1 05:48:35.133501 Are-we-friendly question received 05:48:35.133534 Wrote request (93 bytes) input to log/17/server.input 05:48:35.133553 Identifying ourselves as friends 05:48:35.133647 Response sent (57 bytes) and written to log/17/server.response 05:48:35.133661 special request received, no persistency 05:48:35.133670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41219... * Established connection to 127.0.0.1 (127.0.0.1 port 41219) from 127.0.0.1 port 36044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41219 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41219 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 150727 === End of file http_verify.out === Start of file server.cmd Testnum 2077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150727 === End of file server.response === Start of file valgrind2077 ==175792== ==175792== Process terminating with default action of signal 4 (SIGILL) ==175792== Illegal opcode at address 0x4014883 ==175792== at 0x4014883: getparameter (tool_getparam.c:2899) ==175792== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175792== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175792== by 0x4004208: main (tool_main.c:189) === End of file valgrind2077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:45359/2082 > log/13/stdout2082 2> log/13/stderr2082 test 2081...[Automatic referrer credential and anchor stripping check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2081 ../src/curl -q --include --trace-ascii log/4/trace2081 --trace-time http://user:pass@127.0.0.1:40253/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/4/stdout2081 2> log/4/stderr2081 2081: stdout FAILED: --- log/4/check-expected 2026-03-14 05:48:36.751282629 +0000 +++ log/4/check-generated 2026-03-14 05:48:36.751282629 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/20810002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Thanks for following.[LF] -http://127.0.0.1:40253/we/want/our/2081[LF] == Contents of files in the log/4/ directory after test 2081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/20810002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] Connection: close[CR][LF] [CR][LF] Thanks for following.[LF] http://127.0.0.1:40253/we/want/our/2081[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2081 ../src/curl -q --include --trace-ascii log/4/trace2081 --trace-time http://user:pass@127.0.0.1:40253/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/4/stdout2081 2> log/4/stderr2081 === End of file commands.log === Start of file http_server.log 05:48:34.447038 ====> Client connect 05:48:34.447072 accept_connection 3 returned 4 05:48:34.447089 accept_connection 3 returned 0 05:48:34.447104 Read 93 bytes 05:48:34.447113 Process 93 bytes request 05:48:34.447127 Got request: GET /verifiedserver HTTP/1.1 05:48:34.447136 Are-we-friendly question received 05:48:34.447159 Wrote request (93 bytes) input to log/4/server.input 05:48:34.447177 Identifying ourselves as friends 05:48:34.447235 Response sent (56 bytes) and written to log/4/server.response 05:48:34.447245 special request received, no persistency 05:48:34.447254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 48850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 2081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file valgrind2081 ==175940== ==175940== Process terminating with default action of signal 4 (SIGILL) ==175940== Illegal opcode at address 0x4014883 ==175940== at 0x4014883: getparameter (tool_getparam.c:2899) ==175940== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175940== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175940== by 0x4004208: main (tool_main.c:189) === End of file valgrind2081 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2086 ./libtest/libtests lib2082 [::1]:34357/2086#ipv6 > log/7/stdout2086 2> log/7/stderr2086 test 2082...[Pre-request callback for HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:45359/2082 > log/13/stdout2082 2> log/13/stderr2082 2082: stdout FAILED: --- log/13/check-expected 2026-03-14 05:48:37.307949294 +0000 +++ log/13/check-generated 2026-03-14 05:48:37.307949294 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 45359[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/13/ directory after test 2082 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 45359[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:45359/2082 > log/13/stdout2082 2> log/13/stderr2082 === End of file commands.log === Start of file http_server.log 05:48:35.589951 ====> Client connect 05:48:35.590015 accept_connection 3 returned 4 05:48:35.590031 accept_connection 3 returned 0 05:48:35.590045 Read 93 bytes 05:48:35.590055 Process 93 bytes request 05:48:35.590069 Got request: GET /verifiedserver HTTP/1.1 05:48:35.590077 Are-we-friendly question received 05:48:35.590102 Wrote request (93 bytes) input to log/13/server.input 05:48:35.590119 Identifying ourselves as friends 05:48:35.590175 Response sent (56 bytes) and written to log/13/server.response 05:48:35.590184 special request received, no persistency 05:48:35.590193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 33818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 2082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr2082 URL: 127.0.0.1:45359/2082 === End of file stderr2082 === Start of file valgrind2082 ==176031== ==176031== Process terminating with default action of signal 4 (SIGILL) ==176031== Illegal opcode at address 0x51D8933 ==176031== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176031== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176031== by 0x51D8933: Curl_open (url.c:503) ==176031== by 0x514E50F: curl_easy_init (easy.c:350) ==176031== by 0x4042837: test_lib2082.lto_priv.0 (lib2082.c:65) ==176031== by 0x40034B5: main (first.c:279) === End of file valgrind2082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:40607/2084#err > log/6/stdout2084 2> log/6/stderr2084 setenv MSYS2_ARG_CONV_EXCL = * test 2086...[Pre-request callback for HTTP IPv6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2086 ./libtest/libtests lib2082 [::1]:34357/2086#ipv6 > log/7/stdout2086 2> log/7/stderr2086 2086: stdout FAILED: --- log/7/check-expected 2026-03-14 05:48:37.467949295 +0000 +++ log/7/check-generated 2026-03-14 05:48:37.467949295 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 34357[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/7/ directory after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 34357[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2086 ./libtest/libtests lib2082 [::1]:34357/2086#ipv6 > log/7/stdout2086 2> log/7/stderr2086 === End of file commands.log === Start of file http_ipv6_server.log 05:48:35.877035 ====> Client connect 05:48:35.877073 accept_connection 3 returned 4 05:48:35.877089 accept_connection 3 returned 0 05:48:35.877104 Read 89 bytes 05:48:35.877113 Process 89 bytes request 05:48:35.877140 Got request: GET /verifiedserver HTTP/1.1 05:48:35.877149 Are-we-friendly question received 05:48:35.877176 Wrote request (89 bytes) input to log/7/server.input 05:48:35.877194 Identifying ourselves as friends 05:48:35.877264 Response sent (57 bytes) and written to log/7/server.response 05:48:35.877278 special request received, no persistency 05:48:35.877287 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:34357... * Established connection to ::1 (::1 port 34357) from ::1 port 46256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:34357 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:34357 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 145167 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 2086 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 145167 === End of file server.response === Start of file stderr2086 URL: [::1]:34357/2086#ipv6 === End of file stderr2086 === Start of file valgrind2086 ==176313== ==176313== Process terminating with default action of signal 4 (SIGILL) ==176313== Illegal opcode at address 0x51D8933 ==176313== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176313== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176313== by 0x51D8933: Curl_open (url.c:503) ==176313== by 0x514E50F: curl_easy_init (easy.c:350) ==176313== by 0x4042837: test_lib2082.lto_priv.0 (lib2082.c:65) ==176313== by 0x40034B5: main (first.c:279) === End of file valgrind2086 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2080 ../src/curl -q --output log/22/curl2080.out --include --trace-ascii log/22/trace2080 --trace-time -K log/22/config2080 file://de\>v/null > log/22/stdout2080 2> log/22/stderr2080 test 2084...[Pre-request callback for HTTP with callback terminating transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:40607/2084#err > log/6/stdout2084 2> log/6/stderr2084 2084: stdout FAILED: --- log/6/check-expected 2026-03-14 05:48:37.487949295 +0000 +++ log/6/check-generated 2026-03-14 05:48:37.487949295 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40607[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/6/ directory after test 2084 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 40607[LF] Local port = stripped[LF] Returning = 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:40607/2084#err > log/6/stdout2084 2> log/6/stderr2084 === End of file commands.log === Start of file http_server.log 05:48:34.694449 ====> Client connect 05:48:34.694481 accept_connection 3 returned 4 05:48:34.694497 accept_connection 3 returned 0 05:48:34.694512 Read 93 bytes 05:48:34.694521 Process 93 bytes request 05:48:34.694535 Got request: GET /verifiedserver HTTP/1.1 05:48:34.694544 Are-we-friendly question received 05:48:34.694567 Wrote request (93 bytes) input to log/6/server.input 05:48:34.694584 Identifying ourselves as friends 05:48:34.694637 Response sent (57 bytes) and written to log/6/server.response 05:48:34.694646 special request received, no persistency 05:48:34.694655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 47606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 2084 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file stderr2084 URL: 127.0.0.1:40607/2084#err === End of file stderr2084 === Start of file valgrind2084 ==176133== ==176133== Process terminating with default action of signal 4 (SIGILL) ==176133== Illegal opcode at address 0x51D8933 ==176133== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176133== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176133== by 0x51D8933: Curl_open (url.c:503) ==176133== by 0x514E50F: curl_easy_init (easy.c:350) ==176133== by 0x4042837: test_lib2082.lto_priv.0 (lib2082.c:65) ==176133== by 0x40034B5: main (first.c:279) === End of file valgrind2084 test 2080...[config file with overly long option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2080 ../src/curl -q --output log/22/curl2080.out --include --trace-ascii log/22/trace2080 --trace-time -K log/22/config2080 file://de\>v/null > log/22/stdout2080 2> log/22/stderr2080 curl returned 132, when expecting 2 2080: exit FAILED == Contents of files in the log/22/ directory after test 2080 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2080 ../src/curl -q --output log/22/curl2080.out --include --trace-ascii log/22/trace2080 --trace-time -K log/22/config2080 file://de\>v/null > log/22/stdout2080 2> log/22/stderr2080 === End of file commands.log === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==175896== ==175896== Process terminating with default action of signal 4 (SIGILL) ==175896== Illegal opcode at address 0x4014883 ==175896== at 0x4014883: gCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2203 ../src/curl -q --output log/10/curl2203.out --include --trace log/10/trace2203 --trace-time mqtt://127.0.0.1:42109/2203 > log/10/stdout2203 2> log/10/stderr2203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:36353/2085#redir > log/12/stdout2085 2> log/12/stderr2085 etparameter (tool_getparam.c:2899) ==175896== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==175896== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==175896== by 0x4004208: main (tool_main.c:189) === End of file valgrind2080 test 2203...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2203 ../src/curl -q --output log/10/curl2203.out --include --trace log/10/trace2203 --trace-time mqtt://127.0.0.1:42109/2203 > log/10/stdout2203 2> log/10/stderr2203 2203: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2203 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2203 ../src/curl -q --output log/10/curl2203.out --include --trace log/10/trace2203 --trace-time mqtt://127.0.0.1:42109/2203 > log/10/stdout2203 2> log/10/stderr2203 === End of file commands.log === Start of file server.cmd error-CONNACK 5 Testnum 2203 === End of file server.cmd === Start of file valgrind2203 ==176456== ==176456== Process terminating with default action of signal 4 (SIGILL) ==176456== Illegal opcode at address 0x4014883 ==176456== at 0x4014883: getparameter (tool_getparam.c:2899) ==176456== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176456== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176456== by 0x4004208: main (tool_main.c:189) === End of file valgrind2203 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:35549/2306 http://127.0.0.1:35549/23060002 > log/14/stdout2306 2> log/14/stderr2306 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2091 ../src/curl -q --output log/20/curl2091.out --include --trace-ascii log/20/trace2091 --trace-time http://127.0.0.1:38929/20910001 -u testuser:testpass --digest --next http://127.0.0.1:38929/20910003 -u testuser:testpass --digest > log/20/stdout2091 2> log/20/stderr2091 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40271/test-2083/ > log/23/stdout2083 2> log/23/stderr2083 test 2085...[Pre-request callback for HTTP with location following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:36353/2085#redir > log/12/stdout2085 2> log/12/stderr2085 2085: stdout FAILED: --- log/12/check-expected 2026-03-14 05:48:37.614615961 +0000 +++ log/12/check-generated 2026-03-14 05:48:37.614615961 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 36353[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 36353[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/12/ directory after test 2085 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 36353[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 36353[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:36353/2085#redir > log/12/stdout2085 2> log/12/stderr2085 === End of file commands.log === Start of file http_server.log 05:48:35.736368 ====> Client connect 05:48:35.736405 accept_connection 3 returned 4 05:48:35.736423 accept_connection 3 returned 0 05:48:35.736438 Read 93 bytes 05:48:35.736449 Process 93 bytes request 05:48:35.736462 Got request: GET /verifiedserver HTTP/1.1 05:48:35.736471 Are-we-friendly question received 05:48:35.736500 Wrote request (93 bytes) input to log/12/server.input 05:48:35.736518 Identifying ourselves as friends 05:48:35.736687 Response sent (56 bytes) and written to log/12/server.response 05:48:35.736701 special request received, no persistency 05:48:35.736710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 49708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 2085 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file stderr2085 URL: 127.0.0.1:36353/2085#redir === End of file stderr2085 === Start of file valgrind2085 ==176168== ==176168== Process terminating with default action of signal 4 (SIGILL) ==176168== Illegal opcode at address 0x51D8933 ==176168== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176168== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176168== by 0x51D8933: Curl_open (url.c:503) ==176168== by 0x514E50F: curl_easy_init (easy.c:350) ==176168== by 0x4042837: test_lib2082.lto_priv.0 (lib2082.c:65) ==176168== by 0x40034B5: main (first.c:279) === End of file valgrind2085 test 2306...[HTTP GET reused handle with first header folded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:35549/2306 http://127.0.0.1:35549/23060002 > log/14/stdout2306 2> log/14/stderr2306 2306: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 2306 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:35549/2306 http://127.0.0.1:35549/23060002 > log/14/stdout2306 2> log/14/stderr2306 === End of file commands.log === Start of file http_server.log 05:48:36.349194 ====> Client connect 05:48:36.349223 accept_connection 3 returned 4 05:48:36.349237 accept_connection 3 returned 0 05:48:36.349250 Read 93 bytes 05:48:36.349259 Process 93 bytes request 05:48:36.349273 Got request: GET /verifiedserver HTTP/1.1 05:48:36.349281 Are-we-friendly question received 05:48:36.349301 Wrote request (93 bytes) input to log/14/server.input 05:48:36.349317 Identifying ourselves as friends 05:48:36.349366 Response sent (56 bytes) and written to log/14/server.response 05:48:36.349374 special request received, no persistency 05:48:36.349383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 44886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 2306 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file stderr2306 URL: http://127.0.0.1:35549/2306 === End of file stderr2306 === Start of file valgrind2306 ==176550== ==176550== Process terminating with default action of signal 4 (SIGILL) ==176550== Illegal opcode at address 0x51D8933 ==176550== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176550== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176550== by 0x51D8933: Curl_open (url.c:503) ==176550== by 0x514E50F: curl_easy_init (easy.c:350) ==176550== by 0x4042DE8: UnknownInlinedFun (lib2306.c:34) ==176550== by 0x4042DE8: test_lib2306.lto_priv.0 (lib2306.c:26) ==176550== by 0x40034B5: main (first.c:279) === End of file valgrind2306 test 2091...[HTTP Digest auth with OWS and escaped quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2091 ../src/curl -q --output log/20/curl2091.out --include --trace-ascii log/20/trace2091 --trace-time http://127.0.0.1:38929/20910001 -u testuser:testpass --digest --next http://127.0.0.1:38929/20910003 -u testuser:testpass --digest > log/20/stdout2091 2> log/20/stderr2091 2091: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 2091 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2091 ../src/curl -q --output log/20/curl2091.out --include --trace-ascii log/20/trace2091 --trace-time http://127.0.0.1:38929/20910001 -u testuser:testpass --digest --next http://127.0.0.1:38929/20910003 -u testuser:testpass --digest > log/20/stdout2091 2> log/20/stderr2091 === End of file commands.log === Start of file http_server.log 05:48:34.934627 ====> Client connect 05:48:34.934659 accept_connection 3 returned 4 05:48:34.934673 accept_connection 3 returned 0 05:48:34.934686 Read 93 bytes 05:48:34.934696 Process 93 bytes request 05:48:34.934710 Got request: GET /verifiedserver HTTP/1.1 05:48:34.934719 Are-we-friendly question received 05:48:34.934743 Wrote request (93 bytes) input to log/20/server.input 05:48:34.934758 Identifying ourselves as friends 05:48:34.934812 Response sent (56 bytes) and written to log/20/server.response 05:48:34.934822 special request received, no persistency 05:48:34.934830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38929... * Established connection to 127.0.0.1 (127.0.0.1 port 38929) from 127.0.0.1 port 37374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38929 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38929 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74786 === End of file http_verify.out === Start of file server.cmd Testnum 2091 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74786 === End of file server.response === Start of file valgrind2091 ==176336== ==176336== Process terminating with default action of signal 4 (SIGILL) ==176336== Illegal opcode at address 0x4014883 ==176336== at 0x4014883: getparameter (tool_getparam.c:2899) ==176336== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176336== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176336== by 0x4004208: main (tool_main.c:189) === End of file valgrind2091 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2307 ../src/curl -q --output log/5/curl2307.out --include --trace-ascii log/5/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:39947/2307 > log/5/stdout2307 2> log/5/stderr2307 test 2083...[Pre-request callback for FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40271/test-2083/ > log/23/stdout2083 2> log/23/stderr2083 2083: stdout FAILED: --- log/23/check-expected 2026-03-14 05:48:37.634615961 +0000 +++ log/23/check-generated 2026-03-14 05:48:37.634615961 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40271[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/23/ directory after test 2083 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 40271[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:40271/test-2083/ > log/23/stdout2083 2> log/23/stderr2083 === End of file commands.log === Start of file ftp_server.log 05:48:35.171973 ====> Client connect 05:48:35.172139 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:35.172424 < "USER anonymous" 05:48:35.172457 > "331 We are happy you popped in![CR][LF]" 05:48:35.172607 < "PASS ftp@example.com" 05:48:35.172630 > "230 Welcome you silly person[CR][LF]" 05:48:35.172764 < "PWD" 05:48:35.172791 > "257 "/" is current directory[CR][LF]" 05:48:35.172931 < "EPSV" 05:48:35.172954 ====> Passive DATA channel requested by client 05:48:35.172967 DATA sockfilt for passive data channel starting... 05:48:35.177662 DATA sockfilt for passive data channel started (pid 176058) 05:48:35.177779 DATA sockfilt for passive data channel listens on port 40093 05:48:35.177822 > "229 Entering Passive Mode (|||40093|)[CR][LF]" 05:48:35.177840 Client has been notified that DATA conn will be accepted on port 40093 05:48:35.179129 Client connects to port 40093 05:48:35.179162 ====> Client established passive DATA connection on port 40093 05:48:35.179251 < "TYPE I" 05:48:35.179282 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:35.179442 < "SIZE verifiedserver" 05:48:35.179479 > "213 17[CR][LF]" 05:48:35.179625 < "RETR verifiedserver" 05:48:35.179660 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:35.179750 =====> Closing passive DATA connection... 05:48:35.179766 Server disconnects passive DATA connection 05:48:35.179993 Server disconnected passive DATA connection 05:48:35.180020 DATA sockfilt for passive data channel quits (pid 176058) 05:48:35.180230 DATA sockfilt for passive data channel quit (pid 176058) 05:48:35.180252 =====> Closed passive DATA connection 05:48:35.180277 > "226 File transfer complete[CR][LF]" 05:48:35.225896 < "QUIT" 05:48:35.225958 > "221 bye bye baby[CR][LF]" 05:48:35.227235 MAIN sockfilt said DISC 05:48:35.227266 ====> Client disconnected 05:48:35.227353 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:35.633302 ====> Client connect 05:48:35.633595 Received DATA (on stdin) 05:48:35.633608 > 146 bytes data, server => client 05:48:35.633628 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:35.633637 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:35.633646 '220 \___|\___/|_| \_\_____|\r\n' 05:48:35.633733 < 16 bytes data, client => server 05:48:35.633744 'USER anonymous\r\n' 05:48:35.633907 Received DATA (on stdin) 05:48:35.633918 > 33 bytes data, server => client 05:48:35.633927 '331 We are happy you popped in!\r\n' 05:48:35.633975 < 22 bytes data, client => server 05:48:35.633985 'PASS ftp@example.com\r\n' 05:48:35.634076 Received DATA (on stdin) 05:48:35.634086 > 30 bytes data, server => client 05:48:35.634096 '230 Welcome you silly person\r\n' 05:48:35.634139 < 5 bytes data, client => server 05:48:35.634148 'PWD\r\n' 05:48:35.634236 Received DATA (on stdin) 05:48:35.634245 > 30 bytes data, server => client 05:48:35.634255 '257 "/" is current directory\r\n' 05:48:35.634306 < 6 bytes data, client => server 05:48:35.634315 'EPSV\r\n' 05:48:35.640303 Received DATA (on stdin) 05:48:35.640325 > 39 bytes data, server => client 05:48:35.640337 '229 Entering Passive Mode (|||40093|)\r\n' 05:48:35.640500 < 8 bytes data, client => server 05:48:35.640513 'TYPE I\r\n' 05:48:35.640732 Received DATA (on stdin) 05:48:35.640744 > 33 bytes data, server => client 05:48:35.640754 '200 I modify TYPE as you wanted\r\n' 05:48:35.640805 < 21 bytes data, client => server 05:48:35.640817 'SIZE verifiedserver\r\n' 05:48:35.640927 Received DATA (on stdin) 05:48:35.640938 > 8 bytes data, server => client 05:48:35.640947 '213 17\r\n' 05:48:35.640995 < 21 bytes data, client => server 05:48:35.641005 'RETR verifiedserver\r\n' 05:48:35.641217 Received DATA (on stdin) 05:48:35.641229 > 29 bytes data, server => client 05:48:35.641240 '150 Binary junk (17 bytes).\r\n' 05:48:35.641726 Received DATA (on stdin) 05:48:35.641738 > 28 bytes data, server => client 05:48:35.641748 '226 File transfer complete\r\n' 05:48:35.687139 < 6 bytes data, client => server 05:48:35.687176 'QUIT\r\n' 05:48:35.687411 Received DATA (on stdin) 05:48:35.687421 > 18 bytes data, server => client 05:48:35.687431 '221 bye bye baby\r\n' 05:48:35.688632 ====> Client disconnect 05:48:35.688800 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:35.637938 Running IPv4 version 05:48:35.638010 Listening on port 40093 05:48:35.638044 Wrote pid 176058 to log/23/server/ftp_sockdata.pid 05:48:35.639046 Received PING (on stdin) 05:48:35.639138 Received PORT (on stdin) 05:48:35.640532 ====> Client connect 05:48:35.641266 Received DATA (on stdin) 05:48:35.641278 > 17 bytes data, server => client 05:48:35.641289 'WE ROOLZ: 81405\r\n' 05:48:35.641311 Received DISC (on stdin) 05:48:35.641321 ====> Client forcibly disconnected 05:48:35.641475 Received QUIT (on stdin) 05:48:35.641486 quits 05:48:35.641542 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2083 === End of file server.cmd === Start of file stderr2083 URL: ftp://127.0.0.1:40271/test-2083/ === End of file stderr2083 === Start of file valgrind2083 ==176115== ==176115== Process terminating with default action of signal 4 (SIGILL) ==176115== Illegal opcode at address 0x51D8933 ==176115== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176115== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176115== by 0x51D8933: Curl_open (url.c:503) ==176115== by 0x514E50F: curl_easy_init (easy.c:350) ==176115== by 0x4042837: test_lib2082.lto_priv.0 (lib2082.c:65) ==176115== by 0x40034B5: main (first.c:279) === End of file valgrind2083 test 2307...[FTP retrieve a byte-range with end larger than file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2307 ../src/curl -q --output log/5/curl2307.out --include --trace-ascii log/5/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:39947/2307 > log/5/stdout2307 2> log/5/stderr2307 2307: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 2307 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2307 ../src/curl -q --output log/5/curl2307.out --include --trace-ascii log/5/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:39947/2307 > log/5/stdout2307 2> log/5/stderr2307 === End of file commands.loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2601 ./unit/units unit2601 - > log/4/stdout2601 2> log/4/stderr2601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:41799/2308 > log/2/stdout2308 2> log/2/stderr2308 g === Start of file ftp_server.log 05:48:35.981618 ====> Client connect 05:48:35.981862 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:35.982165 < "USER anonymous" 05:48:35.982222 > "331 We are happy you popped in![CR][LF]" 05:48:35.982444 < "PASS ftp@example.com" 05:48:35.982476 > "230 Welcome you silly person[CR][LF]" 05:48:35.982666 < "PWD" 05:48:35.982708 > "257 "/" is current directory[CR][LF]" 05:48:35.982917 < "EPSV" 05:48:35.982949 ====> Passive DATA channel requested by client 05:48:35.982967 DATA sockfilt for passive data channel starting... 05:48:35.989069 DATA sockfilt for passive data channel started (pid 176603) 05:48:35.989209 DATA sockfilt for passive data channel listens on port 46305 05:48:35.989266 > "229 Entering Passive Mode (|||46305|)[CR][LF]" 05:48:35.989288 Client has been notified that DATA conn will be accepted on port 46305 05:48:35.989630 Client connects to port 46305 05:48:35.989669 ====> Client established passive DATA connection on port 46305 05:48:35.989771 < "TYPE I" 05:48:35.989817 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:35.989986 < "SIZE verifiedserver" 05:48:35.990026 > "213 17[CR][LF]" 05:48:35.990176 < "RETR verifiedserver" 05:48:35.990213 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:35.990319 =====> Closing passive DATA connection... 05:48:35.990339 Server disconnects passive DATA connection 05:48:35.990597 Server disconnected passive DATA connection 05:48:35.990629 DATA sockfilt for passive data channel quits (pid 176603) 05:48:35.990911 DATA sockfilt for passive data channel quit (pid 176603) 05:48:35.990939 =====> Closed passive DATA connection 05:48:35.990965 > "226 File transfer complete[CR][LF]" 05:48:36.039207 < "QUIT" 05:48:36.039279 > "221 bye bye baby[CR][LF]" 05:48:36.040838 MAIN sockfilt said DISC 05:48:36.040877 ====> Client disconnected 05:48:36.040972 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:36.442930 ====> Client connect 05:48:36.443236 Received DATA (on stdin) 05:48:36.443258 > 146 bytes data, server => client 05:48:36.443327 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:36.443343 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:36.443354 '220 \___|\___/|_| \_\_____|\r\n' 05:48:36.443442 < 16 bytes data, client => server 05:48:36.443460 'USER anonymous\r\n' 05:48:36.443698 Received DATA (on stdin) 05:48:36.443714 > 33 bytes data, server => client 05:48:36.443726 '331 We are happy you popped in!\r\n' 05:48:36.443787 < 22 bytes data, client => server 05:48:36.443803 'PASS ftp@example.com\r\n' 05:48:36.443927 Received DATA (on stdin) 05:48:36.443940 > 30 bytes data, server => client 05:48:36.443951 '230 Welcome you silly person\r\n' 05:48:36.444013 < 5 bytes data, client => server 05:48:36.444029 'PWD\r\n' 05:48:36.444166 Received DATA (on stdin) 05:48:36.444180 > 30 bytes data, server => client 05:48:36.444192 '257 "/" is current directory\r\n' 05:48:36.444262 < 6 bytes data, client => server 05:48:36.444279 'EPSV\r\n' 05:48:36.450750 Received DATA (on stdin) 05:48:36.450770 > 39 bytes data, server => client 05:48:36.450782 '229 Entering Passive Mode (|||46305|)\r\n' 05:48:36.450990 < 8 bytes data, client => server 05:48:36.451009 'TYPE I\r\n' 05:48:36.451275 Received DATA (on stdin) 05:48:36.451287 > 33 bytes data, server => client 05:48:36.451298 '200 I modify TYPE as you wanted\r\n' 05:48:36.451351 < 21 bytes data, client => server 05:48:36.451361 'SIZE verifiedserver\r\n' 05:48:36.451474 Received DATA (on stdin) 05:48:36.451485 > 8 bytes data, server => client 05:48:36.451495 '213 17\r\n' 05:48:36.451544 < 21 bytes data, client => server 05:48:36.451554 'RETR verifiedserver\r\n' 05:48:36.451791 Received DATA (on stdin) 05:48:36.451805 > 29 bytes data, server => client 05:48:36.451816 '150 Binary junk (17 bytes).\r\n' 05:48:36.452417 Received DATA (on stdin) 05:48:36.452431 > 28 bytes data, server => client 05:48:36.452442 '226 File transfer complete\r\n' 05:48:36.500424 < 6 bytes data, client => server 05:48:36.500468 'QUIT\r\n' 05:48:36.500745 Received DATA (on stdin) 05:48:36.500761 > 18 bytes data, server => client 05:48:36.500772 '221 bye bye baby\r\n' 05:48:36.501926 ====> Client disconnect 05:48:36.502432 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:35.448114 Running IPv4 version 05:48:35.448197 Listening on port 46305 05:48:35.448245 Wrote pid 176603 to log/5/server/ftp_sockdata.pid 05:48:35.450451 Received PING (on stdin) 05:48:35.450552 Received PORT (on stdin) 05:48:35.451033 ====> Client connect 05:48:35.451845 Received DATA (on stdin) 05:48:35.451860 > 17 bytes data, server => client 05:48:35.451872 'WE ROOLZ: 81382\r\n' 05:48:35.451903 Received DISC (on stdin) 05:48:35.451917 ====> Client forcibly disconnected 05:48:35.452088 Received QUIT (on stdin) 05:48:35.452101 quits 05:48:35.452166 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2307 === End of file server.cmd === Start of file valgrind2307 ==176615== ==176615== Process terminating with default action of signal 4 (SIGILL) ==176615== Illegal opcode at address 0x4014883 ==176615== at 0x4014883: getparameter (tool_getparam.c:2899) ==176615== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176615== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176615== by 0x4004208: main (tool_main.c:189) === End of file valgrind2307 test 2601...[bufq unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2601 ./unit/units unit2601 - > log/4/stdout2601 2> log/4/stderr2601 units returned 132, when expecting 0 2601: exit FAILED == Contents of files in the log/4/ directory after test 2601 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2601 ./unit/units unit2601 - > log/4/stdout2601 2> log/4/stderr2601 === End of file commands.log === Start of file server.cmd Testnum 2601 === End of file server.cmd === Start of file stderr2601 URL: - === End of file stderr2601 === Start of file valgrind2601 ==177053== ==177053== Process terminating with default action of signal 4 (SIGILL) ==177053== Illegal opcode at address 0x401FB47 ==177053== at 0x401FB47: UnknownInlinedFun (string_fortified.h:59) ==177053== by 0x401FB47: UnknownInlinedFun (bufq.c:211) ==177053== by 0x401FB47: UnknownInlinedFun (bufq.c:226) ==177053== by 0x401FB47: test_unit2601.lto_priv.0 (unit2601.c:217) ==177053== by 0x400B145: main (first.c:279) === End of file valgrind2601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2201 ../src/curl -q --output log/21/curl2201.out --include --trace log/21/trace2201 --trace-time mqtt://127.0.0.1:39015/2201 -d something -u testuser:testpasswd > log/21/stdout2201 2> log/21/stderr2201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2200 ../src/curl -q --output log/8/curl2200.out --include --trace log/8/trace2200 --trace-time mqtt://127.0.0.1:44143/2200 -u fakeuser:fakepasswd > log/8/stdout2200 2> log/8/stderr2200 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2602 ./unit/units unit2602 - > log/13/stdout2602 2> log/13/stderr2602 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2603 ./unit/units unit2603 - > log/7/stdout2603 2> log/7/stderr2603 test 2308...[verify return code when write callback returns error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:41799/2308 > log/2/stdout2308 2> log/2/stderr2308 2308: stdout FAILED: --- log/2/check-expected 2026-03-14 05:48:37.941282627 +0000 +++ log/2/check-generated 2026-03-14 05:48:37.941282627 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/2/ directory after test 2308 === Start of file check-expected Returned 23, should be 23.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:41799/2308 > log/2/stdout2308 2> log/2/stderr2308 === End of file commands.log === Start of file http_server.log 05:48:36.721900 ====> Client connect 05:48:36.721933 accept_connection 3 returned 4 05:48:36.721948 accept_connection 3 returned 0 05:48:36.721962 Read 93 bytes 05:48:36.721972 Process 93 bytes request 05:48:36.721985 Got request: GET /verifiedserver HTTP/1.1 05:48:36.721994 Are-we-friendly question received 05:48:36.722019 Wrote request (93 bytes) input to log/2/server.input 05:48:36.722035 Identifying ourselves as friends 05:48:36.722089 Response sent (56 bytes) and written to log/2/server.response 05:48:36.722098 special request received, no persistency 05:48:36.722107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 52934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 2308 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file stderr2308 URL: http://127.0.0.1:41799/2308 === End of file stderr2308 === Start of file valgrind2308 ==176699== ==176699== Process terminating with default action of signal 4 (SIGILL) ==176699== Illegal opcode at address 0x51D8933 ==176699== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176699== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176699== by 0x51D8933: Curl_open (url.c:503) ==176699== by 0x514E50F: curl_easy_init (easy.c:350) ==176699== by 0x4043A2A: UnknownInlinedFun (lib2308.c:41) ==176699== by 0x4043A2A: test_lib2308.lto_priv.0 (lib2308.c:35) ==176699== by 0x40034B5: main (first.c:279) === End of file valgrind2308 test 2201...[MQTT PUBLISH with user and password valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2201 ../src/curl -q --output log/21/curl2201.out --include --trace log/21/trace2201 --trace-time mqtt://127.0.0.1:39015/2201 -d something -u testuser:testpasswd > log/21/stdout2201 2> log/21/stderr2201 2201: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 2201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2201 ../src/curl -q --output log/21/curl2201.out --include --trace log/21/trace2201 --trace-time mqtt://127.0.0.1:39015/2201 -d something -u testuser:testpasswd > log/21/stdout2201 2> log/21/stderr2201 === End of file commands.log === Start of file server.cmd Testnum 2201 === End of file server.cmd === Start of file valgrind2201 ==176364== ==176364== Process terminating with default action of signal 4 (SIGILL) ==176364== Illegal opcode at address 0x4014883 ==176364== at 0x4014883: getparameter (tool_getparam.c:2899) ==176364== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176364== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176364== by 0x4004208: main (tool_main.c:189) === End of file valgrind2201 startnew: ./server/servers mqttd --port 0 --pidfile log/8/server/mqtt_server.pid --portfile log/8/server/mqtt_server.port --config log/8/server.cmd --logfile log/8/mqtt_server.log --logdir log/8 RUN: MQTT server is now running PID 176356 on PORT 44143 * pid mqtt => 176356 176356 test 2200...[MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2200 ../src/curl -q --output log/8/curl2200.out --include --trace log/8/trace2200 --trace-time mqtt://127.0.0.1:44143/2200 -u fakeuser:fakepasswd > log/8/stdout2200 2> log/8/stderr2200 2200: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 2200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2200 ../src/curl -q --output log/8/curl2200.out --include --trace log/8/trace2200 --trace-time mqtt://127.0.0.1:44143/2200 -u fakeuser:fakepasswd > log/8/stdout2200 2> log/8/stderr2200 === End of file commands.log === Start of file mqtt_server.log 05:48:35.034337 Running IPv4 version 05:48:35.034404 Listening on port 44143 05:48:35.034448 Wrote pid 176356 to log/8/server/mqtt_server.pid 05:48:35.034483 Wrote port 44143 to log/8/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2200 === End of file server.cmd === Start of file valgrind2200 ==176848== ==176848== Process terminating with default action of signal 4 (SIGILL) ==176848== Illegal opcode at address 0x4014883 ==176848== at 0x4014883: getparameter (tool_getparam.c:2899) ==176848== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176848== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176848== by 0x4004208: main (tool_main.c:189) === End of file valgrind2200 test 2602...[dynhds unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2602 ./unit/units unit2602 - > log/13/stdout2602 2> log/13/stderr2602 -------e-v- OK (1713 out of 1773, remaining: 00:06, took 1.163s, duration: 03:17) test 2603...[http1 parser unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2603 ./unit/units unit2603 - > log/7/stdout2603 2> log/7/stderr2603 units returned 132, when expecting 0 2603: exit FAILED == Contents of files in the log/7/ directory after test 2603 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2603 ./unit/units unit2603 - > log/7/stdout2603 2> log/7/stderr2603 === End of file commands.log === Start of file server.cmd Testnum 2603 === End of file server.cmd === Start of file stderr2603 URL: - === End of file stderr2603 === Start of file valgrind2603 ==177274== ==177274== Process terminCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2604 ./unit/units unit2604 - > log/6/stdout2604 2> log/6/stderr2604 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:35701/2405 > log/19/stdout2405 2> log/19/stderr2405 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2204 ../src/curl -q --output log/15/curl2204.out --include --trace log/15/trace2204 --trace-time mqtt://127.0.0.1:38591/2204 -u testuser:testpasswd > log/15/stdout2204 2> log/15/stderr2204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2309 ./libtest/libtests lib2309 http://github.com log/1/netrc2309 http://127.0.0.1:38765/ > log/1/stdout2309 2> log/1/stderr2309 ating with default action of signal 4 (SIGILL) ==177274== Illegal opcode at address 0x40214AF ==177274== at 0x40214AF: UnknownInlinedFun (string_fortified.h:59) ==177274== by 0x40214AF: UnknownInlinedFun (http1.c:38) ==177274== by 0x40214AF: parse_success (unit2603.c:71) ==177274== by 0x4021AD3: test_unit2603.lto_priv.0 (unit2603.c:182) ==177274== by 0x400B145: main (first.c:279) === End of file valgrind2603 test 2604...[Curl_get_pathname unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2604 ./unit/units unit2604 - > log/6/stdout2604 2> log/6/stderr2604 units returned 132, when expecting 0 2604: exit FAILED == Contents of files in the log/6/ directory after test 2604 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2604 ./unit/units unit2604 - > log/6/stdout2604 2> log/6/stderr2604 === End of file commands.log === Start of file server.cmd Testnum 2604 === End of file server.cmd === Start of file stderr2604 URL: - === End of file stderr2604 === Start of file valgrind2604 ==177273== ==177273== Process terminating with default action of signal 4 (SIGILL) ==177273== Illegal opcode at address 0x4021D6A ==177273== at 0x4021D6A: test_unit2604 (unit2604.c:52) ==177273== by 0x400B145: main (first.c:279) === End of file valgrind2604 startnew: ./server/servers mqttd --port 0 --pidfile log/15/server/mqtt_server.pid --portfile log/15/server/mqtt_server.port --config log/15/server.cmd --logfile log/15/mqtt_server.log --logdir log/15 RUN: MQTT server is now running PID 176448 on PORT 38591 * pid mqtt => 176448 176448 test 2204...[MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2204 ../src/curl -q --output log/15/curl2204.out --include --trace log/15/trace2204 --trace-time mqtt://127.0.0.1:38591/2204 -u testuser:testpasswd > log/15/stdout2204 2> log/15/stderr2204 2204: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2204 ../src/curl -q --output log/15/curl2204.out --include --trace log/15/trace2204 --trace-time mqtt://127.0.0.1:38591/2204 -u testuser:testpasswd > log/15/stdout2204 2> log/15/stderr2204 === End of file commands.log === Start of file mqtt_server.log 05:48:35.177439 Running IPv4 version 05:48:35.177510 Listening on port 38591 05:48:35.177539 Wrote pid 176448 to log/15/server/mqtt_server.pid 05:48:35.177563 Wrote port 38591 to log/15/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==176961== ==176961== Process terminating with default action of signal 4 (SIGILL) ==176961== Illegal opcode at address 0x4014883 ==176961== at 0x4014883: getparameter (tool_getparam.c:2899) ==176961== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176961== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176961== by 0x4004208: main (tool_main.c:189) === End of file valgrind2204 test 2405...[checking curl_multi_waitfds functionality] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:35701/2405 > log/19/stdout2405 2> log/19/stderr2405 libtests returned 132, when expecting 0 2405: exit FAILED == Contents of files in the log/19/ directory after test 2405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:35701/2405 > log/19/stdout2405 2> log/19/stderr2405 === End of file commands.log === Start of file http_server.log 05:48:36.173698 ====> Client connect 05:48:36.173730 accept_connection 3 returned 4 05:48:36.173746 accept_connection 3 returned 0 05:48:36.173760 Read 93 bytes 05:48:36.173769 Process 93 bytes request 05:48:36.173783 Got request: GET /verifiedserver HTTP/1.1 05:48:36.173792 Are-we-friendly question received 05:48:36.173817 Wrote request (93 bytes) input to log/19/server.input 05:48:36.173833 Identifying ourselves as friends 05:48:36.173894 Response sent (56 bytes) and written to log/19/server.response 05:48:36.173904 special request received, no persistency 05:48:36.173912 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 58200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 2405 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr2405 URL: http://127.0.0.1:35701/2405 === End of file stderr2405 === Start of file valgrind2405 ==176959== ==176959== Process terminating with default action of signal 4 (SIGILL) ==176959== Illegal opcode at address 0x519F3C0 ==176959== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==176959== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==176959== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==176959== by 0x4046934: UnknownInlinedFun (lib2405.c:323) ==176959== by 0x4046934: test_lib2405.lto_priv.0 (lib2405.c:378) ==176959== by 0x40034B5: main (first.c:279) ==176959== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==176959== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==176959== by 0x519F354: Curl_multi_handle (multi.c:235) ==176959== by 0x4046934: UnknownInlinedFun (lib2405.c:323) ==176959== by 0x4046934: test_lib2405.lto_priv.0 (lib2405.c:378) ==176959== by 0x40034B5: main (first.c:279) ==176959== === End of file valgrind2405 test 2309...[HTTP with .netrc using duped easy handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2309 ./libtest/libtests lib2309 http://github.com log/1/netrc2309 http://127.0.0.1:38765/ > log/1/stdout2309 2> log/1/stderr2309 2309: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 2309 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2309 ./libtest/libtests lib2309 http://github.com log/1/netrc2309 http://127.0.0.1:38765/ > log/1/stdout2309 2> log/1/stderr2309 === End of file commands.log === Start of file http_server.log 05:48:36.791570 ====> Client connect 05:48:36.791604 accept_connection 3 returned 4 05:48:36.791620 accept_connection 3 returned 0 05:48:36.791635 Read 93 bytes 05:48:36.791645 Process 93 bytes request 05:48:36CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2205 ../src/curl -q --output log/11/curl2205.out --include --trace log/11/trace2205 --trace-time mqtt://127.0.0.1:43273/2205 -K log/11/input2205 > log/11/stdout2205 2> log/11/stderr2205 .791659 Got request: GET /verifiedserver HTTP/1.1 05:48:36.791668 Are-we-friendly question received 05:48:36.791692 Wrote request (93 bytes) input to log/1/server.input 05:48:36.791710 Identifying ourselves as friends 05:48:36.791765 Response sent (56 bytes) and written to log/1/server.response 05:48:36.791776 special request received, no persistency 05:48:36.791784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38765... * Established connection to 127.0.0.1 (127.0.0.1 port 38765) from 127.0.0.1 port 55616 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38765 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38765 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75330 === End of file http_verify.out === Start of file netrc2309 machine github.com login daniel password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1 === End of file netrc2309 === Start of file server.cmd Testnum 2309 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75330 === End of file server.response === Start of file stderr2309 URL: http://github.com === End of file stderr2309 === Start of file valgrind2309 ==176744== ==176744== Process terminating with default action of signal 4 (SIGILL) ==176744== Illegal opcode at address 0x51D8933 ==176744== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==176744== by 0x51D8933: UnknownInlinedFun (request.c:40) ==176744== by 0x51D8933: Curl_open (url.c:503) ==176744== by 0x514E50F: curl_easy_init (easy.c:350) ==176744== by 0x4043B0F: UnknownInlinedFun (lib2309.c:42) ==176744== by 0x4043B0F: test_lib2309.lto_priv.0 (lib2309.c:35) ==176744== by 0x40034B5: main (first.c:279) === End of file valgrind2309 startnew: ./server/servers mqttd --port 0 --pidfile log/11/server/mqtt_server.pid --portfile log/11/server/mqtt_server.port --config log/11/server.cmd --logfile log/11/mqtt_server.log --logdir log/11 RUN: MQTT server is now running PID 176472 on PORT 43273 * pid mqtt => 176472 176472 test 2205...[MQTT with 64 KiB long username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2205 ../src/curl -q --output log/11/curl2205.out --include --trace log/11/trace2205 --trace-time mqtt://127.0.0.1:43273/2205 -K log/11/input2205 > log/11/stdout2205 2> log/11/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/11/ directory after test 2205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2205 ../src/curl -q --output log/11/curl2205.out --include --trace log/11/trace2205 --trace-time mqtt://127.0.0.1:43273/2205 -K log/11/input2205 > log/11/stdout2205 2> log/11/stderr2205 === End of file commands.log === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2202 ../src/curl -q --output log/24/curl2202.out --include --trace log/24/trace2202 --trace-time mqtt://127.0.0.1:46461/2202 -d something -u fakeuser:fakepasswd > log/24/stdout2202 2> log/24/stderr2202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2605 ./unit/units unit2605 - > log/22/stdout2605 2> log/22/stderr2605 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3003 ../src/curl -q --output log/23/curl3003.out --include --trace-ascii log/23/trace3003 --trace-time smtp://127.0.0.1:34899/3003 --mail-rcpt-allowfails --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 invalid.five --mail-from sender@example.com -T - log/23/stdout3003 2> log/23/stderr3003 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file mqtt_server.log 05:48:35.209414 Running IPv4 version 05:48:35.209478 Listening on port 43273 05:48:35.209517 Wrote pid 176472 to log/11/server/mqtt_server.pid 05:48:35.209546 Wrote port 43273 to log/11/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2205 === End of file server.cmd === Start of file valgrind2205 ==177010== ==177010== Process terminating with default action of signal 4 (SIGILL) ==177010== Illegal opcode at address 0x4014883 ==177010== at 0x4014883: getparameter (tool_getparam.c:2899) ==177010== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177010== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177010== by 0x4004208: main (tool_main.c:189) === End of file valgrind2205 startnew: ./server/servers mqttd --port 0 --pidfile log/24/server/mqtt_server.pid --portfile log/24/server/mqtt_server.port --config log/24/server.cmd --logfile log/24/mqtt_server.log --logdir log/24 RUN: MQTT server is now running PID 176391 on PORT 46461 * pid mqtt => 176391 176391 test 2202...[MQTT PUBLISH with invalid user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2202 ../src/curl -q --output log/24/curl2202.out --include --trace log/24/trace2202 --trace-time mqtt://127.0.0.1:46461/2202 -d something -u fakeuser:fakepasswd > log/24/stdout2202 2> log/24/stderr2202 2202: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2202 ../src/curl -q --output log/24/curl2202.out --include --trace log/24/trace2202 --trace-time mqtt://127.0.0.1:46461/2202 -d something -u fakeuser:fakepasswd > log/24/stdout2202 2> log/24/stderr2202 === End of file commands.log === Start of file mqtt_server.log 05:48:35.072472 Running IPv4 version 05:48:35.072535 Listening on port 46461 05:48:35.072566 Wrote pid 176391 to log/24/server/mqtt_server.pid 05:48:35.072592 Wrote port 46461 to log/24/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2202 === End of file server.cmd === Start of file valgrind2202 ==176867== ==176867== Process terminating with default action of signal 4 (SIGILL) ==176867== Illegal opcode at address 0x4014883 ==176867== at 0x4014883: getparameter (tool_getparam.c:2899) ==176867== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==176867== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==176867== by 0x4004208: main (tool_main.c:189) === End of file valgrind2202 test 2605...[Curl_ssh_range unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2605 ./unit/units unit2605 - > log/22/stdout2605 2> log/22/stderr2605 units returned 132, when expecting 0 2605: exit FAILED == Contents of files in the log/22/ directory after test 2605 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2605 ./unit/units unit2605 - > log/22/stdout2605 2> log/22/stderr2605 === End of file commands.log === Start of file server.cmd Testnum 2605 === End of file server.cmd === Start of file stderr2605 URL: - === End of file stderr2605 === Start of file valgrind2605 ==177300== ==177300== Process terminating with default action of signal 4 (SIGILL) ==177300== Illegal opcode at address 0x4080273 ==177300== at 0x4080273: UnknownInlinedFun (string_fortified.h:59) ==177300== by 0x4080273: UnknownInlinedFun (request.c:40) ==177300== by 0x4080273: Curl_open (url.c:503) ==177300== by 0x40401A5: curl_easy_init (easy.c:350) ==177300== by 0x4022593: test_unit2605 (unit2605.c:73) ==177300== by 0x400B145: main (first.c:279) === End of file valgrind2605 test 3003...[SMTP multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3003 ../src/curl -q --output log/23/curl3003.out --include --trace-ascii log/23/trace3003 --trace-time smtp://127.0.0.1:34899/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@exaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3006 ../src/curl -q --output log/5/curl3006.out --include --trace-ascii log/5/trace3006 --trace-time smtp://127.0.0.1:45461/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/5/stdout3006 2> log/5/stderr3006 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3004 ../src/curl -q --output log/20/curl3004.out --include --trace-ascii log/20/trace3004 --trace-time smtp://127.0.0.1:37817/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/20/stdout3004 2> log/20/stderr3004 mple.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/23/stdout3003 2> log/23/stderr3003 3003: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 3003 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3003 ../src/curl -q --output log/23/curl3003.out --include --trace-ascii log/23/trace3003 --trace-time smtp://127.0.0.1:34899/3003 --mail-rcpt-allowfails --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 invalid.five --mail-from sender@example.com -T - log/23/stdout3003 2> log/23/stderr3003 === End of file commands.log === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 05:48:37.720865 ====> Client connect 05:48:37.721015 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:37.721293 < "EHLO verifiedserver" 05:48:37.721331 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:37.721486 < "HELP" 05:48:37.721514 > "214 WE ROOLZ: 125410[CR][LF]" 05:48:37.721529 return proof we are we 05:48:37.721741 < "QUIT" 05:48:37.721798 > "221 curl ESMTP server signing off[CR][LF]" 05:48:37.725629 MAIN sockfilt said DISC 05:48:37.725664 ====> Client disconnected 05:48:37.725734 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:37.182176 ====> Client connect 05:48:37.182473 Received DATA (on stdin) 05:48:37.182486 > 146 bytes data, server => client 05:48:37.182498 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:37.182509 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:37.182518 '220 \___|\___/|_| \_\_____|\r\n' 05:48:37.182593 < 21 bytes data, client => server 05:48:37.182604 'EHLO verifiedserver\r\n' 05:48:37.182780 Received DATA (on stdin) 05:48:37.182790 > 53 bytes data, server => client 05:48:37.182801 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:37.182853 < 6 bytes data, client => server 05:48:37.182863 'HELP\r\n' 05:48:37.182974 Received DATA (on stdin) 05:48:37.182984 > 22 bytes data, server => client 05:48:37.182994 '214 WE ROOLZ: 125410\r\n' 05:48:37.183106 < 6 bytes data, client => server 05:48:37.183117 'QUIT\r\n' 05:48:37.183196 Received DATA (on stdin) 05:48:37.183207 > 35 bytes data, server => client 05:48:37.183245 '221 curl ESMTP server signing off\r\n' 05:48:37.187016 ====> Client disconnect 05:48:37.187181 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3003 From: different To: another body === End of file stdin-for-3003 === Start of file valgrind3003 ==177414== ==177414== Process terminating with default action of signal 4 (SIGILL) ==177414== Illegal opcode at address 0x4014883 ==177414== at 0x4014883: getparameter (tool_getparam.c:2899) ==177414== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177414== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177414== by 0x4004208: main (tool_main.c:189) === End of file valgrind3003 test 3006...[SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3006 ../src/curl -q --output log/5/curl3006.out --include --trace-ascii log/5/trace3006 --trace-time smtp://127.0.0.1:45461/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/5/stdout3006 2> log/5/stderr3006 3006: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 3006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3006 ../src/curl -q --output log/5/curl3006.out --include --trace-ascii log/5/trace3006 --trace-time smtp://127.0.0.1:45461/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/5/stdout3006 2> log/5/stderr3006 === End of file commands.log === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 05:48:37.838926 ====> Client connect 05:48:37.839097 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:37.842123 < "EHLO verifiedserver" 05:48:37.842184 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:37.842451 < "HELP" 05:48:37.842484 > "214 WE ROOLZ: 126487[CR][LF]" 05:48:37.842499 return proof we are we 05:48:37.842691 < "QUIT" 05:48:37.842717 > "221 curl ESMTP server signing off[CR][LF]" 05:48:37.843709 MAIN sockfilt said DISC 05:48:37.843734 ====> Client disconnected 05:48:37.843812 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:37.296911 ====> Client connect 05:48:37.301227 Received DATA (on stdin) 05:48:37.301258 > 146 bytes data, server => client 05:48:37.301273 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:37.301284 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:37.301294 '220 \___|\___/|_| \_\_____|\r\n' 05:48:37.303385 < 21 bytes data, client => server 05:48:37.303407 'EHLO verifiedserver\r\n' 05:48:37.303661 Received DATA (on stdin) 05:48:37.303678 > 53 bytes data, server => client 05:48:37.303690 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:37.303800 < 6 bytes data, client => server 05:48:37.303817 'HELP\r\n' 05:48:37.303944 Received DATA (on stdin) 05:48:37.303954 > 22 bytes data, server => client 05:48:37.303964 '214 WE ROOLZ: 126487\r\n' 05:48:37.304060 < 6 bytes data, client => server 05:48:37.304070 'QUIT\r\n' 05:48:37.304162 Received DATA (on stdin) 05:48:37.304172 > 35 bytes data, server => client 05:48:37.304182 '221 curl ESMTP server signing off\r\n' 05:48:37.305111 ====> Client disconnect 05:48:37.305257 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3006 From: different To: another body === End of file stdin-for-3006 === Start of file valgrind3006 ==177538== ==177538== Process terminating with default action of signal 4 (SIGILL) ==177538== Illegal opcode at address 0x4014883 ==177538== at 0x4014883: getparameter (tool_getparam.c:2899) ==177538== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177538== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177538== by 0x4004208: main (tool_main.c:189) === End of file valgrind3006 test 3004...[SMTP multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3004 ../src/curl -q --output log/20/curl3004.out --include --trace-ascii log/20/trace3004 --trace-time smtp://127.0.0.1:37817/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3009 ../src/curl -q --trace-ascii log/2/trace3009 --trace-time http://127.0.0.1:41799/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/2/stdout3009 2> log/2/stderr3009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3005 ../src/curl -q --output log/14/curl3005.out --include --trace-ascii log/14/trace3005 --trace-time smtp://127.0.0.1:36897/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/14/stdout3005 2> log/14/stderr3005 ail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/20/stdout3004 2> log/20/stderr3004 3004: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 3004 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3004 ../src/curl -q --output log/20/curl3004.out --include --trace-ascii log/20/trace3004 --trace-time smtp://127.0.0.1:37817/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/20/stdout3004 2> log/20/stderr3004 === End of file commands.log === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 05:48:37.817889 ====> Client connect 05:48:37.818056 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:37.822505 < "EHLO verifiedserver" 05:48:37.822562 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:37.822713 < "HELP" 05:48:37.822740 > "214 WE ROOLZ: 125363[CR][LF]" 05:48:37.822754 return proof we are we 05:48:37.822960 < "QUIT" 05:48:37.822989 > "221 curl ESMTP server signing off[CR][LF]" 05:48:37.824322 MAIN sockfilt said DISC 05:48:37.824353 ====> Client disconnected 05:48:37.824548 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:37.279206 ====> Client connect 05:48:37.279525 Received DATA (on stdin) 05:48:37.279542 > 146 bytes data, server => client 05:48:37.279555 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:37.279566 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:37.279575 '220 \___|\___/|_| \_\_____|\r\n' 05:48:37.283734 < 21 bytes data, client => server 05:48:37.283765 'EHLO verifiedserver\r\n' 05:48:37.284012 Received DATA (on stdin) 05:48:37.284023 > 53 bytes data, server => client 05:48:37.284033 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:37.284082 < 6 bytes data, client => server 05:48:37.284091 'HELP\r\n' 05:48:37.284198 Received DATA (on stdin) 05:48:37.284208 > 22 bytes data, server => client 05:48:37.284217 '214 WE ROOLZ: 125363\r\n' 05:48:37.284321 < 6 bytes data, client => server 05:48:37.284333 'QUIT\r\n' 05:48:37.284437 Received DATA (on stdin) 05:48:37.284448 > 35 bytes data, server => client 05:48:37.284458 '221 curl ESMTP server signing off\r\n' 05:48:37.285719 ====> Client disconnect 05:48:37.285859 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3004 From: different To: another body === End of file stdin-for-3004 === Start of file valgrind3004 ==177518== ==177518== Process terminating with default action of signal 4 (SIGILL) ==177518== Illegal opcode at address 0x4014883 ==177518== at 0x4014883: getparameter (tool_getparam.c:2899) ==177518== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177518== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177518== by 0x4004208: main (tool_main.c:189) === End of file valgrind3004 test 3009...[--output-dir a non-existing directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3009 ../src/curl -q --trace-ascii log/2/trace3009 --trace-time http://127.0.0.1:41799/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/2/stdout3009 2> log/2/stderr3009 3009: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 3009 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3009 ../src/curl -q --trace-ascii log/2/trace3009 --trace-time http://127.0.0.1:41799/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/2/stdout3009 2> log/2/stderr3009 === End of file commands.log === Start of file http_server.log 05:48:38.520781 ====> Client connect 05:48:38.520820 accept_connection 3 returned 4 05:48:38.520837 accept_connection 3 returned 0 05:48:38.520851 Read 93 bytes 05:48:38.520861 Process 93 bytes request 05:48:38.520873 Got request: GET /verifiedserver HTTP/1.1 05:48:38.520883 Are-we-friendly question received 05:48:38.520909 Wrote request (93 bytes) input to log/2/server.input 05:48:38.520925 Identifying ourselves as friends 05:48:38.520994 Response sent (56 bytes) and written to log/2/server.response 05:48:38.521004 special request received, no persistency 05:48:38.521012 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 58660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file server.cmd Testnum 3009 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind3009 ==177854== ==177854== Process terminating with default action of signal 4 (SIGILL) ==177854== Illegal opcode at address 0x4014883 ==177854== at 0x4014883: getparameter (tool_getparam.c:2899) ==177854== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177854== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177854== by 0x4004208: main (tool_main.c:189) === End of file valgrind3009 test 3005...[SMTP multiple invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3005 ../src/curl -q --output log/14/curl3005.out --include --trace-ascii log/14/trace3005 --trace-time smtp://127.0.0.1:36897/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/14/stdout3005 2> log/14/stderr3005 3005: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 3005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3005 ../src/curl -q --output log/14/curl3005.out --include --trace-ascii log/14/trace3005 --trace-time smtp://127.0.0.1:36897/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/14/stdout3005 2> log/14/stderr3005 === End of file commands.log === Start of file server.cmd Testnum 3005 === End of file server.cmd ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3002 ../src/curl -q --output log/12/curl3002.out --include --trace-ascii log/12/trace3002 --trace-time smtp://127.0.0.1:42795/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --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 - log/12/stdout3002 2> log/12/stderr3002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3008 ../src/curl -q --trace-ascii log/10/trace3008 --trace-time http://127.0.0.1:46741/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/10 > log/10/stdout3008 2> log/10/stderr3008 Start of file smtp_server.log 05:48:37.845570 ====> Client connect 05:48:37.845783 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:37.859125 < "EHLO verifiedserver" 05:48:37.859194 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:37.859421 < "HELP" 05:48:37.859451 > "214 WE ROOLZ: 110590[CR][LF]" 05:48:37.859467 return proof we are we 05:48:37.859684 < "QUIT" 05:48:37.859709 > "221 curl ESMTP server signing off[CR][LF]" 05:48:37.862281 MAIN sockfilt said DISC 05:48:37.862340 ====> Client disconnected 05:48:37.862446 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:38.303653 ====> Client connect 05:48:38.310593 Received DATA (on stdin) 05:48:38.310622 > 146 bytes data, server => client 05:48:38.310635 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:38.310645 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:38.310655 '220 \___|\___/|_| \_\_____|\r\n' 05:48:38.320324 < 21 bytes data, client => server 05:48:38.320358 'EHLO verifiedserver\r\n' 05:48:38.320649 Received DATA (on stdin) 05:48:38.320662 > 53 bytes data, server => client 05:48:38.320673 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:38.320779 < 6 bytes data, client => server 05:48:38.320790 'HELP\r\n' 05:48:38.320914 Received DATA (on stdin) 05:48:38.320924 > 22 bytes data, server => client 05:48:38.320935 '214 WE ROOLZ: 110590\r\n' 05:48:38.321048 < 6 bytes data, client => server 05:48:38.321060 'QUIT\r\n' 05:48:38.321156 Received DATA (on stdin) 05:48:38.321167 > 35 bytes data, server => client 05:48:38.321177 '221 curl ESMTP server signing off\r\n' 05:48:38.323647 ====> Client disconnect 05:48:38.323909 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3005 From: different To: another body === End of file stdin-for-3005 === Start of file valgrind3005 ==177563== ==177563== Process terminating with default action of signal 4 (SIGILL) ==177563== Illegal opcode at address 0x4014883 ==177563== at 0x4014883: getparameter (tool_getparam.c:2899) ==177563== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177563== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177563== by 0x4004208: main (tool_main.c:189) === End of file valgrind3005 test 3002...[SMTP multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3002 ../src/curl -q --output log/12/curl3002.out --include --trace-ascii log/12/trace3002 --trace-time smtp://127.0.0.1:42795/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --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 - log/12/stdout3002 2> log/12/stderr3002 3002: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 3002 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3002 ../src/curl -q --output log/12/curl3002.out --include --trace-ascii log/12/trace3002 --trace-time smtp://127.0.0.1:42795/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --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 - log/12/stdout3002 2> log/12/stderr3002 === End of file commands.log === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 05:48:37.731323 ====> Client connect 05:48:37.731487 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:37.731823 < "EHLO verifiedserver" 05:48:37.731875 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:37.732076 < "HELP" 05:48:37.732113 > "214 WE ROOLZ: 125404[CR][LF]" 05:48:37.732133 return proof we are we 05:48:37.732378 < "QUIT" 05:48:37.732412 > "221 curl ESMTP server signing off[CR][LF]" 05:48:37.733870 MAIN sockfilt said DISC 05:48:37.733912 ====> Client disconnected 05:48:37.734414 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:37.192646 ====> Client connect 05:48:37.192955 Received DATA (on stdin) 05:48:37.192974 > 146 bytes data, server => client 05:48:37.192986 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:37.192997 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:37.193007 '220 \___|\___/|_| \_\_____|\r\n' 05:48:37.193090 < 21 bytes data, client => server 05:48:37.193106 'EHLO verifiedserver\r\n' 05:48:37.193336 Received DATA (on stdin) 05:48:37.193350 > 53 bytes data, server => client 05:48:37.193361 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:37.193420 < 6 bytes data, client => server 05:48:37.193436 'HELP\r\n' 05:48:37.193583 Received DATA (on stdin) 05:48:37.193596 > 22 bytes data, server => client 05:48:37.193607 '214 WE ROOLZ: 125404\r\n' 05:48:37.193724 < 6 bytes data, client => server 05:48:37.193741 'QUIT\r\n' 05:48:37.193867 Received DATA (on stdin) 05:48:37.193881 > 35 bytes data, server => client 05:48:37.193892 '221 curl ESMTP server signing off\r\n' 05:48:37.195259 ====> Client disconnect 05:48:37.195377 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3002 From: different To: another body === End of file stdin-for-3002 === Start of file valgrind3002 ==177422== ==177422== Process terminating with default action of signal 4 (SIGILL) ==177422== Illegal opcode at address 0x4014883 ==177422== at 0x4014883: getparameter (tool_getparam.c:2899) ==177422== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177422== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177422== by 0x4004208: main (tool_main.c:189) === End of file valgrind3002 test 3008...[--output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3008 ../src/curl -q --trace-ascii log/10/trace3008 --trace-time http://127.0.0.1:46741/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/10 > log/10/stdout3008 2> log/10/stderr3008 3008: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 3008 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3008 ../src/curl -q --trace-ascii log/10/trace3008 --trace-time http://127.0.0.1:46741/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/10 > log/10/stdout3008 2> log/10/stderr3008 === End of file commands.log === Start of file http_server.log 05:48:37.400045 ====> Client connect 05:48:37.400137 accept_connection 3 returned 4 05:48:37.400157 accept_connection 3 returned 0 05:48:37.400174 Read 93 bytes 05:48:37.400184 Process 93 bytes request 05:48:37.400197 Got request: GET /verifiedserver HTTP/1.1 05:48:37.400206 Are-we-friendly question received 05:48:37.400233 Wrote request (93 bytes) input to log/10/server.input 05:48:37.400250 Identifying ourselves as friends 05:48:37.400342 ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:42891/3010 > log/21/stdout3010 2> log/21/stderr3010 sponse sent (56 bytes) and written to log/10/server.response 05:48:37.400352 special request received, no persistency 05:48:37.400361 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 47210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 3008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind3008 ==177667== ==177667== Process terminating with default action of signal 4 (SIGILL) ==177667== Illegal opcode at address 0x4014883 ==177667== at 0x4014883: getparameter (tool_getparam.c:2899) ==177667== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177667== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177667== by 0x4004208: main (tool_main.c:189) === End of file valgrind3008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3007 ../src/curl -q --output log/4/curl3007.out --include --trace-ascii log/4/trace3007 --trace-time smtp://127.0.0.1:37371/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/4/stdout3007 2> log/4/stderr3007 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3012 ../src/curl -q --trace-ascii log/13/trace3012 --trace-time http://127.0.0.1:45359/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3012 2> log/13/stderr3012 test 3010...[HTTP retry-after reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:42891/3010 > log/21/stdout3010 2> log/21/stderr3010 3010: stdout FAILED: --- log/21/check-expected 2026-03-14 05:48:40.064615960 +0000 +++ log/21/check-generated 2026-03-14 05:48:40.064615960 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/21/ directory after test 3010 === Start of file check-expected Retry-After 2[LF] Retry-After 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:42891/3010 > log/21/stdout3010 2> log/21/stderr3010 === End of file commands.log === Start of file http_server.log 05:48:37.480379 ====> Client connect 05:48:37.480424 accept_connection 3 returned 4 05:48:37.480443 accept_connection 3 returned 0 05:48:37.480459 Read 93 bytes 05:48:37.480469 Process 93 bytes request 05:48:37.480483 Got request: GET /verifiedserver HTTP/1.1 05:48:37.480493 Are-we-friendly question received 05:48:37.480522 Wrote request (93 bytes) input to log/21/server.input 05:48:37.480540 Identifying ourselves as friends 05:48:37.480626 Response sent (56 bytes) and written to log/21/server.response 05:48:37.480639 special request received, no persistency 05:48:37.480648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 40634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 3010 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file stderr3010 URL: 127.0.0.1:42891/3010 === End of file stderr3010 === Start of file valgrind3010 ==177796== ==177796== Process terminating with default action of signal 4 (SIGILL) ==177796== Illegal opcode at address 0x51D8933 ==177796== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==177796== by 0x51D8933: UnknownInlinedFun (request.c:40) ==177796== by 0x51D8933: Curl_open (url.c:503) ==177796== by 0x514E50F: curl_easy_init (easy.c:350) ==177796== by 0x404777E: test_lib3010.lto_priv.0 (lib3010.c:34) ==177796== by 0x40034B5: main (first.c:279) === End of file valgrind3010 test 3007...[SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3007 ../src/curl -q --output log/4/curl3007.out --include --trace-ascii log/4/trace3007 --trace-time smtp://127.0.0.1:37371/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/4/stdout3007 2> log/4/stderr3007 3007: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 3007 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3007 ../src/curl -q --output log/4/curl3007.out --include --trace-ascii log/4/trace3007 --trace-time smtp://127.0.0.1:37371/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/4/stdout3007 2> log/4/stderr3007 === End of file commands.log === Start of file server.cmd Testnum 3007 === End of file server.cmd === Start of file smtp_server.log 05:48:37.882537 ====> Client connect 05:48:37.882831 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:37.883143 < "EHLO verifiedserver" 05:48:37.883184 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:37.883337 < "HELP" 05:48:37.883365 > "214 WE ROOLZ: 125727[CR][LF]" 05:48:37.883379 return proof we are we 05:48:37.883579 < "QUIT" 05:48:37.883605 > "221 curl ESMTP server signing off[CR][LF]" 05:48:37.885784 MAIN sockfilt said DISC 05:48:37.885822 ====> Client disconnected 05:48:37.885917 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:38.343863 ====> Client connect 05:48:38.344291 Received DATA (on stdin) 05:48:38.344304 > 146 bytes data, server => client 05:48:38.344316 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:38.344325 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:38.344333 '220 \___|\___/|_| \_\_____|\r\n' 05:48:38.344440 < 21 bytes data, client => server 05:48:38.344452 'EHLO verifiedserver\r\n' 05:48:38.344634 Received DATA (on stdin) 05:48:38.344644 > 53 bytes data, server => client 05:48:38.344655 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:38.344705 < 6 bytes data, client => server 05:48:38.344715 'HELP\r\n' 05:48:38.344824 Received DATA (on stdin) 05:48:38.344834 > 22 bytes data, server => client 05:48:38.344844 '214 WE ROOLZ: 125727\r\n' 05:48:38.344948 < 6 bytes data, client => server 05:48:38.344959 'QUIT\r\n' 05:48:38.345050 Received DATA (on stdin) 05:48:38.345060 > 35 bytes data, server => client 05:48:38.345069 '221 curl ESMTP server signing off\r\n' 05:48:38.346052 ====> Client disconnect 05:48:38.347366 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3007 From: different To: another body === End of file stdin-for-3007 === Start of file valgrind3007 ==177673== ==177673== Process terminating with default action of signal 4 (SIGILL) ==177673== Illegal opcode at address 0x4014883 ==177673== at 0x4014883: getparameter (tool_getparam.c:2899) ==177673== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==177673== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==177673== by 0x4004208: main (tool_main.c:189) === End of file valgrind3007 test 3012...[--output-dir with -J and -R] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3012 ../src/curl -q --trace-ascii log/13/trace3012 --trace-time http://127.0.0.1:45359/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3012 2> log/13/stderr3012 3012: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 3012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3012 ../src/curl -q --trace-ascii log/13/trace3012 --trace-time http://127.0.0.1:45359/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3012 2> log/13/stderr3012 === End of file commands.log === Start of file http_server.log 05:48:39.012400 ====> Client connect 05:48:39.012434 accept_connection 3 returned 4 05:48:39.012453 accept_connection 3 returned 0 05:48:39.012469 Read 93 bytes 05:48:39.012480 Process 93 bytes request 05:48:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3011 ../src/curl -q --trace-ascii log/8/trace3011 --trace-time http://127.0.0.1:45623/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/8/tmp --create-dirs > log/8/stdout3011 2> log/8/stderr3011 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3013 ../src/curl -q --trace-ascii log/7/trace3013 --trace-time http://127.0.0.1:39013/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/7 http://127.0.0.1:39013/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/7 > log/7/stdout3013 2> log/7/stderr3013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3018 ../src/curl -q --output log/11/curl3018.out --include --trace log/11/trace3018 --trace-time mqtt://127.0.0.1:43273/3018 --max-filesize 11 > log/11/stdout3018 2> log/11/stderr3018 9.012492 Got request: GET /verifiedserver HTTP/1.1 05:48:39.012502 Are-we-friendly question received 05:48:39.012558 Wrote request (93 bytes) input to log/13/server.input 05:48:39.012578 Identifying ourselves as friends 05:48:39.012645 Response sent (56 bytes) and written to log/13/server.response 05:48:39.012658 special request received, no persistency 05:48:39.012667 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 37662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 3012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file valgrind3012 ==178042== ==178042== Process terminating with default action of signal 4 (SIGILL) ==178042== Illegal opcode at address 0x4014883 ==178042== at 0x4014883: getparameter (tool_getparam.c:2899) ==178042== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178042== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178042== by 0x4004208: main (tool_main.c:189) === End of file valgrind3012 test 3011...[--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3011 ../src/curl -q --trace-ascii log/8/trace3011 --trace-time http://127.0.0.1:45623/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/8/tmp --create-dirs > log/8/stdout3011 2> log/8/stderr3011 3011: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 3011 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3011 ../src/curl -q --trace-ascii log/8/trace3011 --trace-time http://127.0.0.1:45623/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/8/tmp --create-dirs > log/8/stdout3011 2> log/8/stderr3011 === End of file commands.log === Start of file http_server.log 05:48:38.012287 ====> Client connect 05:48:38.012319 accept_connection 3 returned 4 05:48:38.012333 accept_connection 3 returned 0 05:48:38.012347 Read 93 bytes 05:48:38.012356 Process 93 bytes request 05:48:38.012370 Got request: GET /verifiedserver HTTP/1.1 05:48:38.012378 Are-we-friendly question received 05:48:38.012399 Wrote request (93 bytes) input to log/8/server.input 05:48:38.012414 Identifying ourselves as friends 05:48:38.012464 Response sent (56 bytes) and written to log/8/server.response 05:48:38.012473 special request received, no persistency 05:48:38.012481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 3011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind3011 ==178038== ==178038== Process terminating with default action of signal 4 (SIGILL) ==178038== Illegal opcode at address 0x4014883 ==178038== at 0x4014883: getparameter (tool_getparam.c:2899) ==178038== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178038== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178038== by 0x4004208: main (tool_main.c:189) === End of file valgrind3011 test 3013...[Two --output-dir with --next in between] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3013 ../src/curl -q --trace-ascii log/7/trace3013 --trace-time http://127.0.0.1:39013/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/7 http://127.0.0.1:39013/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/7 > log/7/stdout3013 2> log/7/stderr3013 3013: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 3013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3013 ../src/curl -q --trace-ascii log/7/trace3013 --trace-time http://127.0.0.1:39013/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/7 http://127.0.0.1:39013/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/7 > log/7/stdout3013 2> log/7/stderr3013 === End of file commands.log === Start of file http_server.log 05:48:38.111774 ====> Client connect 05:48:38.111808 accept_connection 3 returned 4 05:48:38.111824 accept_connection 3 returned 0 05:48:38.111839 Read 93 bytes 05:48:38.111849 Process 93 bytes request 05:48:38.111862 Got request: GET /verifiedserver HTTP/1.1 05:48:38.111871 Are-we-friendly question received 05:48:38.111898 Wrote request (93 bytes) input to log/7/server.input 05:48:38.111915 Identifying ourselves as friends 05:48:38.111972 Response sent (56 bytes) and written to log/7/server.response 05:48:38.111983 special request received, no persistency 05:48:38.111991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39013... * Established connection to 127.0.0.1 (127.0.0.1 port 39013) from 127.0.0.1 port 38786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39013 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39013 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75077 === End of file http_verify.out === Start of file server.cmd Testnum 3013 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75077 === End of file server.response === Start of file valgrind3013 ==178115== ==178115== Process terminating with default action of signal 4 (SIGILL) ==178115== Illegal opcode at address 0x4014883 ==178115== at 0x4014883: getparameter (tool_getparam.c:2899) ==178115== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178115== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178115== by 0x4004208: main (tool_main.c:189) === End of file valgrind3013 test 3018...[MQTT SUBSCRIBE with PUBLISH larger than --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3018 ../src/curl -q --output log/11/curl3018.out --include --trace log/11/trace3018 --trace-time mqtt://127.0.0.1:43273/3018 --max-filesize 11 > log/11/stdout3018 2> log/11/stderr3018 3018: protocol FAILED! There was no content at all in the CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3014 ../src/curl -q --include --trace-ascii log/6/trace3014 --trace-time http://127.0.0.1:40607/3014 --write-out '%{num_headers}' > log/6/stdout3014 2> log/6/stderr3014 file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 3018 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3018 ../src/curl -q --output log/11/curl3018.out --include --trace log/11/trace3018 --trace-time mqtt://127.0.0.1:43273/3018 --max-filesize 11 > log/11/stdout3018 2> log/11/stderr3018 === End of file commands.log === Start of file server.cmd Testnum 3018 === End of file server.cmd === Start of file valgrind3018 ==178337== ==178337== Process terminating with default action of signal 4 (SIGILL) ==178337== Illegal opcode at address 0x4014883 ==178337== at 0x4014883: getparameter (tool_getparam.c:2899) ==178337== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178337== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178337== by 0x4004208: main (tool_main.c:189) === End of file valgrind3018 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3015 ../src/curl -q --include --trace-ascii log/19/trace3015 --trace-time http://127.0.0.1:35701/3015 -w "%{num_headers}\n" -L -o/dev/null > log/19/stdout3015 2> log/19/stderr3015 test 3014...[Check if %{num_headers} returns correct number of headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3014 ../src/curl -q --include --trace-ascii log/6/trace3014 --trace-time http://127.0.0.1:40607/3014 --write-out '%{num_headers}' > log/6/stdout3014 2> log/6/stderr3014 3014: stdout FAILED: --- log/6/check-expected 2026-03-14 05:48:40.727949292 +0000 +++ log/6/check-generated 2026-03-14 05:48:40.727949292 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -4 == Contents of files in the log/6/ directory after test 3014 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 4 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3014 ../src/curl -q --include --trace-ascii log/6/trace3014 --trace-time http://127.0.0.1:40607/3014 --write-out '%{num_headers}' > log/6/stdout3014 2> log/6/stderr3014 === End of file commands.log === Start of file http_server.log 05:48:38.215687 ====> Client connect 05:48:38.215726 accept_connection 3 returned 4 05:48:38.215741 accept_connection 3 returned 0 05:48:38.215755 Read 93 bytes 05:48:38.215765 Process 93 bytes request 05:48:38.215783 Got request: GET /verifiedserver HTTP/1.1 05:48:38.215792 Are-we-friendly question received 05:48:38.215818 Wrote request (93 bytes) input to log/6/server.input 05:48:38.215837 Identifying ourselves as friends 05:48:38.215896 Response sent (57 bytes) and written to log/6/server.response 05:48:38.215907 special request received, no persistency 05:48:38.215916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 53722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 3014 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file valgrind3014 ==178207== ==178207== Process terminating with default action of signal 4 (SIGILL) ==178207== Illegal opcode at address 0x4014883 ==178207== at 0x4014883: getparameter (tool_getparam.c:2899) ==178207== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178207== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178207== by 0x4004208: main (tool_main.c:189) === End of file valgrind3014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3019 ../src/curl -q --output log/24/curl3019.out --include --trace-ascii log/24/trace3019 --trace-time --resolve 33593:example.com:127.0.0.1 http://example.com:33593/3019 > log/24/stdout3019 2> log/24/stderr3019 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3016 ../src/curl -q --output log/15/curl3016.out --include --trace-ascii log/15/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/15/stdout3016 2> log/15/stderr3016 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3020 ../src/curl -q --output log/22/curl3020.out --include --trace-ascii log/22/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:41477/3020 > log/22/stdout3020 2> log/22/stderr3020 test 3015...[HTTP GET -w num_headers with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3015 ../src/curl -q --include --trace-ascii log/19/trace3015 --trace-time http://127.0.0.1:35701/3015 -w "%{num_headers}\n" -L -o/dev/null > log/19/stdout3015 2> log/19/stderr3015 3015: stdout FAILED: --- log/19/check-expected 2026-03-14 05:48:40.844615960 +0000 +++ log/19/check-generated 2026-03-14 05:48:40.844615960 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/19/ directory after test 3015 === Start of file check-expected 4[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3015 ../src/curl -q --include --trace-ascii log/19/trace3015 --trace-time http://127.0.0.1:35701/3015 -w "%{num_headers}\n" -L -o/dev/null > log/19/stdout3015 2> log/19/stderr3015 === End of file commands.log === Start of file http_server.log 05:48:38.264047 ====> Client connect 05:48:38.264088 accept_connection 3 returned 4 05:48:38.264111 accept_connection 3 returned 0 05:48:38.264129 Read 93 bytes 05:48:38.264139 Process 93 bytes request 05:48:38.264154 Got request: GET /verifiedserver HTTP/1.1 05:48:38.264164 Are-we-friendly question received 05:48:38.264196 Wrote request (93 bytes) input to log/19/server.input 05:48:38.264215 Identifying ourselves as friends 05:48:38.264305 Response sent (56 bytes) and written to log/19/server.response 05:48:38.264319 special request received, no persistency 05:48:38.264328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 37490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 3015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file valgrind3015 ==178240== ==178240== Process terminating with default action of signal 4 (SIGILL) ==178240== Illegal opcode at address 0x4014883 ==178240== at 0x4014883: getparameter (tool_getparam.c:2899) ==178240== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178240== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178240== by 0x4004208: main (tool_main.c:189) === End of file valgrind3015 test 3019...[HTTP with invalid --resolve syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3019 ../src/curl -q --output log/24/curl3019.out --include --trace-ascii log/24/trace3019 --trace-time --resolve 33593:example.com:127.0.0.1 http://example.com:33593/3019 > log/24/stdout3019 2> log/24/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == Contents of files in the log/24/ directory after test 3019 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3019 ../src/curl -q --output log/24/curl3019.out --include --trace-ascii log/24/trace3019 --trace-time --resolve 33593:example.com:127.0.0.1 http://example.com:33593/3019 > log/24/stdout3019 2> log/24/stderr3019 === End of file commands.log === Start of file http_server.log 05:48:39.498686 ====> Client connect 05:48:39.498721 accept_connection 3 returned 4 05:48:39.498738 accept_connection 3 returned 0 05:48:39.498892 Read 93 bytes 05:48:39.498905 Process 93 bytes request 05:48:39.498919 Got request: GET /verifiedserver HTTP/1.1 05:48:39.498929 Are-we-friendly question received 05:48:39.498958 Wrote request (93 bytes) input to log/24/server.input 05:48:39.498977 Identifying ourselves as friends 05:48:39.499044 Response sent (56 bytes) and written to log/24/server.response 05:48:39.499057 special request received, no persistency 05:48:39.499066 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33593... * Established connection to 127.0.0.1 (127.0.0.1 port 33593) from 127.0.0.1 port 58264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33593 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74782 === End of file http_verify.out === Start of file server.cmd Testnum 3019 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74782 === End of file server.response === Start of file valgrind3019 ==178435== ==178435== Process terminating with default action of signal 4 (SIGILL) ==178435== Illegal opcode at address 0x4014883 ==178435== at 0x4014883: getparameter (tool_getparam.c:2899) ==178435== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178435== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178435== by 0x4004208: main (tool_main.c:189) === End of file valgrind3019 test 3016...[GET a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3016 ../src/curl -q --output log/15/curl3016.out --include --trace-ascii log/15/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/15/stdout3016 2> log/15/stderr3016 curl returned 132, when expecting 0 3016: exit FAILED == Contents of files in the log/15/ directory after test 3016 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3016 ../src/curl -q --output log/15/curl3016.out --include --trace-ascii log/15/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/15/stdout3016 2> log/15/stderr3016 === End of file commands.log === Start of file server.cmd Testnum 3016 === End of file server.cmd === Start of file valgrind3016 ==178222== ==178222== Process terminating with default action of signal 4 (SIGILL) ==178222== Illegal opcode at address 0x4014883 ==178222== at 0x4014883: getparameter (tool_getparam.c:2899) ==178222== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178222== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178222== by 0x4004208: main (tool_main.c:189) === End of file valgrind3016 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 33833 --port2 33969 --nghttpx "nghttpx" --pidfile "log/3/server/http_v2_server.pid" --logfile "log/3/http_v2_server.log" --logdir "log/3" --connect 127.0.0.1:39591 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 33619 --port2 42449 --nghttpx "nghttpx" --pidfile "log/16/server/http_v2_server.pid" --logfile "log/16/http_v2_server.log" --logdir "log/16" --connect 127.0.0.1:44281 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 3020...[HTTP with invalid --connect-to syntax] ../libtool --mode=exCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:33217/3025 > log/23/stdout3025 2> log/23/stderr3025 ecute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3020 ../src/curl -q --output log/22/curl3020.out --include --trace-ascii log/22/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:41477/3020 > log/22/stdout3020 2> log/22/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/22/ directory after test 3020 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3020 ../src/curl -q --output log/22/curl3020.out --include --trace-ascii log/22/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:41477/3020 > log/22/stdout3020 2> log/22/stderr3020 === End of file commands.log === Start of file http_server.log 05:48:39.797064 ====> Client connect 05:48:39.797119 accept_connection 3 returned 4 05:48:39.797142 accept_connection 3 returned 0 05:48:39.797161 Read 93 bytes 05:48:39.797172 Process 93 bytes request 05:48:39.797188 Got request: GET /verifiedserver HTTP/1.1 05:48:39.797197 Are-we-friendly question received 05:48:39.797225 Wrote request (93 bytes) input to log/22/server.input 05:48:39.797243 Identifying ourselves as friends 05:48:39.797380 Response sent (56 bytes) and written to log/22/server.response 05:48:39.797392 special request received, no persistency 05:48:39.797401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41477... * Established connection to 127.0.0.1 (127.0.0.1 port 41477) from 127.0.0.1 port 34094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41477 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41477 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74784 === End of file http_verify.out === Start of file server.cmd Testnum 3020 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74784 === End of file server.response === Start of file valgrind3020 ==178531== ==178531== Process terminating with default action of signal 4 (SIGILL) ==178531== Illegal opcode at address 0x4014883 ==178531== at 0x4014883: getparameter (tool_getparam.c:2899) ==178531== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178531== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178531== by 0x4004208: main (tool_main.c:189) === End of file valgrind3020 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:46185/3027 > log/20/stdout3027 2> log/20/stderr3027 test 3025...[CURLOPT_HTTP200ALIASES] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:33217/3025 > log/23/stdout3025 2> log/23/stderr3025 3025: data FAILED: --- log/23/check-expected 2026-03-14 05:48:41.534615959 +0000 +++ log/23/check-generated 2026-03-14 05:48:41.534615959 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/23/ directory after test 3025 === Start of file check-expected ICY 200 OK[LF] Content-Length: 7[LF] [LF] MooMoo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:33217/3025 > log/23/stdout3025 2> log/23/stderr3025 === End of file commands.log === Start of file http_server.log 05:48:40.249801 ====> Client connect 05:48:40.249833 accept_connection 3 returned 4 05:48:40.249848 accept_connection 3 returned 0 05:48:40.249861 Read 93 bytes 05:48:40.249871 Process 93 bytes request 05:48:40.249883 Got request: GET /verifiedserver HTTP/1.1 05:48:40.249891 Are-we-friendly question received 05:48:40.249914 Wrote request (93 bytes) input to log/23/server.input 05:48:40.249929 Identifying ourselves as friends 05:48:40.249982 Response sent (56 bytes) and written to log/23/server.response 05:48:40.249992 special request received, no persistency 05:48:40.249999 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 53158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 3025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file stderr3025 URL: http://127.0.0.1:33217/3025 === End of file stderr3025 === Start of file valgrind3025 ==178651== ==178651== Process terminating with default action of signal 4 (SIGILL) ==178651== Illegal opcode at address 0x51D8933 ==178651== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==178651== by 0x51D8933: UnknownInlinedFun (request.c:40) ==178651== by 0x51D8933: Curl_open (url.c:503) ==178651== by 0x514E50F: curl_easy_init (easy.c:350) ==178651== by 0x4043F0C: test_lib3025.lto_priv.0 (lib3025.c:37) ==178651== by 0x40034B5: main (first.c:279) === End of file valgrind3025 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 40359 --port2 45949 --nghttpx "nghttpx" --pidfile "log/18/server/http_v2_server.pid" --logfile "log/18/http_v2_server.log" --logdir "log/18" --connect 127.0.0.1:39913 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 33535 --port2 44337 --nghttpx "nghttpx" --pidfile "log/9/server/http_v2_server.pid" --logfile "log/9/http_v2_server.log" --logdir "log/9" --connect 127.0.0.1:33885 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 3027...[Get a file via FTP but 550 after MDTM command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:46185/3027 > log/20/stdout3027 2> log/20/stderr3027 3027: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 3027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:46185/3027 > log/20/stdout3027 2> log/20/stderr3027 === End of file commands.log === Start of file ftp_server.log 05:48:39.804877 ====> Client connect 05:48:39.805021 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:39.807108 < "USER anonymous" 05:48:39.807152 > "331 We are happy you popped in![CR][LF]" 05:48:39.807300 < "PASS ftp@example.com" 05:48:39.807323 > "230 Welcome you silly person[CR][LF]" 05:48:39.807453 < "PWD" 05:48:39.807482 > "257 "/" is current directory[CR][LF]" 05:48:39.807621 < "EPSV" 05:48:39.807647 ====> Passive DATA channel requested by client 05:48:39.807659 DATA sockfilt for passive data channel starting... 05:48:39.811769 DATA sockfilt for passive data channel started (pid 178647) 05:48:39.811885 DATA sockfilt for passive data channel listens on port 34881 05:48:39.811926 > "229 Entering Passive Mode (|||34881|)[CR][LF]" 05:48:39.811944 Client has been notified that DATA conn will be accepted on port 34881 05:48:39.812271 Client connects to port 34881 05:48:39.812298 ====> Client established passive DATA connection on port 34881 05:48:39.812381 < "TYPE I" 05:48:39.812411 > "200 I modify TYPE as you wanted[CR][LF]" 05:48:39.812560 < "SIZE verifiedserver" 05:48:39.812595 > "213 17[CR][LF]" 05:48:39.815129 < "RETR verifiedserver" 05:48:39.815165 > "150 Binary junk (17 bytes).[CR][LF]" 05:48:39.815264 =====> Closing passive DATA connection... 05:48:39.815281 Server disconnects passive DATA connection 05:48:39.815522 Server disconnected passive DATA connection 05:48:39.817450 DATA sockfilt for passive data channel quits (pid 178647) 05:48:39.817780 DATA sockfilt for passive data channel quit (pid 178647) 05:48:39.817806 =====> Closed passive DATA connection 05:48:39.817837 > "226 File transfer complete[CR][LF]" 05:48:39.856306 < "QUIT" 05:48:39.856364 > "221 bye bye baby[CR][LF]" 05:48:39.858694 MAIN sockfilt said DISC 05:48:39.858737 ====> Client disconnected 05:48:39.858827 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 05:48:40.266190 ====> Client connect 05:48:40.266479 Received DATA (on stdin) 05:48:40.266491 > 146 bytes data, server => client 05:48:40.266502 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:40.266512 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:40.266520 '220 \___|\___/|_| \_\_____|\r\n' 05:48:40.268400 < 16 bytes data, client => server 05:48:40.268416 'USER anonymous\r\n' 05:48:40.268603 Received DATA (on stdin) 05:48:40.268613 > 33 bytes data, server => client 05:48:40.268623 '331 We are happy you popped in!\r\n' 05:48:40.268669 < 22 bytes data, client => server 05:48:40.268679 'PASS ftp@example.com\r\n' 05:48:40.268768 Received DATA (on stdin) 05:48:40.268777 > 30 bytes data, server => client 05:48:40.268787 '230 Welcome you silly person\r\n' 05:48:40.268828 < 5 bytes data, client => server 05:48:40.268837 'PWD\r\n' 05:48:40.268928 Received DATA (on stdin) 05:48:40.268937 > 30 bytes data, server => client 05:48:40.268946 '257 "/" is current directory\r\n' 05:48:40.268996 < 6 bytes data, client => server 05:48:40.269005 'EPSV\r\n' 05:48:40.273399 Received DATA (on stdin) 05:48:40.273414 > 39 bytes data, server => client 05:48:40.273424 '229 Entering Passive Mode (|||34881|)\r\n' 05:48:40.273641 < 8 bytes data, client => server 05:48:40.273654 'TYPE I\r\CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3029 ../src/curl -q --output log/14/curl3029.out --include --trace-ascii log/14/trace3029 --trace-time -D log/14/heads3029 http://127.0.0.1:35549/3029 http://127.0.0.1:35549/3029 --next -D log/14/heads3029 http://127.0.0.1:35549/3029 > log/14/stdout3029 2> log/14/stderr3029 n' 05:48:40.273859 Received DATA (on stdin) 05:48:40.273869 > 33 bytes data, server => client 05:48:40.273878 '200 I modify TYPE as you wanted\r\n' 05:48:40.273925 < 21 bytes data, client => server 05:48:40.273934 'SIZE verifiedserver\r\n' 05:48:40.274040 Received DATA (on stdin) 05:48:40.274050 > 8 bytes data, server => client 05:48:40.274058 '213 17\r\n' 05:48:40.276479 < 21 bytes data, client => server 05:48:40.276497 'RETR verifiedserver\r\n' 05:48:40.276731 Received DATA (on stdin) 05:48:40.276742 > 29 bytes data, server => client 05:48:40.276752 '150 Binary junk (17 bytes).\r\n' 05:48:40.279294 Received DATA (on stdin) 05:48:40.279308 > 28 bytes data, server => client 05:48:40.279318 '226 File transfer complete\r\n' 05:48:40.317559 < 6 bytes data, client => server 05:48:40.317598 'QUIT\r\n' 05:48:40.317817 Received DATA (on stdin) 05:48:40.317829 > 18 bytes data, server => client 05:48:40.317839 '221 bye bye baby\r\n' 05:48:40.320083 ====> Client disconnect 05:48:40.320275 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 05:48:39.272010 Running IPv4 version 05:48:39.272080 Listening on port 34881 05:48:39.272143 Wrote pid 178647 to log/20/server/ftp_sockdata.pid 05:48:39.273153 Received PING (on stdin) 05:48:39.273245 Received PORT (on stdin) 05:48:39.273674 ====> Client connect 05:48:39.276807 Received DATA (on stdin) 05:48:39.276820 > 17 bytes data, server => client 05:48:39.276831 'WE ROOLZ: 89997\r\n' 05:48:39.276857 Received DISC (on stdin) 05:48:39.276869 ====> Client forcibly disconnected 05:48:39.278965 Received QUIT (on stdin) 05:48:39.278979 quits 05:48:39.279039 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 Permission denied Testnum 3027 === End of file server.cmd === Start of file stderr3027 URL: ftp://127.0.0.1:46185/3027 === End of file stderr3027 === Start of file valgrind3027 ==178724== ==178724== Process terminating with default action of signal 4 (SIGILL) ==178724== Illegal opcode at address 0x51D8933 ==178724== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==178724== by 0x51D8933: UnknownInlinedFun (request.c:40) ==178724== by 0x51D8933: Curl_open (url.c:503) ==178724== by 0x514E50F: curl_easy_init (easy.c:350) ==178724== by 0x4047656: test_lib3027.lto_priv.0 (lib3027.c:34) ==178724== by 0x40034B5: main (first.c:279) === End of file valgrind3027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3017 ../src/curl -q --output log/1/curl3017.out --include --trace log/1/trace3017 --trace-time mqtt://127.0.0.1:37061/3017 -m 3 > log/1/stdout3017 2> log/1/stderr3017 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3031 ../src/curl -q --output log/10/curl3031.out --include --trace-ascii log/10/trace3031 --trace-time http://127.0.0.1:46741/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/10/tmp/out.txt --create-dirs > log/10/stdout3031 2> log/10/stderr3031 test 3029...[HTTP with multiple -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3029 ../src/curl -q --output log/14/curl3029.out --include --trace-ascii log/14/trace3029 --trace-time -D log/14/heads3029 http://127.0.0.1:35549/3029 http://127.0.0.1:35549/3029 --next -D log/14/heads3029 http://127.0.0.1:35549/3029 > log/14/stdout3029 2> log/14/stderr3029 3029: data FAILED: --- log/14/check-expected 2026-03-14 05:48:41.824615959 +0000 +++ log/14/check-generated 2026-03-14 05:48:41.824615959 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/14/ directory after test 3029 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3029 ../src/curl -q --output log/14/curl3029.out --include --trace-ascii log/14/trace3029 --trace-time -D log/14/heads3029 http://127.0.0.1:35549/3029 http://127.0.0.1:35549/3029 --next -D log/14/heads3029 http://127.0.0.1:35549/3029 > log/14/stdout3029 2> log/14/stderr3029 === End of file commands.log === Start of file http_server.log 05:48:40.373906 ====> Client connect 05:48:40.373945 accept_connection 3 returned 4 05:48:40.373965 accept_connection 3 returned 0 05:48:40.373982 Read 93 bytes 05:48:40.373993 Process 93 bytes request 05:48:40.374010 Got request: GET /verifiedserver HTTP/1.1 05:48:40.374020 Are-we-friendly question received 05:48:40.374046 Wrote request (93 bytes) input to log/14/server.input 05:48:40.374066 Identifying ourselves as friends 05:48:40.374165 Response sent (56 bytes) and written to log/14/server.response 05:48:40.374178 special request received, no persistency 05:48:40.374188 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35549... * Established connection to 127.0.0.1 (127.0.0.1 port 35549) from 127.0.0.1 port 47456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35549 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35549 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74793 === End of file http_verify.out === Start of file server.cmd Testnum 3029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74793 === End of file server.response === Start of file valgrind3029 ==178808== ==178808== Process terminating with default action of signal 4 (SIGILL) ==178808== Illegal opcode at address 0x4014883 ==178808== at 0x4014883: getparameter (tool_getparam.c:2899) ==178808== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178808== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178808== by 0x4004208: main (tool_main.c:189) === End of file valgrind3029 startnew: ./server/servers mqttd --port 0 --pidfile log/1/server/mqtt_server.pid --portfile log/1/server/mqtt_server.port --config log/1/server.cmd --logfile log/1/mqtt_server.log --logdir log/1 RUN: MQTT server is now running PID 178219 on PORT 37061 * pid mqtt => 178219 178219 test 3017...[MQTT SUBSCRIBE with pathological PUBLISH length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3017 ../src/curl -q --output log/1/curl3017.out --include --trace log/1/trace3017 --trace-time mqtt://127.0.0.1:37061/3017 -m 3 > log/1/stdout3017 2> log/1/stderr3017 3017: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 3017 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3017 ../src/curl -q --output log/1/curl3017.out --include --trace log/1/trace3017 --trace-time mqtt://127.0.0.1:37061/3017 -m 3 > log/1/stdout3017 2> log/1/stderr3017 === End of file commands.log === Start of file mqtt_server.log 05:48:38.273126 Running IPv4 version 05:48:38.273212 Listening on port 37061 05:48:38.273262 Wrote pid 178219 to log/1/server/mqtt_server.pid 05:48:38.273296 Wrote port 37061 to log/1/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd excessive-remaining TRUE Testnum 3017 === End of file server.cmd === Start of file valgrind3017 ==178665== ==178665== Process terminating with default action of signal 4 (SIGILL) ==178665== Illegal opcode at address 0x4014883 ==178665== at 0x4014883: getparameter (tool_getparam.c:2899) ==178665== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178665== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178665== by 0x4004208: main (tool_main.c:189) === End of file valgrind3017 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http3-server.pl --port 33041 --nghttpx "nghttpx" --pidfile "log/17/server/http_v3_server.pid" --logfile "log/17/http_v3_server.log" --logdir "log/17" --connect 127.0.0.1:41219 startnew: child process has died, server might start up RUN: failed to start the HTTP/3 server test 2502 SKIPPED: failed starting HTTP/3 server test 3031...[--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3031 ../src/curl -q --output log/10/curl3031.out --include --trace-ascii log/10/trace3031 --trace-time http://127.0.0.1:46741/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/10/tmp/out.txt --create-dirs > log/10/stdout3031 2> log/10/stderr3031 3031: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 3031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3031 ../src/curl -q --output log/10/curl3031.out --include --trace-ascii log/10/trace3031 --trace-time http://127.0.0.1:46741/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/10/tmp/out.txt --create-dirs > log/10/stdout3031 2> log/10/stderr3031 === End of file commands.log === Start of file http_server.log 05:48:39.569361 ====> Client connect 05:48:39.569400 accept_connection 3 returned 4 05:48:39.569419 accept_connection 3 returned 0 05:48:39.569436 Read 93 bytes 05:48:39.569447 Process 93 bytes request 05:48:39.569462 Got request: GET /verifiedserver HTTP/1.1 05:48:39.569472 Are-we-friendly question received 05:48:39.569502 Wrote request (93 bytes) input to log/10/server.input 05:48:39.569521 Identifying ourselves as friends 05:48:39.569589 Response sent (56 bytes) and written to log/10/server.response 05:48:39.569601 special request received, no persistency 05:48:39.569610 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46741... * Established connection to 127.0.0.1 (127.0.0.1 port 46741) from 127.0.0.1 port 47212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46741 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46741 left inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3032 ../src/curl -q --output log/21/curl3032.out --include --trace-ascii log/21/trace3032 --trace-time --location http://127.0.0.1:42891/3032 > log/21/stdout3032 2> log/21/stderr3032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:40253/3033 > log/4/stdout3033 2> log/4/stderr3033 tact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74905 === End of file http_verify.out === Start of file server.cmd Testnum 3031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74905 === End of file server.response === Start of file valgrind3031 ==179039== ==179039== Process terminating with default action of signal 4 (SIGILL) ==179039== Illegal opcode at address 0x4014883 ==179039== at 0x4014883: getparameter (tool_getparam.c:2899) ==179039== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179039== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179039== by 0x4004208: main (tool_main.c:189) === End of file valgrind3031 test 3032...[HTTP redirect loop 3x swsbounce test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3032 ../src/curl -q --output log/21/curl3032.out --include --trace-ascii log/21/trace3032 --trace-time --location http://127.0.0.1:42891/3032 > log/21/stdout3032 2> log/21/stderr3032 3032: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 3032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3032 ../src/curl -q --output log/21/curl3032.out --include --trace-ascii log/21/trace3032 --trace-time --location http://127.0.0.1:42891/3032 > log/21/stdout3032 2> log/21/stderr3032 === End of file commands.log === Start of file http_server.log 05:48:39.637066 ====> Client connect 05:48:39.637114 accept_connection 3 returned 4 05:48:39.637133 accept_connection 3 returned 0 05:48:39.637150 Read 93 bytes 05:48:39.637160 Process 93 bytes request 05:48:39.637173 Got request: GET /verifiedserver HTTP/1.1 05:48:39.637182 Are-we-friendly question received 05:48:39.637209 Wrote request (93 bytes) input to log/21/server.input 05:48:39.637226 Identifying ourselves as friends 05:48:39.637309 Response sent (56 bytes) and written to log/21/server.response 05:48:39.637320 special request received, no persistency 05:48:39.637329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42891... * Established connection to 127.0.0.1 (127.0.0.1 port 42891) from 127.0.0.1 port 40646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42891 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42891 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74785 === End of file http_verify.out === Start of file server.cmd Testnum 3032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74785 === End of file server.response === Start of file valgrind3032 ==179118== ==179118== Process terminating with default action of signal 4 (SIGILL) ==179118== Illegal opcode at address 0x4014883 ==179118== at 0x4014883: getparameter (tool_getparam.c:2899) ==179118== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179118== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179118== by 0x4004208: main (tool_main.c:189) === End of file valgrind3032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3030 ../src/curl -q --output log/12/curl3030.out --include --trace-ascii log/12/trace3030 --trace-time -D log/12/heads3030 http://127.0.0.1:36353/3030 http://127.0.0.1:36353/3030 > log/12/stdout3030 2> log/12/stderr3030 test 3033...[CURLOPT_FRESH_CONNECT=2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:40253/3033 > log/4/stdout3033 2> log/4/stderr3033 3033: data FAILED: --- log/4/check-expected 2026-03-14 05:48:42.084615959 +0000 +++ log/4/check-generated 2026-03-14 05:48:42.084615959 +0000 @@ -1,6 +0,0 @@ -[0] no network change[LF] --foo-[LF] -[1] signal network change[LF] --foo-[LF] -[2] no network change[LF] --foo-[LF] == Contents of files in the log/4/ directory after test 3033 === Start of file check-expected [0] no network change[LF] -foo-[LF] [1] signal network change[LF] -foo-[LF] [2] no network change[LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:40253/3033 > log/4/stdout3033 2> log/4/stderr3033 === End of file commands.log === Start of file http_server.log 05:48:39.648565 ====> Client connect 05:48:39.648629 accept_connection 3 returned 4 05:48:39.648644 accept_connection 3 returned 0 05:48:39.648784 Read 93 bytes 05:48:39.648795 Process 93 bytes request 05:48:39.648810 Got request: GET /verifiedserver HTTP/1.1 05:48:39.648818 Are-we-friendly question received 05:48:39.648844 Wrote request (93 bytes) input to log/4/server.input 05:48:39.648860 Identifying ourselves as friends 05:48:39.648913 Response sent (56 bytes) and written to log/4/server.response 05:48:39.648922 special request received, no persistency 05:48:39.648930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40253... * Established connection to 127.0.0.1 (127.0.0.1 port 40253) from 127.0.0.1 port 38786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40253 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40253 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75090 === End of file http_verify.out === Start of file server.cmd Testnum 3033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75090 === End of file server.response === Start of file stderr3033 URL: http://127.0.0.1:40253/3033 === End of file stderr3033 === Start of file valgrind3033 ==179116== ==179116== Process terminating with default action of signal 4 (SIGILL) ==179116== Illegal opcode at address 0x519F3C0 ==179116== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==179116== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==179116== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==179116== by 0x4047ECA: UnknownInlinedFun (lib3033.c:104) ==179116== by 0x4047ECA: test_lib3033.lto_priv.0 (lib3033.c:97) ==179116== by 0x40034B5: main (first.c:279) ==179116== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==179116== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==179116== by 0x519F354: Curl_multi_handle (multi.c:235) ==179116== by 0x4047ECA: UnknownInlinedFun (lib3033.c:104) ==179116== by 0x4047ECA: test_lib3033.lto_priv.0 (lib3033.c:97) ==179116== by 0x40034B5: main (first.c:279) ==179116== === End of file valgrind3033 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3028 ../src/curl -q --output log/2/curl3028.out --include --trace-ascii log/2/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:41799/page --proxytunnel -x 127.0.0.1:36593 > log/2/stdout3028 2> log/2/stderr3028 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38903/3100 > log/7/stdout3100 2> log/7/stderr3100 test 3030...[HTTP with multiple transfers in one -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3030 ../src/curl -q --output log/12/curl3030.out --include --trace-ascii log/12/trace3030 --trace-time -D log/12/heads3030 http://127.0.0.1:36353/3030 http://127.0.0.1:36353/3030 > log/12/stdout3030 2> log/12/stderr3030 3030: data FAILED: --- log/12/check-expected 2026-03-14 05:48:42.241282626 +0000 +++ log/12/check-generated 2026-03-14 05:48:42.241282626 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/12/ directory after test 3030 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3030 ../src/curl -q --output log/12/curl3030.out --include --trace-ascii log/12/trace3030 --trace-time -D log/12/heads3030 http://127.0.0.1:36353/3030 http://127.0.0.1:36353/3030 > log/12/stdout3030 2> log/12/stderr3030 === End of file commands.log === Start of file http_server.log 05:48:40.392845 ====> Client connect 05:48:40.392881 accept_connection 3 returned 4 05:48:40.392899 accept_connection 3 returned 0 05:48:40.392916 Read 93 bytes 05:48:40.392926 Process 93 bytes request 05:48:40.392940 Got request: GET /verifiedserver HTTP/1.1 05:48:40.392950 Are-we-friendly question received 05:48:40.392985 Wrote request (93 bytes) input to log/12/server.input 05:48:40.393003 Identifying ourselves as friends 05:48:40.393067 Response sent (56 bytes) and written to log/12/server.response 05:48:40.393077 special request received, no persistency 05:48:40.393086 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36353... * Established connection to 127.0.0.1 (127.0.0.1 port 36353) from 127.0.0.1 port 51986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36353 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74843 === End of file http_verify.out === Start of file server.cmd Testnum 3030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74843 === End of file server.response === Start of file valgrind3030 ==178854== ==178854== Process terminating with default action of signal 4 (SIGILL) ==178854== Illegal opcode at address 0x4014883 ==178854== at 0x4014883: getparameter (tool_getparam.c:2899) ==178854== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178854== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178854== by 0x4004208: main (tool_main.c:189) === End of file valgrind3030 test 3028...[HTTP GET when PROXY Protocol enabled behind a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3028 ../src/curl -q --output log/2/curl3028.out --include --trace-ascii log/2/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:41799/page --proxytunnel -x 127.0.0.1:36593 > log/2/stdout3028 2> log/2/stderr3028 3028: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 3028 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3028 ../src/curl -q --output log/2/curl3028.out --include --trace-ascii log/2/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:41799/page --proxytunnel -x 127.0.0.1:36593 > log/2/stdout3028 2> log/2/stderr3028 === End of file commands.log === Start of file http2_server.log 05:48:40.447084 ====> Client connect 05:48:40.447130 accept_connection 3 returned 4 05:48:40.447149 accept_connection 3 returned 0 05:48:40.447164 Read 93 bytes 05:48:40.447173 Process 93 bytes request 05:48:40.447186 Got request: GET /verifiedserver HTTP/1.1 05:48:40.447194 Are-we-friendly question received 05:48:40.447218 Wrote request (93 bytes) input to log/2/proxy.input 05:48:40.447233 Identifying ourselves as friends 05:48:40.447317 Response sent (57 bytes) and written to log/2/proxy.response 05:48:40.447327 special request received, no persistency 05:48:40.447335 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36593... * Established connection to 127.0.0.1 (127.0.0.1 port 36593) from 127.0.0.1 port 52896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36593 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:36593 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 157458 === End of file http2_verify.out === Start of file http_server.log 05:48:40.353972 ====> Client connect 05:48:40.354015 accept_connection 3 returned 4 05:48:40.354032 accept_connection 3 returned 0 05:48:40.354047 Read 93 bytes 05:48:40.354056 Process 93 bytes request 05:48:40.354069 Got request: GET /verifiedserver HTTP/1.1 05:48:40.354078 Are-we-friendly question received 05:48:40.354101 Wrote request (93 bytes) input to log/2/server.input 05:48:40.354116 Identifying ourselves as friends 05:48:40.354192 Response sent (56 bytes) and written to log/2/server.response 05:48:40.354202 special request received, no persistency 05:48:40.354211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41799... * Established connection to 127.0.0.1 (127.0.0.1 port 41799) from 127.0.0.1 port 58666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41799 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41799 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75277 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 157458 === End of file proxy.response === Start of file server.cmd Testnum 3028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75277 === End of file server.response === Start of file valgrind3028 ==178916== ==178916== Process terminating with default action of signal 4 (SIGILL) ==178916== Illegal opcode at address 0x4014883 ==178916== at 0x4014883: getparameter (tool_getparam.c:2899) ==178916== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==178916== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==178916== by 0x4004208: main (tool_main.c:189) === End of file valgrind3028 test 3100...[RTSP Authentication check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38903/3100 > log/7/stdout3100 2> log/7/stderr3100 3100: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 3100 === Start of file commands.log ../libtool --mode=execute /usr/bCMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3200 ./unit/units unit3200 log/15/curl_get_line3200 > log/15/stdout3200 2> log/15/stderr3200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3035 ../src/curl -q --trace-ascii log/8/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/8/outfile3035 http://127.0.0.1:45623/3035 > log/8/stdout3035 2> log/8/stderr3035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:40607/3103 > log/6/stdout3103 2> log/6/stderr3103 in/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38903/3100 > log/7/stdout3100 2> log/7/stderr3100 === End of file commands.log === Start of file rtsp_server.log 05:48:40.128458 ====> Client connect 05:48:40.128504 Read 93 bytes 05:48:40.128518 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:38903 User-Agent: curl/8.19.0 Accept: */* ] 05:48:40.128546 Got request: GET /verifiedserver HTTP/1.1 05:48:40.128557 Are-we-friendly question received 05:48:40.128588 Wrote request (93 bytes) input to log/7/server.input 05:48:40.128609 Send response number -2 part 0 05:48:40.128618 Identifying ourselves as friends 05:48:40.128670 Sent off 69 bytes 05:48:40.128994 Response sent (69 bytes) and written to log/7/server.response 05:48:40.129007 special request received, no persistency 05:48:40.129016 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:38903... * Established connection to 127.0.0.1 (127.0.0.1 port 38903) from 127.0.0.1 port 59040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38903 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1:38903 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 108516 === End of file rtsp_verify.out === Start of file server.cmd Testnum 3100 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 108516 === End of file server.response === Start of file stderr3100 URL: rtsp://127.0.0.1:38903/3100 === End of file stderr3100 === Start of file valgrind3100 ==179363== ==179363== Process terminating with default action of signal 4 (SIGILL) ==179363== Illegal opcode at address 0x51D8933 ==179363== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==179363== by 0x51D8933: UnknownInlinedFun (request.c:40) ==179363== by 0x51D8933: Curl_open (url.c:503) ==179363== by 0x514E50F: curl_easy_init (easy.c:350) ==179363== by 0x4042FEA: test_lib3100.lto_priv.0 (lib3100.c:36) ==179363== by 0x40034B5: main (first.c:279) === End of file valgrind3100 test 3200...[curl_get_line unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3200 ./unit/units unit3200 log/15/curl_get_line3200 > log/15/stdout3200 2> log/15/stderr3200 -------e-v- OK (1757 out of 1773, remaining: 00:01, took 1.451s, duration: 03:21) test 3035...[HTTP retry failed download with keep data and auto-resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3035 ../src/curl -q --trace-ascii log/8/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/8/outfile3035 http://127.0.0.1:45623/3035 > log/8/stdout3035 2> log/8/stderr3035 3035: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 3035 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3035 ../src/curl -q --trace-ascii log/8/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/8/outfile3035 http://127.0.0.1:45623/3035 > log/8/stdout3035 2> log/8/stderr3035 === End of file commands.log === Start of file http_server.log 05:48:40.020391 ====> Client connect 05:48:40.020436 accept_connection 3 returned 4 05:48:40.020455 accept_connection 3 returned 0 05:48:40.020472 Read 93 bytes 05:48:40.020482 Process 93 bytes request 05:48:40.020496 Got request: GET /verifiedserver HTTP/1.1 05:48:40.020505 Are-we-friendly question received 05:48:40.020531 Wrote request (93 bytes) input to log/8/server.input 05:48:40.020549 Identifying ourselves as friends 05:48:40.020630 Response sent (56 bytes) and written to log/8/server.response 05:48:40.020641 special request received, no persistency 05:48:40.020650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45623... * Established connection to 127.0.0.1 (127.0.0.1 port 45623) from 127.0.0.1 port 58088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45623 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45623 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75019 === End of file http_verify.out === Start of file server.cmd Testnum 3035 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75019 === End of file server.response === Start of file valgrind3035 ==179311== ==179311== Process terminating with default action of signal 4 (SIGILL) ==179311== Illegal opcode at address 0x4014883 ==179311== at 0x4014883: getparameter (tool_getparam.c:2899) ==179311== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179311== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179311== by 0x4004208: main (tool_main.c:189) === End of file valgrind3035 test 3103...[CURLOPT_COOKIELIST without expiry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:40607/3103 > log/6/stdout3103 2> log/6/stderr3103 3103: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 3103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:40607/3103 > log/6/stdout3103 2> log/6/stderr3103 === End of file commands.log === Start of file http_server.log 05:48:40.300376 ====> Client connect 05:48:40.300419 accept_connection 3 returned 4 05:48:40.300440 accept_connection 3 returned 0 05:48:40.300458 Read 93 bytes 05:48:40.300470 Process 93 bytes request 05:48:40.300484 Got request: GET /verifiedserver HTTP/1.1 05:48:40.300494 Are-we-friendly question received 05:48:40.300524 Wrote request (93 bytes) input to log/6/server.input 05:48:40.300545 Identifying ourselves as friends 05:48:40.303739 Response sent (57 bytes) and written to log/6/server.response 05:48:40.303756 special request received, no persistency 05:48:40.303765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40607... * Established connection to 127.0.0.1 (127.0.0.1 port 40607) from 127.0.0.1 port 53732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40607 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:40607 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 161152 === End of file http_verify.out === Start of file server.cmd Testnum 3103 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161152 === End of file server.response === Start of file stderr3103 URL: http://127.0.0.1:40607/3103 === End of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:45359/3034 > log/13/stdout3034 2> log/13/stderr3034 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:34551/3101 > log/11/stdout3101 2> log/11/stderr3101 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3205 ./unit/units unit3205 - > log/18/stdout3205 2> log/18/stderr3205 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3214 ./unit/units unit3214 - > log/21/stdout3214 2> log/21/stderr3214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3105 ./libtest/libtests lib3105 - > log/24/stdout3105 2> log/24/stderr3105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3211 ./unit/units unit3211 - > log/14/stdout3211 2> log/14/stderr3211 ile stderr3103 === Start of file valgrind3103 ==179501== ==179501== Process terminating with default action of signal 4 (SIGILL) ==179501== Illegal opcode at address 0x51D8933 ==179501== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==179501== by 0x51D8933: UnknownInlinedFun (request.c:40) ==179501== by 0x51D8933: Curl_open (url.c:503) ==179501== by 0x514E50F: curl_easy_init (easy.c:350) ==179501== by 0x51429E1: curl_share_init (curl_share.c:40) ==179501== by 0x4048E22: test_lib3103.lto_priv.0 (lib3103.c:34) ==179501== by 0x40034B5: main (first.c:279) === End of file valgrind3103 test 3034...[Test reset resolves rewind failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:45359/3034 > log/13/stdout3034 2> log/13/stderr3034 libtests returned 132, when expecting 0 3034: exit FAILED == Contents of files in the log/13/ directory after test 3034 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:45359/3034 > log/13/stdout3034 2> log/13/stderr3034 === End of file commands.log === Start of file http_server.log 05:48:40.940369 ====> Client connect 05:48:40.940551 accept_connection 3 returned 4 05:48:40.940570 accept_connection 3 returned 0 05:48:40.940587 Read 93 bytes 05:48:40.940596 Process 93 bytes request 05:48:40.940610 Got request: GET /verifiedserver HTTP/1.1 05:48:40.940620 Are-we-friendly question received 05:48:40.940649 Wrote request (93 bytes) input to log/13/server.input 05:48:40.940668 Identifying ourselves as friends 05:48:40.940740 Response sent (56 bytes) and written to log/13/server.response 05:48:40.940751 special request received, no persistency 05:48:40.940761 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45359... * Established connection to 127.0.0.1 (127.0.0.1 port 45359) from 127.0.0.1 port 37670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45359 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45359 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 77064 === End of file http_verify.out === Start of file server.cmd Testnum 3034 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 77064 === End of file server.response === Start of file stderr3034 URL: http://127.0.0.1:45359/3034 === End of file stderr3034 === Start of file valgrind3034 ==179261== ==179261== Process terminating with default action of signal 4 (SIGILL) ==179261== Illegal opcode at address 0x51D8933 ==179261== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==179261== by 0x51D8933: UnknownInlinedFun (request.c:40) ==179261== by 0x51D8933: Curl_open (url.c:503) ==179261== by 0x514E50F: curl_easy_init (easy.c:350) ==179261== by 0x404790C: UnknownInlinedFun (lib3034.c:43) ==179261== by 0x404790C: test_lib3034.lto_priv.0 (lib3034.c:37) ==179261== by 0x40034B5: main (first.c:279) === End of file valgrind3034 test 3101...[HTTP auth without redirection protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:34551/3101 > log/11/stdout3101 2> log/11/stderr3101 3101: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 3101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:34551/3101 > log/11/stdout3101 2> log/11/stderr3101 === End of file commands.log === Start of file http_server.log 05:48:41.240402 ====> Client connect 05:48:41.240455 accept_connection 3 returned 4 05:48:41.240477 accept_connection 3 returned 0 05:48:41.240494 Read 93 bytes 05:48:41.240505 Process 93 bytes request 05:48:41.240519 Got request: GET /verifiedserver HTTP/1.1 05:48:41.240529 Are-we-friendly question received 05:48:41.240554 Wrote request (93 bytes) input to log/11/server.input 05:48:41.240572 Identifying ourselves as friends 05:48:41.240653 Response sent (56 bytes) and written to log/11/server.response 05:48:41.240664 special request received, no persistency 05:48:41.240673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34551... * Established connection to 127.0.0.1 (127.0.0.1 port 34551) from 127.0.0.1 port 40120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34551 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34551 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74865 === End of file http_verify.out === Start of file server.cmd Testnum 3101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74865 === End of file server.response === Start of file stderr3101 URL: http://127.0.0.1:34551/3101 === End of file stderr3101 === Start of file valgrind3101 ==179447== ==179447== Process terminating with default action of signal 4 (SIGILL) ==179447== Illegal opcode at address 0x51D8933 ==179447== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==179447== by 0x51D8933: UnknownInlinedFun (request.c:40) ==179447== by 0x51D8933: Curl_open (url.c:503) ==179447== by 0x514E50F: curl_easy_init (easy.c:350) ==179447== by 0x40431AA: test_lib3101.lto_priv.0 (lib3101.c:36) ==179447== by 0x40034B5: main (first.c:279) === End of file valgrind3101 test 3205...[cipher suite name lookup] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3205 ./unit/units unit3205 - > log/18/stdout3205 2> log/18/stderr3205 -------e-v- OK (1762 out of 1773, remaining: 00:01, took 1.274s, duration: 03:21) test 3214...[struct size checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3214 ./unit/units unit3214 - > log/21/stdout3214 2> log/21/stderr3214 -------e-v- OK (1771 out of 1773, remaining: 00:00, took 1.007s, duration: 03:21) test 3211...[uint_bset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3211 ./unit/units unit3211 - > log/14/stdout3211 2> log/14/stderr3211 units returned 132, when expecting 0 3211: exit FAILED == Contents of files in the log/14/ directory after test 3211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3211 ./unit/units unit3211 - > log/14/stdout3211 2> log/14/stderr3211 === End of file commands.log === Start of file server.cmd Testnum 3211 === End of file server.cmd === Start of file stderr3211 URL: - test s1, capacity=100, 10 numbers === End of file stderr3211 === Start of file valgrind3211 ==180019== ==180019== Process terminating with defCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3212 ./unit/units unit3212 - > log/17/stdout3212 2> log/17/stderr3212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:35701/3104 > log/19/stdout3104 2> log/19/stderr3104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3213 ./unit/units unit3213 - > log/10/stdout3213 2> log/10/stderr3213 ault action of signal 4 (SIGILL) ==180019== Illegal opcode at address 0x40230C5 ==180019== at 0x40230C5: UnknownInlinedFun (string_fortified.h:59) ==180019== by 0x40230C5: UnknownInlinedFun (uint-bset.c:101) ==180019== by 0x40230C5: UnknownInlinedFun (unit3211.c:44) ==180019== by 0x40230C5: test_unit3211 (unit3211.c:146) ==180019== by 0x400B145: main (first.c:279) ==180019== 16 bytes in 1 blocks are definitely lost in loss record 2 of 14 ==180019== at 0x49A4C13: calloc (vg_replace_malloc.c:1675) ==180019== by 0x40230A7: UnknownInlinedFun (uint-bset.c:47) ==180019== by 0x40230A7: UnknownInlinedFun (unit3211.c:40) ==180019== by 0x40230A7: test_unit3211 (unit3211.c:146) ==180019== by 0x400B145: main (first.c:279) ==180019== === End of file valgrind3211 test 3105...[curl_multi_remove_handle twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3105 ./libtest/libtests lib3105 - > log/24/stdout3105 2> log/24/stderr3105 libtests returned 132, when expecting 0 3105: exit FAILED == Contents of files in the log/24/ directory after test 3105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3105 ./libtest/libtests lib3105 - > log/24/stdout3105 2> log/24/stderr3105 === End of file commands.log === Start of file server.cmd Testnum 3105 === End of file server.cmd === Start of file stderr3105 URL: - === End of file stderr3105 === Start of file valgrind3105 ==179627== ==179627== Process terminating with default action of signal 4 (SIGILL) ==179627== Illegal opcode at address 0x519F3C0 ==179627== at 0x519F3C0: UnknownInlinedFun (string_fortified.h:59) ==179627== by 0x519F3C0: UnknownInlinedFun (multi_ntfy.c:126) ==179627== by 0x519F3C0: Curl_multi_handle (multi.c:243) ==179627== by 0x4043C8E: UnknownInlinedFun (lib3105.c:36) ==179627== by 0x4043C8E: test_lib3105.lto_priv.0 (lib3105.c:26) ==179627== by 0x40034B5: main (first.c:279) ==179627== 728 bytes in 1 blocks are definitely lost in loss record 714 of 787 ==179627== at 0x5108C13: calloc (vg_replace_malloc.c:1675) ==179627== by 0x519F354: Curl_multi_handle (multi.c:235) ==179627== by 0x4043C8E: UnknownInlinedFun (lib3105.c:36) ==179627== by 0x4043C8E: test_lib3105.lto_priv.0 (lib3105.c:26) ==179627== by 0x40034B5: main (first.c:279) ==179627== === End of file valgrind3105 test 3212...[uint_bset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3212 ./unit/units unit3212 - > log/17/stdout3212 2> log/17/stderr3212 units returned 132, when expecting 0 3212: exit FAILED == Contents of files in the log/17/ directory after test 3212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3212 ./unit/units unit3212 - > log/17/stdout3212 2> log/17/stderr3212 === End of file commands.log === Start of file server.cmd Testnum 3212 === End of file server.cmd === Start of file stderr3212 URL: - === End of file stderr3212 === Start of file valgrind3212 ==180027== ==180027== Process terminating with default action of signal 4 (SIGILL) ==180027== Illegal opcode at address 0x40262F5 ==180027== at 0x40262F5: UnknownInlinedFun (string_fortified.h:59) ==180027== by 0x40262F5: UnknownInlinedFun (uint-table.c:38) ==180027== by 0x40262F5: UnknownInlinedFun (unit3212.c:35) ==180027== by 0x40262F5: test_unit3212 (unit3212.c:49) ==180027== by 0x400B145: main (first.c:279) === End of file valgrind3212 test 3104...[CURLOPT_COOKIELIST with Netscape format] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:35701/3104 > log/19/stdout3104 2> log/19/stderr3104 3104: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 3104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:35701/3104 > log/19/stdout3104 2> log/19/stderr3104 === End of file commands.log === Start of file http_server.log 05:48:40.413281 ====> Client connect 05:48:40.413386 accept_connection 3 returned 4 05:48:40.413401 accept_connection 3 returned 0 05:48:40.413414 Read 93 bytes 05:48:40.413422 Process 93 bytes request 05:48:40.413434 Got request: GET /verifiedserver HTTP/1.1 05:48:40.413442 Are-we-friendly question received 05:48:40.413466 Wrote request (93 bytes) input to log/19/server.input 05:48:40.413481 Identifying ourselves as friends 05:48:40.413529 Response sent (56 bytes) and written to log/19/server.response 05:48:40.413537 special request received, no persistency 05:48:40.413544 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35701... * Established connection to 127.0.0.1 (127.0.0.1 port 35701) from 127.0.0.1 port 37504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35701 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74787 === End of file http_verify.out === Start of file server.cmd Testnum 3104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74787 === End of file server.response === Start of file stderr3104 URL: http://127.0.0.1:35701/3104 === End of file stderr3104 === Start of file valgrind3104 ==179570== ==179570== Process terminating with default action of signal 4 (SIGILL) ==179570== Illegal opcode at address 0x51D8933 ==179570== at 0x51D8933: UnknownInlinedFun (string_fortified.h:59) ==179570== by 0x51D8933: UnknownInlinedFun (request.c:40) ==179570== by 0x51D8933: Curl_open (url.c:503) ==179570== by 0x514E50F: curl_easy_init (easy.c:350) ==179570== by 0x51429E1: curl_share_init (curl_share.c:40) ==179570== by 0x4048FA2: test_lib3104.lto_priv.0 (lib3104.c:34) ==179570== by 0x40034B5: main (first.c:279) === End of file valgrind3104 test 3213...[uint_spbset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3213 ./unit/units unit3213 - > log/10/stdout3213 2> log/10/stderr3213 units returned 132, when expecting 0 3213: exit FAILED == Contents of files in the log/10/ directory after test 3213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3213 ./unit/units unit3213 - > log/10/stdout3213 2> log/10/stderr3213 === End of file commands.log === Start of file server.cmd Testnum 3213 === End of file server.cmd === Start of file stderr3213 URL: - test s1, 10 numbers === End of file stderr3213 === Start of file valgrind3213 ==180066== ==180066== Process terminating with default action of signal 4 (SIGILL) ==180066== Illegal opcode at address 0x402B677 ==180066== at 0x402B677: UnknownInlinedFun (string_fortified.h:59) ==180066== by 0x402B677: UnknownInlinedFun (uint-spbset.c:38) ==180066== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3203 ../src/curl -q --trace-ascii log/22/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/22/test3203.dir/ > log/22/stdout3203 2> log/22/stderr3203 by 0x402B677: UnknownInlinedFun (unit3213.c:39) ==180066== by 0x402B677: test_unit3213 (unit3213.c:120) ==180066== by 0x400B145: main (first.c:279) === End of file valgrind3213 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3201 ../src/curl -q --output log/3/curl3201.out --include --trace-ascii log/3/trace3201 --trace-time http://127.0.0.1:39591/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/3/stdout3201 2> log/3/stderr3201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3206 ../src/curl -q --output log/9/curl3206.out --include --trace-ascii log/9/trace3206 --trace-time imap://127.0.0.1:33787/3206/ -u user:secret -X 'FETCH 456 ("fake {50}" BODY[TEXT])' > log/9/stdout3206 2> log/9/stderr3206 test 3203...[GET a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3203 ../src/curl -q --trace-ascii log/22/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/22/test3203.dir/ > log/22/stdout3203 2> log/22/stderr3203 3203: stdout FAILED: --- log/22/check-expected 2026-03-14 05:48:43.367949292 +0000 +++ log/22/check-generated 2026-03-14 05:48:43.367949292 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/22/ directory after test 3203 === Start of file check-expected dir-listing-test.txt[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3203 ../src/curl -q --trace-ascii log/22/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/22/test3203.dir/ > log/22/stdout3203 2> log/22/stderr3203 === End of file commands.log === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==179762== ==179762== Process terminating with default action of signal 4 (SIGILL) ==179762== Illegal opcode at address 0x4014883 ==179762== at 0x4014883: getparameter (tool_getparam.c:2899) ==179762== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179762== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179762== by 0x4004208: main (tool_main.c:189) === End of file valgrind3203 test 3201...[HTTP GET when PROXY Protocol enabled and spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3201 ../src/curl -q --output log/3/curl3201.out --include --trace-ascii log/3/trace3201 --trace-time http://127.0.0.1:39591/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/3/stdout3201 2> log/3/stderr3201 3201: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 3201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3201 ../src/curl -q --output log/3/curl3201.out --include --trace-ascii log/3/trace3201 --trace-time http://127.0.0.1:39591/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/3/stdout3201 2> log/3/stderr3201 === End of file commands.log === Start of file http_server.log 05:48:41.897039 ====> Client connect 05:48:41.897078 accept_connection 3 returned 4 05:48:41.897095 accept_connection 3 returned 0 05:48:41.897109 Read 93 bytes 05:48:41.897119 Process 93 bytes request 05:48:41.897134 Got request: GET /verifiedserver HTTP/1.1 05:48:41.897143 Are-we-friendly question received 05:48:41.897168 Wrote request (93 bytes) input to log/3/server.input 05:48:41.897191 Identifying ourselves as friends 05:48:41.897259 Response sent (56 bytes) and written to log/3/server.response 05:48:41.897270 special request received, no persistency 05:48:41.897279 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39591... * Established connection to 127.0.0.1 (127.0.0.1 port 39591) from 127.0.0.1 port 44906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39591 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39591 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75189 === End of file http_verify.out === Start of file server.cmd Testnum 3201 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75189 === End of file server.response === Start of file valgrind3201 ==179758== ==179758== Process terminating with default action of signal 4 (SIGILL) ==179758== Illegal opcode at address 0x4014883 ==179758== at 0x4014883: getparameter (tool_getparam.c:2899) ==179758== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179758== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179758== by 0x4004208: main (tool_main.c:189) === End of file valgrind3201 test 3206...[IMAP custom FETCH with larger literal response (~7KB)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3206 ../src/curl -q --output log/9/curl3206.out --include --trace-ascii log/9/trace3206 --trace-time imap://127.0.0.1:33787/3206/ -u user:secret -X 'FETCH 456 ("fake {50}" BODY[TEXT])' > log/9/stdout3206 2> log/9/stderr3206 3206: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 3206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3206 ../src/curl -q --output log/9/curl3206.out --include --trace-ascii log/9/trace3206 --trace-time imap://127.0.0.1:33787/3206/ -u user:secret -X 'FETCH 456 ("fake {50}" BODY[TEXT])' > log/9/stdout3206 2> log/9/stderr3206 === End of file commands.log === Start of file imap_server.log 05:48:41.768894 ====> Client connect 05:48:41.769161 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:41.775773 < "A001 CAPABILITY" 05:48:41.775832 > "A001 BAD Command[CR][LF]" 05:48:41.776050 < "A002 LIST "verifiedserver" *" 05:48:41.776078 LIST_imap got "verifiedserver" * 05:48:41.776104 > "* LIST () "/" "WE ROOLZ: 120285"[CR][LF]" 05:48:41.776123 > "A002 OK LIST Completed[CR][LF]" 05:48:41.776137 return proof we are we 05:48:41.834492 < "A003 LOGOUT" 05:48:41.834557 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:41.834582 > "A003 OK LOGOUT completed[CR][LF]" 05:48:41.839370 MAIN sockfilt said DISC 05:48:41.839430 ====> Client disconnected 05:48:41.839543 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:41.229035 ====> Client connect 05:48:41.230637 Received DATA (on stdin) 05:48:41.230665 > 164 bytes data, server => client 05:48:41.230679 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:41.230691 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:41.230701 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:41.236990 < 17 bytes data, client => server 05:48:41.237022 'A001 CAPABILITY\r\n' 05:48:41.237283 Received DATA (on stdin) 05:48:41.237295 > 18 bytes data, server => client 05:48:41.237305 'A001 BAD Command\r\n' 05:48:41.237410 < 30 bytes data, client => server 05:48:41.237422 'A002 LIST "verifiedserver" *\r\n' 05:48:41.237584 Received DATA (on stdin) 05:48:41.237596 > 34 bytes data, server => client 05:48:41.237606 '* LIST () "/" "WE ROOLZ: 120285"\r\n' 05:48:41.237627 Received DATA (on stdin) 05:48:41.237637 > 24 bytes data, server => client 05:48:41.237647 'A002 OK LIST Completed\r\n' 05:48:41.290336 < 13 bytes data, client => server 05:48:41.290373 'A003 LOGOUT\r\n' 05:48:41.296041 Received DATA (on stdin) 05:48:41.296063 > 36 bytes data, server => client 05:48:41.296074 '* BYE curl IMAP server signing off\r\n' 05:48:41.296121 Received DATA (on stdin) 05:48:41.296133 > 26 bytes data, server => client 05:48:41.296143 'A003 OK LOGOUT completed\r\n' 05:48:41.300303 ====> Client disconnect 05:48:41.300994CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3216 ./unit/units unit3216 - > log/12/stdout3216 2> log/12/stderr3216 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3209 ../src/curl -q --output log/20/curl3209.out --include --trace-ascii log/20/trace3209 --trace-time imap://127.0.0.1:45645/3209 -T log/20/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/20/stdout3209 2> log/20/stderr3209 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3204 ../src/curl -q --output log/23/curl3204.out --include --trace-ascii log/23/trace3204 --trace-time http://127.0.0.1:33217/3204 --etag-compare log/23/etag3204 --etag-save log/23/etag3204 > log/23/stdout3204 2> log/23/stderr3204 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3206 === End of file server.cmd === Start of file valgrind3206 ==179998== ==179998== Process terminating with default action of signal 4 (SIGILL) ==179998== Illegal opcode at address 0x4014883 ==179998== at 0x4014883: getparameter (tool_getparam.c:2899) ==179998== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179998== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179998== by 0x4004208: main (tool_main.c:189) === End of file valgrind3206 test 3216...[ratelimit unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3216 ./unit/units unit3216 - > log/12/stdout3216 2> log/12/stderr3216 -------e-v- OK (1773 out of 1773, remaining: 00:00, took 1.314s, duration: 03:22) test 3209...[Upload message via IMAP with upload flags] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3209 ../src/curl -q --output log/20/curl3209.out --include --trace-ascii log/20/trace3209 --trace-time imap://127.0.0.1:45645/3209 -T log/20/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/20/stdout3209 2> log/20/stderr3209 3209: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 3209 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3209 ../src/curl -q --output log/20/curl3209.out --include --trace-ascii log/20/trace3209 --trace-time imap://127.0.0.1:45645/3209 -T log/20/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/20/stdout3209 2> log/20/stderr3209 === End of file commands.log === Start of file imap_server.log 05:48:41.877708 ====> Client connect 05:48:41.877865 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:41.878170 < "A001 CAPABILITY" 05:48:41.878208 > "A001 BAD Command[CR][LF]" 05:48:41.878383 < "A002 LIST "verifiedserver" *" 05:48:41.878411 LIST_imap got "verifiedserver" * 05:48:41.878439 > "* LIST () "/" "WE ROOLZ: 120280"[CR][LF]" 05:48:41.878460 > "A002 OK LIST Completed[CR][LF]" 05:48:41.878475 return proof we are we 05:48:41.922693 < "A003 LOGOUT" 05:48:41.922764 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:41.922789 > "A003 OK LOGOUT completed[CR][LF]" 05:48:41.924144 MAIN sockfilt said DISC 05:48:41.924176 ====> Client disconnected 05:48:41.924277 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:41.339042 ====> Client connect 05:48:41.339325 Received DATA (on stdin) 05:48:41.339340 > 164 bytes data, server => client 05:48:41.339352 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:41.339362 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:41.339372 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:41.339454 < 17 bytes data, client => server 05:48:41.339469 'A001 CAPABILITY\r\n' 05:48:41.339658 Received DATA (on stdin) 05:48:41.339671 > 18 bytes data, server => client 05:48:41.339681 'A001 BAD Command\r\n' 05:48:41.339739 < 30 bytes data, client => server 05:48:41.339752 'A002 LIST "verifiedserver" *\r\n' 05:48:41.339922 Received DATA (on stdin) 05:48:41.339934 > 34 bytes data, server => client 05:48:41.339943 '* LIST () "/" "WE ROOLZ: 120280"\r\n' 05:48:41.339962 Received DATA (on stdin) 05:48:41.339972 > 24 bytes data, server => client 05:48:41.339982 'A002 OK LIST Completed\r\n' 05:48:41.383878 < 13 bytes data, client => server 05:48:41.383920 'A003 LOGOUT\r\n' 05:48:41.384241 Received DATA (on stdin) 05:48:41.384254 > 36 bytes data, server => client 05:48:41.384265 '* BYE curl IMAP server signing off\r\n' 05:48:41.384288 Received DATA (on stdin) 05:48:41.384297 > 26 bytes data, server => client 05:48:41.384307 'A003 OK LOGOUT completed\r\n' 05:48:41.385537 ====> Client disconnect 05:48:41.385735 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3209 === End of file server.cmd === Start of file upload3209 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? === End of file upload3209 === Start of file valgrind3209 ==180109== ==180109== Process terminating with default action of signal 4 (SIGILL) ==180109== Illegal opcode at address 0x4014883 ==180109== at 0x4014883: getparameter (tool_getparam.c:2899) ==180109== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==180109== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==180109== by 0x4004208: main (tool_main.c:189) === End of file valgrind3209 test 3204...[Use --etag-compare and --etag-save on an existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3204 ../src/curl -q --output log/23/curl3204.out --include --trace-ascii log/23/trace3204 --trace-time http://127.0.0.1:33217/3204 --etag-compare log/23/etag3204 --etag-save log/23/etag3204 > log/23/stdout3204 2> log/23/stderr3204 3204: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 3204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3204 ../src/curl -q --output log/23/curl3204.out --include --trace-ascii log/23/trace3204 --trace-time http://127.0.0.1:33217/3204 --etag-compare log/23/etag3204 --etag-save log/23/etag3204 > log/23/stdout3204 2> log/23/stderr3204 === End of file commands.log === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 05:48:42.100368 ====> Client connect 05:48:42.100408 accept_connection 3 returned 4 05:48:42.100425 accept_connection 3 returned 0 05:48:42.100440 Read 93 bytes 05:48:42.100451 Process 93 bytes request 05:48:42.100465 Got request: GET /verifiedserver HTTP/1.1 05:48:42.100475 Are-we-friendly question received 05:48:42.100503 Wrote request (93 bytes) input to log/23/server.input 05:48:42.100521 Identifying ourselves as friends 05:48:42.100592 Response sent (56 bytes) and written to log/23/server.response 05:48:42.100605 special request received, no persistency 05:48:42.100613 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33217... * Established connection to 127.0.0.1 (127.0.0.1 port 33217) from 127.0.0.1 port 53162 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33217 > User-Agent: curl/8.19.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33217 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74783 === End of file http_verify.out === Start of file server.cmd Testnum 3204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74783 === End of file server.response === Start of file valgrind3204 ==179872== ==179872== Process terminating with defaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3210 ../src/curl -q --output log/1/curl3210.out --include --trace-ascii log/1/trace3210 --trace-time imap://127.0.0.1:34849/3210 -T log/1/upload3210 -u user:secret --upload-flags -seen > log/1/stdout3210 2> log/1/stderr3210 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3215 ../src/curl -q --output log/4/curl3215.out --include --trace-ascii log/4/trace3215 --trace-time smtp://127.0.0.1:37371/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/4/stdout3215 2> log/4/stderr3215 ult action of signal 4 (SIGILL) ==179872== Illegal opcode at address 0x4014883 ==179872== at 0x4014883: getparameter (tool_getparam.c:2899) ==179872== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==179872== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==179872== by 0x4004208: main (tool_main.c:189) === End of file valgrind3204 test 3210...[Upload message unread via IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3210 ../src/curl -q --output log/1/curl3210.out --include --trace-ascii log/1/trace3210 --trace-time imap://127.0.0.1:34849/3210 -T log/1/upload3210 -u user:secret --upload-flags -seen > log/1/stdout3210 2> log/1/stderr3210 3210: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 3210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3210 ../src/curl -q --output log/1/curl3210.out --include --trace-ascii log/1/trace3210 --trace-time imap://127.0.0.1:34849/3210 -T log/1/upload3210 -u user:secret --upload-flags -seen > log/1/stdout3210 2> log/1/stderr3210 === End of file commands.log === Start of file imap_server.log 05:48:41.930001 ====> Client connect 05:48:41.930151 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 05:48:41.931628 < "A001 CAPABILITY" 05:48:41.931679 > "A001 BAD Command[CR][LF]" 05:48:41.931873 < "A002 LIST "verifiedserver" *" 05:48:41.931909 LIST_imap got "verifiedserver" * 05:48:41.931941 > "* LIST () "/" "WE ROOLZ: 112350"[CR][LF]" 05:48:41.931962 > "A002 OK LIST Completed[CR][LF]" 05:48:41.931978 return proof we are we 05:48:41.979238 < "A003 LOGOUT" 05:48:41.979304 > "* BYE curl IMAP server signing off[CR][LF]" 05:48:41.979329 > "A003 OK LOGOUT completed[CR][LF]" 05:48:41.980654 MAIN sockfilt said DISC 05:48:41.980695 ====> Client disconnected 05:48:41.980820 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 05:48:41.391297 ====> Client connect 05:48:41.391618 Received DATA (on stdin) 05:48:41.391635 > 164 bytes data, server => client 05:48:41.391648 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 05:48:41.391658 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 05:48:41.391669 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 05:48:41.392907 < 17 bytes data, client => server 05:48:41.392926 'A001 CAPABILITY\r\n' 05:48:41.393140 Received DATA (on stdin) 05:48:41.393154 > 18 bytes data, server => client 05:48:41.393165 'A001 BAD Command\r\n' 05:48:41.393227 < 30 bytes data, client => server 05:48:41.393238 'A002 LIST "verifiedserver" *\r\n' 05:48:41.393429 Received DATA (on stdin) 05:48:41.393442 > 34 bytes data, server => client 05:48:41.393454 '* LIST () "/" "WE ROOLZ: 112350"\r\n' 05:48:41.393477 Received DATA (on stdin) 05:48:41.393488 > 24 bytes data, server => client 05:48:41.393499 'A002 OK LIST Completed\r\n' 05:48:41.440443 < 13 bytes data, client => server 05:48:41.440489 'A003 LOGOUT\r\n' 05:48:41.440783 Received DATA (on stdin) 05:48:41.440797 > 36 bytes data, server => client 05:48:41.440808 '* BYE curl IMAP server signing off\r\n' 05:48:41.440833 Received DATA (on stdin) 05:48:41.440843 > 26 bytes data, server => client 05:48:41.440853 'A003 OK LOGOUT completed\r\n' 05:48:41.442042 ====> Client disconnect 05:48:41.442282 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3210 === End of file server.cmd === Start of file upload3210 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 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. === End of file upload3210 === Start of file valgrind3210 ==180187== ==180187== Process terminating with default action of signal 4 (SIGILL) ==180187== Illegal opcode at address 0x4014883 ==180187== at 0x4014883: getparameter (tool_getparam.c:2899) ==180187== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==180187== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==180187== by 0x4004208: main (tool_main.c:189) === End of file valgrind3210 test 3215...[SMTP DSN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3215 ../src/curl -q --output log/4/curl3215.out --include --trace-ascii log/4/trace3215 --trace-time smtp://127.0.0.1:37371/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/4/stdout3215 2> log/4/stderr3215 3215: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 3215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3215 ../src/curl -q --output log/4/curl3215.out --include --trace-ascii log/4/trace3215 --trace-time smtp://127.0.0.1:37371/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/4/stdout3215 2> log/4/stderr3215 === End of file commands.log === Start of file server.cmd REPLY MAIL 250 Ok REPLY RCPT 250 Ok Testnum 3215 === End of file server.cmd === Start of file smtp_server.log 05:48:42.204408 ====> Client connect 05:48:42.204558 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 05:48:42.204867 < "EHLO verifiedserver" 05:48:42.204909 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 05:48:42.205088 < "HELP" 05:48:42.205121 > "214 WE ROOLZ: 125727[CR][LF]" 05:48:42.205138 return proof we are we 05:48:42.205376 < "QUIT" 05:48:42.205404 > "221 curl ESMTP server signing off[CR][LF]" 05:48:42.206538 MAIN sockfilt said DISC 05:48:42.206575 ====> Client disconnected 05:48:42.206663 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 05:48:42.665733 ====> Client connect 05:48:42.666021 Received DATA (on stdin) 05:48:42.666035 > 146 bytes data, server => client 05:48:42.666047 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 05:48:42.666058 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 05:48:42.666067 '220 \___|\___/|_| \_\_____|\r\n' 05:48:42.666164 < 21 bytes data, client => server 05:48:42.666179 'EHLO verifiedserver\r\n' 05:48:42.666362 Received DATA (on stdin) 05:48:42.666374 > 53 bytes data, server => client 05:48:42.666385 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 05:48:42.666443 < 6 bytes data, client => server 05:48:42.666456 'HELP\r\n' 05:48:42.666586 Received DATA (on stdin) 05:48:42.666598 > 22 bytes data, server => client 05:48:42.666608 '214 WE ROOLZ: 125727\r\n' 05:48:42.666709 < 6 bytes data, client => server 05:48:42.666723 'QUIT\r\n' 05:48:42.666852 Received DATA (on stdin) 05:48:42.666863 > 35 bytes data, server => client 05:48:42.666874 '221 curl ESMTP server signing off\r\n' 05:48:42.666977 ====> Client disconnect 05:48:42.673628 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3202 ../src/curl -q --output log/16/curl3202.out --include --trace-ascii log/16/trace3202 --trace-time -g "http://[::1]:45059/3202" --haproxy-clientip "2001:db8::" > log/16/stdout3202 2> log/16/stderr3202 CMD (0): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3026 ./libtest/libtests lib3026 - > log/5/stdout3026 2> log/5/stderr3026 * kill pid for ftp-ctrl => 81596 * kill pid for ftp-ctrl => 81132 * kill pid for ftp-ctrl => 81075 * kill pid for ftp-ctrl => 80941 * kill pid for ftp-ctrl => 82087 * kill pid for ftp-ctrl => 81165 * kill pid for ftp-ctrl => 138268 * kill pid for ftp-ctrl => 81063 * kill pid for ftp-ctrl => 90056 * kill pid for imap-filt => 119754 * kill pid for ftp-ctrl => 81358 * kill pid for ftp-ctrl => 81705 * kill pid for ftp-ctrl => 81079 * kill pid for ftp-ctrl => 81462 * kill pid for ftp-ctrl => 81482 * kill pid for ftp-ctrl => 81447 * kill pid for ftp-ctrl => 81398 * kill pid for ftp-ctrl => 81047 * kill pid for ftp-ctrl => 81213 * kill pid for ftp-ctrl => 81209 * kill pid for ftp-ctrl => 81378 * kill pid for ftp-ctrl => 81589 * kill pid for ftp-ctrl => 81151 * kill pid for ftp-ipv6-ctrl => 134496 * kill pid for imap-filt => 112354 * kill pid for pop3-filt => 122764 * kill pid for smtp-filt => 125463 RUN: Process with pid 75330 signalled to die RUN: Process with pid 81663 signalled to die RUN: Process with pid 91512 signalled to die RUN: Process with pid 108419 signalled to die RUN: Process with pid 112350 signalled to die RUN: Process with pid 114245 signalled to die RUN: Process with pid 122738 signalled to die RUN: Process with pid 125372 signalled to die RUN: Process with pid 134476 signalled to die RUN: Process with pid 159453 signalled to die RUN: Process with pid 172714 signalled to die RUN: Process with pid 178219 signalled to die * kill pid for ftp-ctrl => 81050 * kill pid for imap-filt => 120344 * kill pid for pop3-filt => 123315 * kill pid for smtp-filt => 126520 RUN: Process with pid 75077 signalled to die RUN: Process with pid 92451 signalled to die RUN: Process with pid 108516 signalled to die RUN: Process with pid 120283 signalled to die RUN: Process with pid 123264 signalled to die RUN: Process with pid 126497 signalled to die RUN: Process with pid 143125 signalled to die RUN: Process with pid 145167 signalled to die RUN: Process with pid 171160 signalled to die * kill pid for ftp-ipv6-ctrl => 90975 * kill pid for imap-filt => 119591 * kill pid for pop3-filt => 123399 * kill pid for smtp-filt => 125608 RUN: Process with pid 90936 signalled to die RUN: Process with pid 114254 signalled to die RUN: Process with pid 119499 signalled to die RUN: Process with pid 123341 signalled to die RUN: Process with pid 125542 signalled to die RUN: Process with pid 131752 signalled to die RUN: Process with pid 138189 signalled to die RUN: Process with pid 150727 signalled to die RUN: Process with pid 163167 signalled to die * kill pid for ftp-ipv6-ctrl => 90883 * kill pid for imap-filt => 119857 * kill pid for pop3-filt => 123069 * kill pid for smtp-filt => 126054 RUN: Process with pid 74788 signalled to die RUN: Process with pid 81205 signalled to die RUN: Process with pid 90782 signalled to die RUN: Process with pid 92972 signalled to die RUN: Process with pid 114317 signalled to die RUN: Process with pid 119831 signalled to die RUN: Process with pid 123054 signalled to die RUN: Process with pid 125966 signalled to die RUN: Process with pid 142974 signalled to die RUN: Process with pid 150578 signalled to die * kill pid for imap-filt => 111144 * kill pid for pop3-filt => 122843 * kill pid for smtp-filt => 125782 RUN: Process with pid 77064 signalled to die RUN: Process with pid 81411 signalled to die RUN: Process with pid 104388 signalled to die RUN: Process with pid 111099 signalled to die RUN: Process with pid 114250 signalled to die RUN: Process with pid 122822 signalled to die RUN: Process with pid 125770 signalled to die RUN: Process with pid 142933 signalled to die RUN: Process with pid 150580 signalled to die * kill pid for imap-filt => 119738 * kill pid for pop3-filt => 123442 * kill pid for smtp-filt => 126784 RUN: Process with pid 74787 signalled to die RUN: Process with pid 81129 signalled to die RUN: Process with pid 90146 signalled to die RUN: Process with pid 114318 signalled to die RUN: Process with pid 116662 signalled to die RUN: Process with pid 119669 signalled to die RUN: Process with pid 123435 signalled to die RUN: Process with pid 126718 signalled to die RUN: Process with pid 143086 signalled to die * kill pid for pop3-filt => 122814 * kill pid for smtp-filt => 125691 * kill pid for imap-filt => 119785 * kill pid for pop3-filt => 122682 * kill pid for smtp-filt => 126449 RUN: Process with pid 80884 signalled to die RUN: Process with pid 114251 signalled to die RUN: Process with pid 114928 signalled to die RUN: Process with pid 119781 signalled to die RUN: Process with pid 122667 signalled to die RUN: Process with pid 126410 signalled to die RUN: Process with pid 143041 signalled to die RUN: Process with pid 164336 signalled to die RUN: Process with pid 179754 signalled to die * kill pid for ftp-ipv6-ctrl => 90886 * kill pid for imap-filt => 119889 * kill pid for imap-filt => 119788 * kill pid for pop3-filt => 102738 * kill pid for smtp-filt => 125459 RUN: Process with pid 75277 signalled to die RUN: Process with pid 81084 signalled to die RUN: Process with pid 90793 signalled to die RUN: Process with pid 102651 signalled to die RUN: Process with pid 108357 signalled to die RUN: Process with pid 119784 signalled to die RUN: Process with pid 125373 signalled to die RUN: Process with pid 143164 signalled to die RUN: Process with pid 157458 signalled to die RUN: Process with pid 159438 signalled to die * kill pid for imap-filt => 120062 * kill pid for pop3-filt => 123067 * kill pid for smtp-filt => 126530 RUN: Process with pid 76297 signalled to die RUN: Process with pid 81382 signalled to die RUN: Process with pid 90200 signalled to die RUN: Process with pid 113510 signalled to die RUN: Process with pid 120019 signalled to die RUN: Process with pid 123050 signalled to die RUN: Process with pid 126487 signalled to die RUN: Process with pid 150565 signalled to die * kill pid for imap-filt => 120131 * kill pid for pop3-filt => 123431 * kill pid for smtp-filt => 125454 RUN: Process with pid 74843 signalled to die RUN: Process with pid 81072 signalled to die RUN: Process with pid 92070 signalled to die RUN: Process with pid 120117 signalled to die RUN: Process with pid 123379 signalled to die RUN: Process with pid 125404 signalled to die * kill pid for imap-filt => 121532 * kill pid for pop3-filt => 122962 * kill pid for smtp-filt => 110602 RUN: Process with pid 74793 signalled to die RUN: Process with pid 81045 signalled to die RUN: Process with pid 110590 signalled to die RUN: Process with pid 114161 signalled to die RUN: Process with pid 121520 signalled to die RUN: Process with pid 122949 signalled to die RUN: Process with pid 134465 signalled to die RUN: Process with pid 143020 signalled to die RUN: Process with pid 74784 signalled to die RUN: Process with pid 81140 signalled to die RUN: Process with pid 92877 signalled to die RUN: Process with pid 113550 signalled to die RUN: Process with pid 119739 signalled to die RUN: Process with pid 122810 signalled to die RUN: Process with pid 125683 signalled to die RUN: Process with pid 136642 signalled to die RUN: Process with pid 143168 signalled to die RUN: Process with pid 148868 signalled to die * kill pid for imap-filt => 120076 * kill pid for pop3-filt => 123119 * kill pid for smtp-filt => 126261 RUN: Process with pid 75189 signalled to die RUN: Process with pid 81310 signalled to die RUN: Process with pid 113434 signalled to die RUN: Process with pid 120047 signalled to die RUN: Process with pid 123077 signalled to die RUN: Process with pid 126234 signalled to die RUN: Process with pid 134856 signalled to die RUN: Process with pid 171433 signalled to die * kill pid for imap-filt => 119790 * kill pid for pop3-filt => 122812 * kill pid for smtp-filt => 110660 RUN: Process with pid 74905 signalled to die RUN: Process with pid 81057 signalled to die RUN: Process with pid 108404 signalled to die RUN: Process with pid 110658 signalled to die RUN: Process with pid 114086 signalled to die RUN: Process with pid 119787 signalled to die RUN: Process with pid 122807 signalled to die RUN: Process with pid 134320 signalled to die RUN: Process with pid 142947 signalled to die RUN: Process with pid 146117 signalled to die RUN: Process with pid 148672 signalled to die RUN: Process with pid 120283 gracefully died * kill pid for pop3-filt => 123000 RUN: Process with pid 123341 gracefully died * kill pid for ftp-ipv6-ctrl => 134467 * kill pid for imap-filt => 120272 * kill pid for pop3-filt => 123415 * kill pid for smtp-filt => 125446 RUN: Process with pid 74783 signalled to die RUN: Process with pid 79901 signalled to die RUN: Process with pid 81405 signalled to die RUN: Process with pid 120214 signalled to die RUN: Process with pid 123346 signalled to die RUN: Process with pid 125410 signalled to die RUN: Process with pid 134443 signalled to die RUN: Process with pid 139893 signalled to die * kill pid for imap-filt => 119852 * kill pid for pop3-filt => 122845 * kill pid for smtp-filt => 125745 RUN: Process with pid 75090 signalled to die RUN: Process with pid 79773 signalled to die RUN: Process with pid 81463 signalled to die RUN: Process with pid 114253 signalled to die RUN: Process with pid 119829 signalled to die RUN: Process with pid 122820 signalled to die RUN: Process with pid 125727 signalled to die RUN: Process with pid 143101 signalled to die * kill pid for imap-filt => 120057 * kill pid for pop3-filt => 123019 * kill pid for smtp-filt => 126187 RUN: Process with pid 81206 signalled to die RUN: Process with pid 114387 signalled to die RUN: Process with pid 119999 signalled to die RUN: Process with pid 122978 signalled to die RUN: Process with pid 126008 signalled to die RUN: Process with pid 161152 signalled to die RUN: Process with pid 171623 signalled to die RUN: Process with pid 74788 gracefully died RUN: Process with pid 114250 gracefully died * kill pid for imap-filt => 120343 * kill pid for pop3-filt => 123109 * kill pid for smtp-filt => 125430 RUN: Process with pid 74786 signalled to die RUN: Process with pid 89997 signalled to die RUN: Process with pid 114215 signalled to die RUN: Process with pid 120280 signalled to die RUN: Process with pid 123076 signalled to die RUN: Process with pid 125363 signalled to die RUN: Process with pid 143017 signalled to die RUN: Process with pid 150519 signalled to die RUN: Process with pid 157841 signalled to die RUN: Process with pid 119669 gracefully died RUN: Process with pid 123264 gracefully died RUN: Process with pid 80884 gracefully died RUN: Process with pid 90793 gracefully died RUN: Process with pid 125542 gracefully died RUN: Process with pid 90200 gracefully died * kill pid for smtp-filt => 110749 RUN: Process with pid 75019 signalled to die RUN: Process with pid 81360 signalled to die RUN: Process with pid 108414 signalled to die RUN: Process with pid 110725 signalled to die RUN: Process with pid 114247 signalled to die RUN: Process with pid 119868 signalled to die RUN: Process with pid 122965 signalled to die RUN: Process with pid 157888 signalled to die RUN: Process with pid 176356 signalled to die RUN: Process with pid 120117 gracefully died * kill pid for imap-filt => 120065 * kill pid for pop3-filt => 122840 * kill pid for smtp-filt => 110661 RUN: Process with pid 74782 signalled to die RUN: Process with pid 81530 signalled to die RUN: Process with pid 92998 signalled to die RUN: Process with pid 108309 signalled to die RUN: Process with pid 110659 signalled to die RUN: Process with pid 114159 signalled to die RUN: Process with pid 120033 signalled to die RUN: Process with pid 122823 signalled to die RUN: Process with pid 143166 signalled to die RUN: Process with pid 156176 signalled to die RUN: Process with pid 176391 signalled to die RUN: Process with pid 90782 gracefully died RUN: Process with pid 75330 gracefully died RUN: Process with pid 74793 gracefully died RUN: Process with pid 104388 gracefully died RUN: Process with pid 74787 gracefully died RUN: Process with pid 126497 gracefully died RUN: Process with pid 114251 gracefully died RUN: Process with pid 110658 gracefully died RUN: Process with pid 102651 gracefully died * kill pid for imap-filt => 110657 * kill pid for pop3-filt => 122809 * kill pid for smtp-filt => 126459 RUN: Process with pid 74865 signalled to die RUN: Process with pid 80832 signalled to die RUN: Process with pid 81984 signalled to die RUN: Process with pid 108367 signalled to die RUN: Process with pid 110655 signalled to die RUN: Process with pid 113871 signalled to die RUN: Process with pid 122801 signalled to die RUN: Process with pid 126415 signalled to die RUN: Process with pid 146082 signalled to die RUN: Process with pid 176472 signalled to die RUN: Process with pid 138189 gracefully died RUN: Process with pid 76297 gracefully died RUN: Process with pid 81463 gracefully died RUN: Process with pid 81405 gracefully died RUN: Process with pid 81072 gracefully died RUN: Process with pid 114317 gracefully died RUN: Process with pid 81206 gracefully died RUN: Process with pid 81663 gracefully died RUN: Process with pid 119739 gracefully died RUN: Process with pid 81045 gracefully died RUN: Process with pid 77064 gracefully died RUN: Process with pid 74786 gracefully died RUN: Process with pid 81129 gracefully died RUN: Process with pid 81310 gracefully died RUN: Process with pid 114928 gracefully died RUN: Process with pid 75277 gracefully died RUN: Process with pid 119499 gracefully died RUN: Process with pid 79773 gracefully died RUN: Process with pid 75019 gracefully died RUN: Process with pid 81382 gracefully died RUN: Process with pid 120214 gracefully died RUN: Process with pid 74843 gracefully died * kill pid for ftp-ipv6-ctrl => 90921 * kill pid for imap-filt => 119765 RUN: Process with pid 114387 gracefully died * kill pid for pop3-filt => 122806 RUN: Process with pid 81530 gracefully died * kill pid for smtp-filt => 125460 RUN: Process with pid 74785 signalled to die RUN: Process with pid 81542 signalled to die RUN: Process with pid 90828 signalled to die RUN: Process with pid 93040 signalled to die RUN: Process with pid 114090 signalled to die RUN: Process with pid 119762 signalled to die RUN: Process with pid 122804 signalled to die RUN: Process with pid 125421 signalled to die RUN: Process with pid 142973 signalled to die RUN: Process with pid 149444 signalled to die RUN: Process with pid 81205 gracefully died RUN: Process with pid 110590 gracefully died RUN: Process with pid 91512 gracefully died RUN: Process with pid 81411 gracefully died RUN: Process with pid 89997 gracefully died RUN: Process with pid 116662 gracefully died RUN: Process with pid 119781 gracefully died RUN: Process with pid 75077 gracefully died RUN: Process with pid 120047 gracefully died * kill pid for imap-filt => 120327 RUN: Process with pid 81984 gracefully died RUN: Process with pid 74905 gracefully died RUN: Process with pid 81084 gracefully died RUN: Process with pid 81360 gracefully died RUN: Process with pid 119829 gracefully died RUN: Process with pid 90936 gracefully died RUN: Process with pid 113510 gracefully died RUN: Process with pid 74783 gracefully died RUN: Process with pid 123379 gracefully died RUN: Process with pid 119831 gracefully died RUN: Process with pid 74782 gracefully died RUN: Process with pid 81542 gracefully died RUN: Process with pid 119999 gracefully died RUN: Process with pid 114161 gracefully died RUN: Process with pid 112350 gracefully died * kill pid for imap-filt => 120555 * kill pid for pop3-filt => 123408 * kill pid for smtp-filt => 126475 RUN: Process with pid 74958 signalled to die RUN: Process with pid 81042 signalled to die RUN: Process with pid 90160 signalled to die RUN: Process with pid 112791 signalled to die RUN: Process with pid 120285 signalled to die RUN: Process with pid 123329 signalled to die RUN: Process with pid 126432 signalled to die RUN: Process with pid 114215 gracefully died RUN: Process with pid 111099 gracefully died RUN: Process with pid 92451 gracefully died RUN: Process with pid 122667 gracefully died RUN: Process with pid 114318 gracefully died RUN: Process with pid 75090 gracefully died RUN: Process with pid 110725 gracefully died RUN: Process with pid 75189 gracefully died RUN: Process with pid 81057 gracefully died RUN: Process with pid 119784 gracefully died RUN: Process with pid 114254 gracefully died RUN: Process with pid 122801 gracefully died RUN: Process with pid 120019 gracefully died RUN: Process with pid 79901 gracefully died RUN: Process with pid 125404 gracefully died RUN: Process with pid 123054 gracefully died RUN: Process with pid 110659 gracefully died RUN: Process with pid 74785 gracefully died RUN: Process with pid 122978 gracefully died RUN: Process with pid 121520 gracefully died RUN: Process with pid 74784 gracefully died RUN: Process with pid 114245 gracefully died RUN: Process with pid 120280 gracefully died RUN: Process with pid 122822 gracefully died RUN: Process with pid 126410 gracefully died RUN: Process with pid 81042 gracefully died RUN: Process with pid 143125 gracefully died RUN: Process with pid 123435 gracefully died RUN: Process with pid 114247 gracefully died RUN: Process with pid 114086 gracefully died RUN: Process with pid 150727 gracefully died RUN: Process with pid 125373 gracefully died * kill pid for pop3-filt => 122774 * kill pid for smtp-filt => 125721 RUN: Process with pid 74791 signalled to die RUN: Process with pid 81070 signalled to die RUN: Process with pid 113623 signalled to die RUN: Process with pid 120534 signalled to die RUN: Process with pid 122742 signalled to die RUN: Process with pid 125704 signalled to die RUN: Process with pid 137825 signalled to die RUN: Process with pid 174468 signalled to die RUN: Process with pid 176448 signalled to die RUN: Process with pid 123346 gracefully died RUN: Process with pid 126008 gracefully died RUN: Process with pid 125966 gracefully died RUN: Process with pid 114159 gracefully died RUN: Process with pid 90828 gracefully died RUN: Process with pid 114253 gracefully died RUN: Process with pid 113434 gracefully died RUN: Process with pid 81140 gracefully died RUN: Process with pid 74865 gracefully died RUN: Process with pid 122949 gracefully died RUN: Process with pid 123050 gracefully died RUN: Process with pid 123076 gracefully died RUN: Process with pid 122738 gracefully died RUN: Process with pid 143041 gracefully died RUN: Process with pid 145167 gracefully died RUN: Process with pid 125770 gracefully died RUN: Process with pid 74958 gracefully died RUN: Process with pid 90146 gracefully died RUN: Process with pid 119868 gracefully died RUN: Process with pid 163167 gracefully died RUN: Process with pid 119787 gracefully died RUN: Process with pid 143164 gracefully died RUN: Process with pid 125410 gracefully died RUN: Process with pid 161152 gracefully died RUN: Process with pid 81070 gracefully died RUN: Process with pid 142974 gracefully died RUN: Process with pid 120033 gracefully died RUN: Process with pid 114090 gracefully died RUN: Process with pid 143020 gracefully died RUN: Process with pid 126487 gracefully died RUN: Process with pid 123077 gracefully died RUN: Process with pid 80832 gracefully died RUN: Process with pid 113550 gracefully died RUN: Process with pid 122820 gracefully died RUN: Process with pid 171160 gracefully died RUN: Process with pid 125363 gracefully died RUN: Process with pid 125372 gracefully died RUN: Process with pid 164336 gracefully died RUN: Process with pid 142933 gracefully died RUN: Process with pid 90160 gracefully died RUN: Process with pid 126718 gracefully died RUN: Process with pid 122965 gracefully died RUN: Process with pid 122807 gracefully died RUN: Process with pid 157458 gracefully died RUN: Process with pid 171623 gracefully died RUN: Process with pid 134443 gracefully died RUN: Process with pid 74791 gracefully died RUN: Process with pid 150578 gracefully died RUN: Process with pid 119762 gracefully died RUN: Process with pid 126234 gracefully died RUN: Process with pid 125727 gracefully died RUN: Process with pid 122823 gracefully died RUN: Process with pid 110655 gracefully died RUN: Process with pid 122810 gracefully died RUN: Process with pid 150565 gracefully died RUN: Process with pid 143017 gracefully died RUN: Process with pid 134476 gracefully died RUN: Process with pid 150580 gracefully died RUN: Process with pid 179754 gracefully died RUN: Process with pid 143086 gracefully died RUN: Process with pid 120285 gracefully died RUN: Process with pid 157888 gracefully died RUN: Process with pid 134320 gracefully died RUN: Process with pid 159438 gracefully died RUN: Process with pid 139893 gracefully died RUN: Process with pid 113623 gracefully died RUN: Process with pid 122804 gracefully died RUN: Process with pid 143101 gracefully died RUN: Process with pid 125683 gracefully died RUN: Process with pid 134856 gracefully died RUN: Process with pid 143166 gracefully died RUN: Process with pid 113871 gracefully died RUN: Process with pid 159453 gracefully died RUN: Process with pid 150519 gracefully died RUN: Process with pid 123329 gracefully died RUN: Process with pid 176356 gracefully died RUN: Process with pid 142947 gracefully died RUN: Process with pid 120534 gracefully died RUN: Process with pid 125421 gracefully died RUN: Process with pid 136642 gracefully died RUN: Process with pid 171433 gracefully died RUN: Process with pid 156176 gracefully died RUN: Process with pid 126415 gracefully died RUN: Process with pid 157841 gracefully died RUN: Process with pid 178219 gracefully died RUN: Process with pid 126432 gracefully died RUN: Process with pid 148672 gracefully died RUN: Process with pid 122742 gracefully died RUN: Process with pid 142973 gracefully died RUN: Process with pid 176391 gracefully died RUN: Process with pid 143168 gracefully died RUN: Process with pid 176472 gracefully died RUN: Process with pid 125704 gracefully died RUN: Process with pid 149444 gracefully died RUN: Process with pid 148868 gracefully died RUN: Process with pid 174468 gracefully died RUN: Process with pid 176448 gracefully died RUN: Process with pid 108419 forced to die with SIGKILL RUN: Process with pid 172714 forced to die with SIGKILL RUN: Process with pid 108516 forced to die with SIGKILL RUN: Process with pid 131752 forced to die with SIGKILL RUN: Process with pid 92972 forced to die with SIGKILL RUN: Process with pid 92070 forced to die with SIGKILL RUN: Process with pid 92877 forced to die with SIGKILL RUN: Process with pid 134465 forced to die with SIGKILL RUN: Process with pid 108357 forced to die with SIGKILL RUN: Process with pid 108404 forced to die with SIGKILL RUN: Process with pid 146117 forced to die with SIGKILL RUN: Process with pid 108414 forced to die with SIGKILL RUN: Process with pid 92998 forced to die with SIGKILL RUN: Process with pid 108309 forced to die with SIGKILL RUN: Process with pid 108367 forced to die with SIGKILL RUN: Process with pid 146082 forced to die with SIGKILL RUN: Process with pid 93040 forced to die with SIGKILL RUN: Process with pid 112791 forced to die with SIGKILL RUN: Process with pid 137825 forced to die with SIGKILL for-3215 From: different To: another body === End of file stdin-for-3215 === Start of file valgrind3215 ==180351== ==180351== Process terminating with default action of signal 4 (SIGILL) ==180351== Illegal opcode at address 0x4014883 ==180351== at 0x4014883: getparameter (tool_getparam.c:2899) ==180351== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==180351== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==180351== by 0x4004208: main (tool_main.c:189) === End of file valgrind3215 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_ipv6_server.pid" --logfile "log/16/http_ipv6_server.log" --logdir "log/16" --portfile log/16/server/http_ipv6_server.port --config log/16/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 179754 port 45059 * pid http-ipv6 => 179754 179754 test 3202...[HTTP-IPv6 GET with PROXY protocol with spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3202 ../src/curl -q --output log/16/curl3202.out --include --trace-ascii log/16/trace3202 --trace-time -g "http://[::1]:45059/3202" --haproxy-clientip "2001:db8::" > log/16/stdout3202 2> log/16/stderr3202 3202: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 3202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3202 ../src/curl -q --output log/16/curl3202.out --include --trace-ascii log/16/trace3202 --trace-time -g "http://[::1]:45059/3202" --haproxy-clientip "2001:db8::" > log/16/stdout3202 2> log/16/stderr3202 === End of file commands.log === Start of file http_ipv6_server.log 05:48:41.917567 Running HTTP IPv6 version on port 45059 05:48:41.917704 Wrote pid 179754 to log/16/server/http_ipv6_server.pid 05:48:41.917744 Wrote port 45059 to log/16/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 3202 === End of file server.cmd === Start of file valgrind3202 ==180450== ==180450== Process terminating with default action of signal 4 (SIGILL) ==180450== Illegal opcode at address 0x4014883 ==180450== at 0x4014883: getparameter (tool_getparam.c:2899) ==180450== by 0x4004208: UnknownInlinedFun (tool_getparam.c:3082) ==180450== by 0x4004208: UnknownInlinedFun (tool_operate.c:2293) ==180450== by 0x4004208: main (tool_main.c:189) === End of file valgrind3202 test 3026...[curl_global_init thread-safety] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3026 ./libtest/libtests lib3026 - > log/5/stdout3026 2> log/5/stderr3026 -------e-v- OK (1741 out of 1773, remaining: 00:03, took 4.924s, duration: 03:23) * kill pid for smtp => 110590 * kill pid for mqtt => 143020 * kill pid for ftp => 81045 * kill pid for http => 74793 * kill pid for socks => 114161 * kill pid for imap => 121520 * kill pid for tftp => 134465 * kill pid for pop3 => 122949 * kill pid for smtp => 125770 * kill pid for http => 77064 * kill pid for ftp => 81411 * kill pid for http-ipv6 => 150580 * kill pid for mqtt => 142933 * kill pid for imap => 111099 * kill pid for http-proxy => 104388 * kill pid for socks => 114250 * kill pid for pop3 => 122822 * kill pid for smtp => 126497 * kill pid for http => 75077 * kill pid for mqtt => 171160 * kill pid for http-ipv6 => 145167 * kill pid for rtsp => 108516 * kill pid for imap => 120283 * kill pid for http-proxy => 92451 * kill pid for gopher => 143125 * kill pid for pop3 => 123264 * kill pid for ftp => 138189 * kill pid for http => 150727 * kill pid for smtp => 125542 * kill pid for pop3 => 123341 * kill pid for tftp => 131752 * kill pid for imap => 119499 * kill pid for ftp-ipv6 => 90936 * kill pid for socks => 114254 * kill pid for http-proxy => 163167 * kill pid for pop3 => 122667 * kill pid for imap => 119781 * kill pid for socks => 114928 * kill pid for http-proxy => 114251 * kill pid for ftp => 80884 * kill pid for http => 164336 * kill pid for mqtt => 143041 * kill pid for http-ipv6 => 179754 * kill pid for smtp => 126410 * kill pid for smtp => 125373 * kill pid for socks5unix => 159438 * kill pid for rtsp => 108357 * kill pid for ftp => 81084 * kill pid for http => 75277 * kill pid for http-proxy => 157458 * kill pid for imap => 119784 * kill pid for ftp-ipv6 => 90793 * kill pid for pop3 => 102651 * kill pid for gopher => 143164 * kill pid for mqtt => 143017 * kill pid for ftp => 89997 * kill pid for http => 74786 * kill pid for smtp => 125363 * kill pid for http-unix => 157841 * kill pid for pop3 => 123076 * kill pid for http-proxy => 150519 * kill pid for socks => 114215 * kill pid for imap => 120280 * kill pid for mqtt => 176448 * kill pid for ftp => 81070 * kill pid for http => 74791 * kill pid for smtp => 125704 * kill pid for tftp => 137825 * kill pid for pop3 => 122742 * kill pid for socks => 113623 * kill pid for http-proxy => 174468 * kill pid for imap => 120534 * kill pid for mqtt => 142973 * kill pid for http => 74785 * kill pid for ftp => 81542 * kill pid for smtp => 125421 * kill pid for tftp => 93040 * kill pid for pop3 => 122804 * kill pid for socks => 114090 * kill pid for http-proxy => 149444 * kill pid for ftp-ipv6 => 90828 * kill pid for imap => 119762 * kill pid for mqtt => 143101 * kill pid for http => 75090 * kill pid for ftp => 81463 * kill pid for smtp => 125727 * kill pid for pop3 => 122820 * kill pid for http-proxy => 79773 * kill pid for socks => 114253 * kill pid for imap => 119829 * kill pid for ftp => 81072 * kill pid for pop3 => 123379 * kill pid for http => 74843 * kill pid for tftp => 92070 * kill pid for imap => 120117 * kill pid for smtp => 125404 * kill pid for smtp => 126487 * kill pid for ftp => 81382 * kill pid for http => 76297 * kill pid for http-ipv6 => 90200 * kill pid for imap => 120019 * kill pid for http-proxy => 150565 * kill pid for socks => 113510 * kill pid for pop3 => 123050 * kill pid for socks => 114317 * kill pid for http-proxy => 150578 * kill pid for ftp-ipv6 => 90782 * kill pid for imap => 119831 * kill pid for tftp => 92972 * kill pid for pop3 => 123054 * kill pid for smtp => 125966 * kill pid for mqtt => 142974 * kill pid for http => 74788 * kill pid for ftp => 81205 * kill pid for tftp => 146082 * kill pid for pop3 => 122801 * kill pid for http-proxy => 80832 * kill pid for socks => 113871 * kill pid for imap => 110655 * kill pid for mqtt => 176472 * kill pid for rtsp => 108367 * kill pid for ftp => 81984 * kill pid for http => 74865 * kill pid for smtp => 126415 * kill pid for ftp => 81140 * kill pid for http => 74784 * kill pid for http-ipv6 => 136642 * kill pid for gopher-ipv6 => 143168 * kill pid for smtp => 125683 * kill pid for pop3 => 122810 * kill pid for tftp => 92877 * kill pid for imap => 119739 * kill pid for socks => 113550 * kill pid for http-proxy => 148868 * kill pid for imap => 119669 * kill pid for http-proxy => 116662 * kill pid for socks => 114318 * kill pid for pop3 => 123435 * kill pid for smtp => 126718 * kill pid for http => 74787 * kill pid for ftp => 81129 * kill pid for http-ipv6 => 90146 * kill pid for mqtt => 143086 * kill pid for pop3 => 122978 * kill pid for imap => 119999 * kill pid for socks => 114387 * kill pid for http-proxy => 171623 * kill pid for ftp => 81206 * kill pid for http => 161152 * kill pid for smtp => 126008 * kill pid for http-proxy => 148672 * kill pid for pop3 => 122807 * kill pid for tftp => 146117 * kill pid for smtp => 110658 * kill pid for ftp => 81057 * kill pid for mqtt => 142947 * kill pid for imap => 119787 * kill pid for socks => 114086 * kill pid for http => 74905 * kill pid for rtsp => 108404 * kill pid for http-ipv6 => 134320 *Runner 74771 exiting Runner 74770 exiting Runner 74764 exiting Runner 74774 exiting Runner 74773 exiting Runner 74759 exiting Runner 74777 exiting Runner 74778 exiting Runner 74772 exiting Runner 74761 exiting Runner 74762 exiting Runner 74769 exiting Runner 74775 exiting Runner 74776 exiting Runner 74768 exiting Runner 74763 exiting Runner 74779 exiting Runner 74767 exiting Runner 74766 exiting Runner 74760 exiting Runner 74758 exiting Runner 74781 exiting Runner 74765 exiting Runner 74780 exiting kill pid for smtp => 126432 * kill pid for http => 74958 * kill pid for ftp => 81042 * kill pid for http-ipv6 => 90160 * kill pid for rtsp => 112791 * kill pid for imap => 120285 * kill pid for pop3 => 123329 * kill pid for ftp => 81310 * kill pid for http => 75189 * kill pid for http-ipv6 => 134856 * kill pid for smtp => 126234 * kill pid for pop3 => 123077 * kill pid for imap => 120047 * kill pid for http-proxy => 171433 * kill pid for socks => 113434 * kill pid for mqtt => 178219 * kill pid for rtsp => 108419 * kill pid for http-ipv6 => 91512 * kill pid for ftp => 81663 * kill pid for http => 75330 * kill pid for smtp => 125372 * kill pid for socks5unix => 159453 * kill pid for tftp => 172714 * kill pid for pop3 => 122738 * kill pid for socks => 114245 * kill pid for imap => 112350 * kill pid for ftp-ipv6 => 134476 * kill pid for socks => 114159 * kill pid for imap => 120033 * kill pid for tftp => 92998 * kill pid for pop3 => 122823 * kill pid for gopher => 143166 * kill pid for smtp => 110659 * kill pid for rtsp => 108309 * kill pid for http-ipv6 => 156176 * kill pid for mqtt => 176391 * kill pid for http => 74782 * kill pid for ftp => 81530 * kill pid for smtp => 110725 * kill pid for http => 75019 * kill pid for ftp => 81360 * kill pid for rtsp => 108414 * kill pid for mqtt => 176356 * kill pid for imap => 119868 * kill pid for http-proxy => 114247 * kill pid for pop3 => 122965 * kill pid for http-unix => 157888 * kill pid for imap => 120214 * kill pid for ftp-ipv6 => 134443 * kill pid for http-proxy => 79901 * kill pid for pop3 => 123346 * kill pid for smtp => 125410 * kill pid for ftp => 81405 * kill pid for http => 74783 * kill pid for mqtt => 139893 TESTDONE: 1919 tests were considered during 204 seconds. TESTINFO: 278 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 98 times (159, 355, 356, 358, 359, 363, 412, 413, 437 and 89 more) TESTINFO: "no stunnel" 63 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 54 more) TESTINFO: "failed starting SSH server" 53 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 44 more) TESTINFO: "configured as DISABLED" 15 times (323, 433, 594, 836, 882, 938, 1182, 1184, 1209 and 6 more) TESTINFO: "curl lacks manual support" 7 times (1026, 1179, 1461, 1707, 1708, 1709, 1710) TESTINFO: "failed starting HTTP/2 server" 7 times (1700, 1701, 1702, 2402, 2403, 2404, 2407) TESTINFO: "curl lacks Schannel support" 6 times (2033, 2070, 2079, 2087, 3023, 3024) TESTINFO: "no gnutls-serv (with SRP support)" 4 times (320, 321, 322, 324) TESTINFO: "curl has IDN support" 3 times (959, 960, 961) TESTINFO: "curl lacks override-dns support" 3 times (2102, 2103, 2104) TESTINFO: "curl lacks TrackMemory support" 3 times (96, 558, 1330) TESTINFO: "curl lacks ECH support" 2 times (4000, 4001) TESTINFO: "curl lacks ldap support" 2 times (445, 1560) TESTINFO: "curl lacks nghttpx-h3 support" 2 times (2500, 2503) TESTINFO: "failed starting SMB server" 2 times (1451, 1850) TESTINFO: "curl has IPv6 support" 1 time (1454) TESTINFO: "curl has proxy support" 1 time (375) TESTINFO: "curl has threaded-resolver support" 1 time (506) TESTINFO: "curl lacks ssl-sessions support" 1 time (777) TESTINFO: "curl lacks Unicode support" 1 time (1703) TESTINFO: "failed starting DICT server" 1 time (1450) TESTINFO: "failed starting HTTP/3 server" 1 time (2502) TESTINFO: "failed starting neg TELNET server" 1 time (1452) FAIL-IGNORED 573: 'verify connect time with multi interface' HTTP, multi, flaky FAIL-IGNORED 587: 'HTTP multi-part formpost with aborted read callback' HTTP, HTTP POST, FORM, flaky FAIL-IGNORED 776: 'HTTP with NTLM with too long NTMLv2 ntresplen' HTTP, HTTP GET, HTTP NTLM auth, NTLM, flaky FAIL-IGNORED 1086: 'FTP download with strict timeout and slow data transfer' FTP, EPSV, RETR, timeout, FAILURE, SLOWDOWNDATA, flaky, timing-dependent FAIL-IGNORED 1113: 'FTP wildcard download - changed fnmatch, 2x perform (DOS LIST response)' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1162: 'FTP wildcard with crazy pattern' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1163: 'FTP wildcard with pattern ending with an open-bracket' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky FAIL-IGNORED 1208: 'FTP PORT download, no data conn and no transient negative reply' FTP, PORT, RETR, NODATACONN150, timeout, FAILURE, flaky, timing-dependent FAIL-IGNORED 1510: 'HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)' HTTP, verbose logs, flaky FAIL-IGNORED 1592: 'HTTP request, remove handle while resolving, do not block' HTTP, multi, resolve, speedcheck, flaky, timing-dependent FAIL-IGNORED 2032: 'NTLM connection mapping' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM, flaky, timing-dependent FAIL-IGNORED 2405: 'checking curl_multi_waitfds functionality' multi, HTTP, flaky IGNORED: failed tests: 573 587 776 1086 1113 1162 1163 1208 1510 1592 2032 2405 TESTDONE: 65 tests out of 1641 reported OK: 3% FAIL 1: 'HTTP GET' HTTP, HTTP GET FAIL 2: 'HTTP GET with user and password' HTTP, HTTP GET, HTTP Basic auth FAIL 3: 'HTTP POST with auth and contents but with content-length set to 0' HTTP, HTTP POST, HTTP Basic auth FAIL 4: 'Replaced internal and added custom HTTP headers' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 5: 'HTTP over proxy' HTTP, HTTP GET, HTTP proxy FAIL 6: 'HTTP with simple cookie send' HTTP, HTTP GET, HTTP set cookie, cookies FAIL 7: 'HTTP with cookie parser and header recording' HTTP, HTTP GET, cookies, header dump FAIL 8: 'HTTP with cookie parsing from header file' HTTP, HTTP GET, cookies FAIL 9: 'HTTP RFC1867-type formposting' HTTP, HTTP FORMPOST, HTTP file upload FAIL 10: 'simple HTTP PUT from file' HTTP, HTTP PUT FAIL 11: 'simple HTTP Location: following' HTTP, HTTP GET, followlocation FAIL 12: 'HTTP range support' HTTP, HTTP GET, Content-Range FAIL 13: 'HTTP custom request 'DELETE'' HTTP, HTTP custom request FAIL 14: 'HTTP HEAD with Connection: close' HTTP, HTTP HEAD FAIL 15: '--write-out test' HTTP, HTTP GET, --write-out FAIL 16: 'HTTP with proxy authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 17: 'HTTP with config file on stdin' HTTP, HTTP custom request, config file FAIL 18: 'multiple requests using {} in URL' HTTP, HTTP GET, globbing, {} list FAIL 19: 'attempt connect to non-listening socket' HTTP, connect to non-listen, FAILURE FAIL 20: 'attempt connect to non-existing hostname' HTTP, FAILURE, non-existing host FAIL 21: 'use curl with multiple request methods' FAILURE, multiple HTTP requests FAIL 22: 'get HTTP with URL > 10000 bytes' HTTP, long URL FAIL 23: 'unsupported protocol:// URL' unsupported scheme, FAILURE FAIL 24: 'HTTP GET fail silently on HTTP error return' HTTP, HTTP GET, --fail FAIL 25: 'looping HTTP Location: following with --max-redirs' HTTP, HTTP GET, followlocation, --max-redirs FAIL 26: 'specify more -o than URLs' HTTP, HTTP GET FAIL 27: 'Get same cookie page several times' HTTP, HTTP GET, cookies FAIL 28: 'HTTP Location: following with extra spaces in header' HTTP, HTTP GET FAIL 29: 'HTTP with 2 secs timeout' HTTP, HTTP GET, timeout, FAILURE FAIL 30: 'HTTP with no data in server reply' HTTP, HTTP GET, FAILURE FAIL 31: 'HTTP with weirdly formatted cookies and cookiejar storage' HTTP, HTTP GET, cookies, cookiejar FAIL 32: 'HTTP with -d and -G' HTTP, HTTP GET, -G FAIL 33: 'HTTP PUT with resume' HTTP, HTTP PUT, Resume, Content-Range FAIL 34: 'HTTP GET with chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 35: 'HTTP POST binary data with embedded NUL' HTTP, HTTP POST, --data-binary FAIL 36: 'HTTP GET with bad chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding, FAILURE FAIL 37: 'HTTP GET with nothing returned from server' HTTP, HTTP GET, FAILURE FAIL 38: 'HTTP resume request without server supporting it' HTTP, HTTP GET, Resume, FAILURE FAIL 39: 'HTTP RFC1867-type formposting with filename= and type=' HTTP, HTTP FORMPOST FAIL 40: 'HTTP redirect with whitespace after ? (and conversion)' HTTP, HTTP GET, followlocation FAIL 41: 'HTTP formpost with missing file' HTTP, HTTP FORMPOST, FAILURE FAIL 42: 'HTTP redirect with whitespace in path (and conversion)' HTTP, HTTP GET, followlocation FAIL 43: 'HTTP Location: following over HTTP proxy' HTTP, HTTP GET, followlocation, HTTP proxy FAIL 44: 'HTTP RFC1867-type formposting without Expect: header' HTTP, HTTP FORMPOST, HTTP replaced headers FAIL 45: 'simple HTTP Location: without protocol in initial URL' HTTP, HTTP GET, followlocation FAIL 46: 'HTTP with bad domain name, get cookies and store in cookie jar' HTTP, HTTP GET, cookies, cookiejar, --resolve FAIL 47: 'simple HTTP 1.0 GET' HTTP, HTTP GET, HTTP/1.0 FAIL 48: 'HTTP with -d and -G and -I' HTTP, HTTP HEAD, -G FAIL 49: 'HTTP follow redirect with ../' HTTP, HTTP GET, followlocation FAIL 50: 'HTTP follow redirect with ../../' HTTP, HTTP GET, followlocation FAIL 51: 'HTTP follow redirect with excessive ../' HTTP, HTTP GET, followlocation FAIL 52: 'HTTP follow redirect with ./-prefix' HTTP, HTTP GET, followlocation FAIL 53: 'HTTP, junk session cookies' HTTP, HTTP GET, cookies FAIL 54: 'HTTP with blank Location:' HTTP, HTTP GET, followlocation FAIL 55: 'HTTP follow redirect with single slash in path' HTTP, HTTP GET, followlocation FAIL 56: 'HTTP POST with *HUGE* request and chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding, config file, -A FAIL 57: 'HTTP content-type with spaces in' HTTP, HTTP GET, --write-out FAIL 58: 'HTTP PUT from file with weird letters' HTTP, HTTP PUT FAIL 59: 'HTTP URL with slash but with "parameter"' HTTP, HTTP GET FAIL 60: 'HTTP PUT from stdin with wrong content-length' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 61: 'HTTP with various cookies and custom Host:' HTTP, HTTP GET, cookies, cookiejar, HTTP replaced headers, httponly FAIL 62: 'HTTP, send cookies when using custom Host:' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 63: 'HTTP with proxy authorization set in environment' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, http_proxy FAIL 64: 'HTTP with Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 65: 'HTTP with Digest authorization with bad password' HTTP, HTTP GET, HTTP Digest auth FAIL 66: 'HTTP GET without headers in the response' HTTP, HTTP GET, HTTP/0.9 FAIL 67: 'HTTP with NTLM authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 68: 'HTTP with NTLM authorization and wrong password' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 69: 'HTTP with NTLM, Basic or Wild-and-crazy authorization' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 70: 'HTTP with Digest *OR* NTLM authorization' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 71: 'HTTP and -F upload in config file' HTTP, HTTP FORMPOST, config file FAIL 72: 'HTTP with Digest *OR* Basic authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 73: 'HTTP, receive cookies when using custom Host:, domain using only two dots' HTTP, HTTP GET, cookies, cookiejar FAIL 74: 'HTTP, urlglob {}-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, {} list FAIL 75: 'HTTP, urlglob retrieval with bad range' HTTP, HTTP GET, globbing, FAILURE FAIL 76: 'HTTP with comma-separated WWW-Authenticate header' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 77: 'HTTP with -z "older date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 78: 'HTTP with -z "newer date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 79: 'FTP over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy FAIL 80: 'HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 81: 'HTTP with proxy using NTLM authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 82: 'HTTP with proxy requiring NTLM, but we send Basic' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP proxy NTLM auth FAIL 83: 'HTTP over proxy-tunnel with site authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 84: 'HTTP over proxy with site authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy FAIL 85: 'HTTP over proxy with site and proxy authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth FAIL 86: 'HTTP, urlglob []-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, [] range FAIL 87: 'urlglob with out of range -o #[num] usage' HTTP, HTTP GET, globbing, [] range, FAILURE FAIL 88: 'HTTP PUT with Digest authorization' HTTP, HTTP PUT, HTTP Digest auth FAIL 89: 'HTTP with NTLM and follow-location' HTTP, HTTP GET, HTTP NTLM auth, followlocation, NTLM FAIL 90: 'HTTP with NTLM via --anyauth, and then follow-location with NTLM again' HTTP, HTTP GET, HTTP NTLM auth, --anyauth, followlocation, NTLM FAIL 91: 'HTTP with NTLM/Negotiate/Basic, anyauth and user with domain, with size 0' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 92: 'HTTP resume transfer with the whole file already downloaded' HTTP, HTTP GET, Content-Range, Resume FAIL 93: 'HTTP GET with failed proxy auth' HTTP, HTTP GET, HTTP proxy FAIL 94: 'HTTPS GET with failed proxy auth (CONNECT 1.0)' HTTPS, HTTP GET, HTTP CONNECT, HTTP proxy, FAILURE FAIL 95: 'HTTP over proxytunnel using POST' HTTP, HTTP POST, HTTP CONNECT, proxytunnel FAIL 97: 'HTTP POST with custom content-type' HTTP, HTTP POST, HTTP replaced headers FAIL 98: 'HTTP PUT from stdin with set size, disabling chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 99: 'HTTP GET with large-file resume point and failed resume' HTTP, HTTP GET, Resume, Largefile, FAILURE FAIL 100: 'FTP dir list PASV' FTP, PASV, LIST FAIL 101: 'FTP dir list, PORT with specified IP' FTP, PORT, LIST FAIL 102: 'FTP RETR PASV' FTP, PASV, RETR FAIL 103: 'FTP RETR PORT with CWD' FTP, PORT, RETR FAIL 104: 'FTP --head to get file size only' FTP, NOBODY FAIL 105: 'FTP user+password in URL and ASCII transfer' FTP, PASV, TYPE A, RETR FAIL 106: 'FTP GET with type=A style ASCII URL using %20 codes' FTP, EPSV, TYPE A, RETR, type= FAIL 107: 'FTP PASV upload file' FTP, EPSV, STOR FAIL 108: 'FTP PORT upload with CWD' FTP, PORT, STOR FAIL 109: 'FTP PASV upload append' FTP, EPSV, APPE FAIL 110: 'FTP download resume with set limit' FTP, PASV, RETR, Resume FAIL 111: 'FTP download resume beyond file size' FTP, EPSV, Resume, FAILURE FAIL 112: 'FTP PASV upload resume' FTP, EPSV, APPE, Resume FAIL 113: 'FTP download, failed login: USER not valid' FTP, FAILURE FAIL 114: 'FTP download, failed login: PASS not valid' FTP, FAILURE FAIL 115: 'FTP download, failed PASV' FTP, PASV, FAILURE FAIL 116: 'FTP download, failed PORT' FTP, EPRT, PORT, FAILURE, EPRT refused FAIL 117: 'FTP download, failed TYPE' FTP, FAILURE FAIL 118: 'FTP download, failed RETR' FTP, PASV, RETR, FAILURE FAIL 119: 'FTP download, failed RETR with PORT' FTP, PORT, RETR, FAILURE FAIL 120: 'ftp download with post-quote delete operation' FTP, PASV, RETR, post-quote FAIL 121: 'ftp download with post- and pre-transfer delete operations' FTP, EPSV, RETR, post-quote, pre-quote FAIL 122: 'FTP download resume with whole file already downloaded' FTP, PASV, Resume FAIL 123: 'FTP upload resume with whole file already downloaded' FTP, EPSV, Resume FAIL 124: 'FTP download, failed PWD' FTP, PASV, RETR FAIL 125: 'FTP download, failed CWD' FTP, FAILURE FAIL 126: 'FTP download with multiple replies at once in RETR' FTP, EPSV, RETR, RETRWEIRDO FAIL 127: 'FTP --disable-epsv' FTP, PASV, RETR, --disable-epsv FAIL 128: 'FTP upload with --crlf' FTP, EPSV, STOR, --crlf FAIL 129: 'HTTP/1.2 is rejected' HTTP, HTTP GET FAIL 130: 'FTP (optional .netrc; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 131: 'FTP (optional .netrc; user/no pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 132: 'FTP (optional .netrc; user/passwd supplied) dir list PASV' FTP, EPSV, LIST, netrc FAIL 133: 'FTP compulsory .netrc; ignore passwd in URL' FTP, EPSV, LIST, netrc FAIL 134: 'FTP (optional .netrc; programmatic user/passwd) dir list PASV' FTP, EPSV, LIST, netrc FAIL 135: 'FTP retrieve a byte-range' FTP, EPSV, RETR, Range FAIL 136: 'FTP with user and no password' FTP, EPSV, RETR FAIL 137: 'FTP download without size in RETR string' FTP, RETR, --data-binary FAIL 138: 'FTP download without size in RETR string and no SIZE command' FTP, RETR FAIL 139: 'FTP download a newer file with -z' FTP, RETR, -z FAIL 140: 'FTP download file with -z, expected to not transfer' FTP, -z, --data-binary FAIL 141: 'FTP download info with -I' FTP, NOBODY FAIL 142: 'FTP URL with 150 dir levels' FTP FAIL 143: 'FTP URL with type=a' FTP, RETR, type= FAIL 144: 'FTP NLST dir list without contents, using PORT' FTP, PORT, NLST, --data-binary FAIL 145: 'FTP NLST dir list with weird reply code, using PORT' FTP, NLST, PORT FAIL 146: 'persistent FTP with different paths' FTP, RETR, persistent connection FAIL 147: 'FTP with --ftp-create-dirs (failing CWD)' FTP FAIL 148: 'FTP with --ftp-create-dirs (failing MKD)' FTP FAIL 149: 'FTP with multiple uploads' FTP FAIL 150: 'HTTP with NTLM authorization and --fail' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 151: 'HTTP GET with an error code that might trick authentication' HTTP, HTTP GET FAIL 152: 'HTTP GET with an error code that might trick authentication and --fail' HTTP, HTTP GET, --fail FAIL 153: 'HTTP with Digest authorization with stale=true' HTTP, HTTP GET, HTTP Digest auth FAIL 154: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 155: 'HTTP PUT with --anyauth authorization (picking NTLM)' HTTP, HTTP PUT, HTTP NTLM auth, NTLM FAIL 156: 'HTTP PUT with --anyauth (when the server requires none)' HTTP, HTTP PUT, --anyauth FAIL 157: 'HTTP GET with --anyauth (when the server requires none)' HTTP, HTTP GET, --anyauth FAIL 158: 'HTTP multipart formpost with only a 100 reply' HTTP, HTTP POST FAIL 160: 'HTTP with delayed close, conn reuse, connection reset and retry' HTTP, HTTP GET, DELAY FAIL 161: 'FTP RETR PASV' FTP, CURLE_PARTIAL_FILE, RETR, PASV FAIL 162: 'HTTP GET asking for --proxy-ntlm when some other authentication is required' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, FAILURE FAIL 163: 'HTTP multipart formpost with contents from a file' HTTP, HTTP POST FAIL 164: 'HTTP range with multiple ranges' HTTP, HTTP GET FAIL 165: 'HTTP over proxy with IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN FAIL 166: 'HTTP formpost a file with spaces in name' HTTP, HTTP POST FAIL 167: 'HTTP with proxy-requiring-Basic to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP Digest auth FAIL 168: 'HTTP with proxy-requiring-Digest to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth FAIL 169: 'HTTP with proxy-requiring-NTLM to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, HTTP Digest auth, NTLM FAIL 170: 'HTTP POST with --proxy-ntlm and no SSL with no response' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth FAIL 171: 'HTTP, get cookie with dot prefixed full domain' HTTP, HTTP GET, HTTP proxy, cookies FAIL 172: 'HTTP with cookies file and custom added cookie' HTTP, HTTP GET, cookies FAIL 173: 'HTTP RFC1867-formpost a file from stdin with "faked" filename' HTTP, HTTP POST FAIL 174: 'HTTP POST --anyauth to server not requiring any auth at all' HTTP, HTTP POST FAIL 175: 'HTTP POST --digest to server not requiring any auth at all' HTTP, HTTP POST, HTTP Digest auth FAIL 176: 'HTTP POST --ntlm to server not requiring any auth at all' HTTP, HTTP POST, HTTP NTLM auth FAIL 177: 'HTTP POST --digest to server doing a 302-location response' HTTP, HTTP POST, HTTP Digest auth, followlocation FAIL 178: 'HTTP response with negative Content-Length' HTTP, HTTP GET FAIL 179: 'HTTP using proxy and cookies with path checks' HTTP, HTTP GET, HTTP proxy, cookies FAIL 180: 'HTTP 1.0 PUT' HTTP, HTTP PUT, HTTP/1.0 FAIL 181: 'HTTP 1.0 POST' HTTP, HTTP POST, HTTP/1.0 FAIL 182: 'FTP download an empty file' FTP FAIL 183: 'HTTP GET two URLs over a single proxy with persistent connection' HTTP, HTTP GET, HTTP proxy, persistent connection FAIL 184: 'HTTP replace Host: when following Location: to new host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 185: 'HTTP replace Host: when following Location: on the same host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 186: 'HTTP RFC1867-type formposting with types on text fields' HTTP, HTTP POST FAIL 187: 'HTTP redirect with bad hostname separation and slash in parameters' HTTP, HTTP GET, followlocation FAIL 188: 'HTTP GET with resume and redirect' HTTP, HTTP GET, Content-Range, Resume, followlocation FAIL 189: 'HTTP GET with resume and redirect (to a page that does not resume)' HTTP, HTTP GET FAIL 190: 'FTP download with strict timeout and slow CWD' FTP, timeout, FAILURE, DELAY FAIL 191: 'FTP URL with ?-letters in username and password' FTP FAIL 192: 'HTTP GET -w num_connects with one simple connect' HTTP, HTTP GET FAIL 193: 'HTTP GET -w num_connects with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, --write-out FAIL 194: 'HTTP resume transfer with the whole file already downloaded and --fail' HTTP, HTTP GET, Content-Range, Resume FAIL 195: 'FTP response 530 after PASS, temporarily not allowed access' FTP FAIL 196: 'FTP transient error, retry request once' FTP, retry FAIL 197: 'HTTP GET --retry on 503 error with output to stdout' HTTP, HTTP GET, retry FAIL 198: 'HTTP GET --retry on 503 error with output to file' HTTP, HTTP GET, retry FAIL 199: 'HTTP with -d, -G and {}' HTTP, HTTP GET, globbing FAIL 200: 'basic file:// file' FILE FAIL 201: 'missing file:// file' FILE, FAILURE FAIL 202: 'two file:// URLs to stdout' FILE FAIL 203: 'file:/path URL with a single slash' FILE FAIL 204: '"upload" with file://' FILE FAIL 205: '"upload" nonexisting with file://' FILE, FAILURE FAIL 206: 'HTTP proxy CONNECT auth Digest' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 207: 'HTTP GET with chunked Transfer-Encoding closed prematurely' HTTP, HTTP GET, CURLE_PARTIAL_FILE, FAILURE, chunked Transfer-Encoding FAIL 208: 'HTTP PUT to an FTP URL with username+password - over HTTP proxy' FTP, HTTP, HTTP PUT, HTTP proxy FAIL 209: 'HTTP proxy CONNECT auth NTLM' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 210: 'Get two FTP files from the same remote dir: no second CWD' FTP FAIL 211: 'Get two FTP files with no remote EPSV support' FTP FAIL 212: 'Get two FTP files with no remote EPRT support' FTP, EPRT FAIL 213: 'HTTP 1.0 proxy CONNECT auth NTLM and then POST' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 214: 'HTTP URL with escaped { and }' HTTP, HTTP GET FAIL 215: 'Get two FTP dir listings from the same remote dir: no second CWD' FTP FAIL 216: 'FTP upload two files to the same dir' FTP FAIL 217: 'HTTP proxy CONNECT to proxy returning 405' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, followlocation, --write-out FAIL 218: 'HTTP PUT from a file but enforce chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 219: 'try using proxy with unsupported scheme' proxy, unsupported scheme FAIL 220: 'HTTP GET gzip compressed content' HTTP, HTTP GET, compressed FAIL 221: 'HTTP GET gzip compressed content with broken gzip header' HTTP, HTTP GET, compressed, FAILURE FAIL 222: 'HTTP GET deflate compressed content' HTTP, HTTP GET, compressed FAIL 223: 'HTTP GET deflate compressed content with broken deflate header' HTTP, HTTP GET, compressed, FAILURE FAIL 224: 'HTTP GET gzip compressed content with huge comment and extra field' HTTP, HTTP GET, compressed FAIL 225: 'FTP %0a-code in URL's name part' FTP, FAILURE FAIL 226: 'FTP %0d-code in URL's CWD part' FTP, FAILURE FAIL 227: 'FTP with quote ops' FTP, post-quote, pre-quote FAIL 228: 'FTP RETR with ACCT' FTP, ACCT FAIL 229: 'FTP RETR with bad ACCT' FTP, ACCT, FAILURE FAIL 230: 'HTTP GET multiply compressed content' HTTP, HTTP GET, compressed FAIL 231: 'file:// with resume' FILE FAIL 232: 'HTTP GET deflate raw-compressed content' HTTP, HTTP GET, compressed FAIL 233: 'HTTP, proxy, site+proxy auth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 234: 'HTTP, proxy, site+proxy auth and Location: to new host location-trusted' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, followlocation, --location-trusted FAIL 235: 'FTP resumed upload but no file present remotely' FTP, STOR FAIL 236: 'FTP resume upload but denied access to remote file' FTP FAIL 237: 'FTP getting bad host in 227-response to PASV' FTP FAIL 238: 'FTP getting bad port in response to EPSV' FTP FAIL 239: 'HTTP proxy-auth NTLM and then POST' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 240: 'HTTP-IPv6 GET' HTTP, HTTP GET, IPv6 FAIL 241: 'HTTP-IPv6 GET (using ip6-localhost)' HTTP, HTTP GET, IPv6, IPv6-hostname FAIL 242: 'HTTP-IPv6 GET with username+password in URL' HTTP, HTTP GET, IPv6, HTTP Basic auth FAIL 243: 'HTTP POST with --proxy-anyauth, picking NTLM' HTTP, HTTP GET, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM FAIL 244: 'FTP dir listing with nocwd and URL encoded path' FTP, PASV, CWD, --ftp-method, nocwd FAIL 245: 'HTTP POST --digest' HTTP, HTTP POST, HTTP Digest auth FAIL 246: 'HTTP POST --digest with server doing a 100 before 401 response' HTTP, HTTP POST, HTTP Digest auth FAIL 247: 'FTP upload time condition evaluates TRUE => skip upload' FTP, MDTM FAIL 248: 'FTP upload time condition evaluates FALSE => upload anyway' FTP, STOR, MDTM FAIL 249: 'HTTP 304 response with "illegal" Content-Length: header' HTTP, HTTP GET, -z FAIL 250: 'FTP dir list PASV with slow response' FTP, SLOWDOWN FAIL 251: 'FTP dir list, PORT with specified IP and slow response' FTP, SLOWDOWN FAIL 252: 'FTP IPv6 dir list PASV' FTP, FTP-ipv6, IPv6, EPSV FAIL 253: 'FTP IPv6 dir list with EPRT' FTP, FTP-ipv6, IPv6, EPRT FAIL 254: 'FTP IPv6 dir list PASV and --disable-epsv' FTP, FTP-ipv6, IPv6, EPSV, --disable-epsv FAIL 255: 'FTP IPv6 dir list with EPRT and --disable-eprt' FTP, FTP-ipv6, IPv6, EPRT, --disable-eprt FAIL 256: 'HTTP resume request over proxy with auth without server supporting it' HTTP, HTTP GET, HTTP proxy, Resume, FAILURE FAIL 257: 'HTTP Location: following with --netrc-optional' HTTP, HTTP GET, HTTP proxy, HTTP Basic auth, followlocation, netrc FAIL 258: 'HTTP POST multipart without Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP replaced headers, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 259: 'HTTP POST multipart with Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 260: 'HTTP GET URL without slash but with question mark' HTTP, HTTP GET FAIL 261: 'FTP RETR with 226 response code to TYPE' FTP, EPSV, RETR FAIL 262: 'Reject HTTP response with binary zero in header' HTTP, HTTP GET FAIL 263: 'HTTP-IPv6 GET with proxy specified using IPv6-numerical address' HTTP, HTTP GET, IPv6, HTTP proxy FAIL 264: 'HTTP with proxy string including http:// and user+password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 265: 'HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407' HTTP, HTTP POST, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 266: 'HTTP GET with chunked Transfer-Encoding and chunked trailer' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 267: 'HTTP POST with NTLM authorization and added custom headers' HTTP, HTTP POST, HTTP NTLM auth, NTLM FAIL 268: 'JSON encoding of Unicode string' HTTP, variables FAIL 269: 'HTTP --ignore-content-length' HTTP, HTTP GET FAIL 270: 'FTP RETR PASV --ftp-skip-pasv-ip' FTP, PASV, RETR FAIL 271: 'TFTP retrieve' TFTP, TFTP RRQ FAIL 272: 'FTP timed conditioned get file with identical time stamp' FTP, PASV, RETR FAIL 273: 'HTTP with two Digest authorization headers' HTTP, HTTP GET, HTTP Digest auth FAIL 274: 'HTTP Location: following with --max-redirs 0' HTTP, HTTP GET, followlocation, --max-redirs FAIL 275: 'HTTP CONNECT with proxytunnel getting two URLs from the same host' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 276: 'HTTP Location: following with multiple question marks in URLs' HTTP, HTTP GET, followlocation FAIL 277: 'HTTP RFC1867-type formposting with custom Content-Type' HTTP, HTTP FORMPOST FAIL 278: 'HTTP with proxy string including http:// and user+empty password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 279: 'HTTP with proxy string including http:// and user only' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 280: 'FTP --ftp-alternative-to-user on USER failure' FTP, PASV, LIST, --ftp-alternative-to-user FAIL 281: 'HTTP PUT from file with 100 + 401 responses and -f without auth given' HTTP, HTTP PUT FAIL 282: 'HTTP GET with no response body or headers' HTTP, HTTP GET FAIL 283: 'TFTP retrieve on invalid file' TFTP, TFTP RRQ, FAILURE FAIL 284: 'TFTP retrieve of boundary case 512 byte file' TFTP, TFTP RRQ FAIL 285: 'TFTP send' TFTP, TFTP WRQ FAIL 286: 'TFTP send of boundary case 512 byte file' TFTP, TFTP WRQ FAIL 287: 'HTTP proxy CONNECT with custom User-Agent header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 288: 'file:// with (unsupported) proxy, authentication and range' FILE FAIL 289: 'FTP resume upload but denied access to local file' FTP, STOR, Resume, FAILURE FAIL 290: 'FTP download maximum filesize exceeded' FTP, --max-filesize FAIL 291: 'FTP download maximum filesize not exceeded' FTP, RETR, --max-filesize FAIL 292: 'HTTP GET with maximum filesize not exceeded' HTTP, HTTP GET, --max-filesize FAIL 293: 'HTTP GET with maximum filesize exceeded' HTTP, HTTP GET, --max-filesize, FAILURE FAIL 294: 'FTP --ftp-account on ACCT request' FTP, PASV, LIST, ACCT, --ftp-account FAIL 295: 'FTP ACCT request without --ftp-account' FTP, PASV, LIST, ACCT, FAILURE FAIL 296: 'FTP CWD with --ftp-method multicwd' FTP, PASV, CWD, --ftp-method, multicwd FAIL 297: 'FTP CWD with --ftp-method singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 298: 'FTP CWD with --ftp-method nocwd' FTP, PASV, CWD, --ftp-method, nocwd FAIL 299: 'FTP over HTTP proxy with user:pass not in url' FTP, HTTP, CURLOPT_USERPWD, HTTP proxy FAIL 314: 'HTTP GET brotli compressed content' HTTP, HTTP GET, compressed FAIL 315: 'HTTP GET brotli compressed content with broken header' HTTP, HTTP GET, compressed, FAILURE FAIL 316: 'HTTP GET brotli compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 317: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 318: 'HTTP with custom Authorization: then trusted redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 319: 'HTTP GET gobbledigook transfer-encoded data in raw mode' HTTP, HTTP GET, Transfer-Encoding, --raw FAIL 326: 'HTTP GET chunked data in raw mode' HTTP, HTTP GET FAIL 327: 'HTTP with cookiejar without cookies left' HTTP, HTTP GET, cookies, header dump FAIL 328: 'HTTP with "Content-Encoding: none' HTTP, HTTP GET, Content-Encoding FAIL 329: 'HTTP cookie with Max-Age=0' HTTP, HTTP GET, cookies FAIL 330: 'HTTP with custom Cookie: and redirect to new host' HTTP, HTTP proxy, followlocation, cookies FAIL 331: 'HTTP with cookie using hostname 'moo'' HTTP, HTTP GET, HTTP proxy, cookies FAIL 332: 'TFTP retrieve with blksize 400' TFTP, TFTP RRQ, FAILURE FAIL 333: 'Try a non-boolean command line option with --no-' cmdline FAIL 334: 'HTTP 204 No content with chunked header' HTTP, 204 FAIL 335: 'HTTP with proxy Digest and site Digest with creds in URLs' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth, HTTP auth in URL FAIL 336: 'FTP range download when SIZE does not work' FTP, PASV, TYPE A, RETR FAIL 337: 'FTP range download with SIZE returning extra crap' FTP, PASV, TYPE A, RETR FAIL 338: 'ANYAUTH connection reuse of non-authed connection' HTTP, HTTP GET FAIL 339: 'Check if --etag-save saved correct etag to a file' HTTP, HTTP GET FAIL 340: 'FTP using %00 in path with singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 341: 'A non existing file with --etag-compare is just a blank' HTTP, HTTP GET FAIL 342: 'Check if --etag-compare set correct etag in header' HTTP, HTTP GET FAIL 343: 'Both --etag-compare and --etag-save to save new Etag' HTTP, HTTP GET FAIL 344: 'Both --etag-compare and -save store new Etag using non-existing file' HTTP, HTTP GET FAIL 345: 'Both --etag-compare and -save store new Etag using one pre-existing file' HTTP, HTTP GET FAIL 346: 'HTTP GET over proxy with credentials using blank passwords' HTTP, proxy FAIL 347: '--etag-save with blank incoming header' HTTP, HTTP GET FAIL 348: 'FTP upload file with 552 disk full response' FTP, EPSV, STOR FAIL 349: 'HTTP GET --fail-with-body on HTTP error return' HTTP, HTTP GET, --fail-with-body FAIL 350: 'FTP root dir list multicwd' FTP, PASV, LIST FAIL 351: 'FTP root dir list nocwd' FTP, PASV, LIST FAIL 352: 'FTP root dir list singlecwd' FTP, PASV, LIST FAIL 353: 'FTP home dir list singlecwd' FTP, PASV, LIST FAIL 354: 'FTP without password' FTP, PASV, RETR FAIL 357: 'HTTP PUT with Expect: 100-continue and 417 response' HTTP, HTTP PUT, Expect: 100-continue FAIL 360: 'Error on both --fail-with-body and --fail' --fail, --fail-with-body FAIL 361: 'HTTP GET --fail-with-body on HTTP error return - twice' HTTP, HTTP GET, --fail-with-body FAIL 362: 'FTP resume upload file with nothing to start from' FTP, EPSV, STOR FAIL 365: 'HTTP/1.1 with chunked AND Content-Length headers' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 366: 'HTTP --retry-max-time with too long Retry-After' HTTP, HTTP GET, retry FAIL 367: 'Empty username provided in URL' HTTP, HTTP GET, HTTP Basic auth FAIL 368: 'Append dash if -r range specified without one' HTTP, HTTP GET, Range FAIL 369: '--etag-save with bad path then working transfer' HTTP, HTTP GET, etag FAIL 370: '--etag-save with bad path - no transfer' HTTP, HTTP GET, etag FAIL 371: 'using more -o than URLs in the command line' HTTP, HTTP GET FAIL 372: 'Binary zero in data element.' HTTP, HTTP GET FAIL 373: 'Chunked transfer encoding - Multiple valid chunks with binary zeros.' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 374: 'Valid gif with two frames. No new line in data section.' HTTP, HTTP GET, gif data FAIL 376: '--remove-on-error' HTTP, HTTP GET FAIL 378: 'Reject using -T and -d at once' HTTP PUT, HTTP POST FAIL 379: '--remove-on-error with --no-clobber and an added number' HTTP, HTTP GET FAIL 380: 'pick netrc password based on username in URL' FTP, EPSV, LIST, netrc FAIL 381: 'netrc-optional lets URL creds override netrc' FTP, EPSV, LIST, netrc FAIL 383: 'HTTP with --json' HTTP, HTTP POST, --json FAIL 384: 'HTTP with --json from stdin' HTTP, HTTP POST, --json FAIL 385: 'HTTP with --json x 2' HTTP, HTTP POST, --json FAIL 386: 'HTTP with --json + --next' HTTP, HTTP POST, --json FAIL 387: 'Response with overly long compression chain' HTTP, gzip FAIL 388: 'HTTP with Digest and multiple qop values with leading space' HTTP, HTTP GET, HTTP Digest auth FAIL 389: '*.localhost is a local host' HTTP, .localhost FAIL 390: 'curl HTTP, FILE and FTP in parallel' HTTP, FTP, parallel FAIL 391: '--path-as-is with redirect, keeping dotdots' HTTP, HTTP GET, --path-as-is FAIL 392: 'HTTP secure cookies over localhost' HTTP, HTTP GET, cookies, secure FAIL 393: 'HTTP max-filesize and out-of-range Content-Length' HTTP, HTTP GET, --max-filesize, FAILURE FAIL 394: 'HTTP with rubbish in Content-Length' HTTP, HTTP GET, FAILURE FAIL 395: 'HTTP and out-of-range Content-Length' HTTP, HTTP GET FAIL 396: 'HTTP GET zstd compressed content' HTTP, HTTP GET, compressed FAIL 397: 'HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 398: 'Reject HTTP/1.1 response with colon-less header' HTTP, HTTP GET FAIL 399: '65536 bytes long hostname in URL' URL FAIL 402: 'FTP SSL required on non-SSL server' FTP, FTPS, FAILURE FAIL 405: 'FTPS operation to FTP port' FTP, FTPS, FAILURE FAIL 411: '-K with missing file causes error' -K FAIL 415: 'HTTP response with control code then negative Content-Length' HTTP, HTTP GET FAIL 416: 'FTP growing file support' FTP, EPSV, RETR, Range FAIL 418: 'Response with multiple Transfer-Encoding headers' HTTP, gzip FAIL 419: '--dump-header to file that cannot be created' --dump-header, FAILURE FAIL 420: 'Setting cookies set with expired dates that were loaded from jar' HTTP, HTTP GET, cookies FAIL 421: 'HTTP GET multiple headers and %{header_json}' header_json FAIL 422: 'use --next with missing URL before it' cmdline, --next FAIL 423: '-w with url.* variables' -w, --write-out FAIL 424: '-w with urle.* variables' -w, --write-out FAIL 425: 'HTTP PUT with path ending with slash + query' HTTP, HTTP PUT FAIL 426: 'try --data with --continue-at' Resume, error detection FAIL 427: 'Keep Cookie: header within 8190 bytes' HTTP, HTTP GET, cookies FAIL 428: 'Expand environment variables within config file' HTTP, variables, --config FAIL 429: 'Expand environment variable in config file - too long name' HTTP, HTTP POST, variables FAIL 430: 'Three -K uses with --next and --data in each' --next, --config, POST FAIL 431: 'Two -K uses with --next and then one on cmdline' --next, --config, POST FAIL 432: 'Use -K with --next and --config from within' --next, --config, POST FAIL 434: '-K with a single line without newline' HTTP, --config FAIL 435: 'verify -w local/remote port+ip after connection reuse' HTTP, HTTP GET FAIL 436: 'Find .curlrc in .config/curlrc via CURL_HOME' --config FAIL 440: 'HSTS with trailing-dot hostname in URL but none in hsts file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 441: 'HSTS with no t-dot hostname in URL but t-dot in file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 442: 'Send capped huge number of matching cookies' HTTP, cookies, --resolve FAIL 443: 'Cookie header in request no longer than 8K' HTTP, cookies, --resolve FAIL 444: 'Many Set-Cookie response headers' HTTP, cookies, --resolve FAIL 448: 'Environment variables within config file, unbalanced braces' HTTP, variables, --config FAIL 449: 'Environment variables in config file w/o [expand]' HTTP, variables, --config FAIL 450: 'Variable from file that is trimmed and URL encoded' HTTP, variables FAIL 451: 'Variable from file that is JSON and URL encoded (with null byte)' HTTP, variables FAIL 452: 'Variable using illegal function in expansion' variables FAIL 453: 'Variable output containing null byte' HTTP, variables FAIL 454: 'Variable using illegal function separator' variables FAIL 455: 'Variable using base64' variables FAIL 456: 'Variable output starting with null byte' HTTP, variables FAIL 457: 'chunked Transfer-Encoding with --max-filesize' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 458: 'variable expand the filename with --expand-output' HTTP, variables FAIL 459: 'config file with argument using whitespace missing quotes' HTTP, --config FAIL 460: 'try --expand without an argument' variables, expand FAIL 461: 'disable Host: when specified as lower case' HTTP, HTTP GET, --header FAIL 462: 'Missing environment variables in config file' variables, --config FAIL 463: 'HTTP with -d @file with file containing CR, LF and null byte' HTTP, HTTP POST, -d FAIL 467: 'use a bad short option letter that does not exist (after one does exist)' cmdline FAIL 468: 'set -w in config, then reset -w to blank on cmdline' HTTP, --write-out, --config FAIL 469: 'warn about Unicode quote character' HTTP FAIL 470: 'warn about Unicode quote character read from config file' HTTP FAIL 471: 'Reject HTTP/1.1 to HTTP/2 switch on the same connection' HTTP, HTTP GET, globbing, {} list FAIL 473: 'Check if --etag-save saved correct etag to a file on 301' HTTP, HTTP GET FAIL 475: 'FTP PASV upload ASCII file' FTP, EPSV, STOR, TYPE A FAIL 476: 'FTP PASV upload ASCII file already using CRLF' FTP, EPSV, STOR, TYPE A FAIL 477: 'HTTP GET with maximum filesize with a redirect sending data' HTTP, HTTP GET, --max-filesize FAIL 478: '.netrc with multiple accounts for same host' netrc, HTTP FAIL 479: '.netrc with redirect and default without password' netrc, HTTP FAIL 480: 'Reject .netrc with credentials using CRLF for POP3' netrc, POP3 FAIL 481: '--no-clobber with --continue-at' HTTP, HTTP GET, --no-clobber, --continue-at FAIL 482: '--remove-on-error with --continue-at' HTTP, --remove-on-error, --continue-at FAIL 483: 'HTTP cookies with long expire dates' HTTP, HTTP GET, cookies FAIL 484: 'Use --etag-compare and -save with more than one URL' HTTP, etag FAIL 485: 'Use --etag-compare and -save with more than one URL, URLs specified first' HTTP, etag FAIL 486: '.netrc with redirect and "default" with no password or login' netrc, HTTP FAIL 487: 'Variable using 64dec with bad base64' variables FAIL 488: 'Download two URLs provided on stdin' HTTP, HTTP GET, --url FAIL 489: 'Download two URLs provided in a file' HTTP, HTTP GET, --url FAIL 490: 'Two globbed HTTP PUTs' HTTP, HTTP PUT FAIL 491: 'Two globbed HTTP PUTs, the second upload file is missing' HTTP, HTTP PUT FAIL 492: 'Two globbed HTTP PUTs to two globbed URLs' HTTP, HTTP PUT FAIL 493: 'HSTS and %{url_effective} after upgrade' HTTP, HTTP proxy, HSTS, url_effective FAIL 494: 'skip 'macdef' when parsing netrc' FTP, EPSV, netrc, macdef FAIL 495: 'user+password in URL with optional netrc' HTTP, netrc FAIL 496: 'parallel upload missing file' curl tool, cmdline, parallel FAIL 497: 'Reject too large accumulated HTTP response headers' HTTP, HTTP GET FAIL 498: 'Reject too large HTTP response headers on endless redirects' HTTP, HTTP GET FAIL 499: 'HTTP HEAD to server still sending a body' HTTP, HTTP GET FAIL 500: 'simple libcurl HTTP GET tool' HTTP, HTTP GET FAIL 501: 'simple libcurl attempt operation without URL set' missing URL FAIL 502: 'simple multi file:// get' FILE FAIL 503: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Basic auth, proxytunnel, multi FAIL 504: 'simple multi through local proxy without listener' HTTP, HTTP GET, HTTP proxy, multi, FAILURE, connect to non-listen FAIL 505: 'FTP upload with rename after transfer' FTP, STOR FAIL 507: 'multi interface get with non-existing hostname' HTTP, multi, FAILURE, non-existing host FAIL 508: 'send HTTP POST using read callback' HTTP, POST, POST callback FAIL 509: 'initialization with memory callbacks and actual usage' memory callbacks FAIL 510: 'send HTTP POST using read callback, using chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 511: 'FTP with FILETIME and NOBODY but missing file' FTP FAIL 512: 'simple curl_easy_duplicate() test' HTTP, HTTP GET FAIL 513: 'send HTTP POST using read callback that returns CURL_READFUNC_ABORT' HTTP, HTTP POST FAIL 514: 'First set options to POST and then to make HEAD' HTTP, HTTP HEAD FAIL 515: 'make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero' HTTP, HTTP POST FAIL 516: 'make an HTTPPOST set to NULL' HTTP, HTTP POST, FORM FAIL 519: 'GET same URL twice with different users' HTTP, HTTP GET FAIL 520: 'FTP RETR with FILETIME' FTP FAIL 521: 'FTP dir list PASV with CURLOPT_PORT' FTP, PASV, CURLOPT_PORT FAIL 522: 'HTTP GET with CURLOPT_PORT' HTTP, HTTP GET, CURLOPT_PORT FAIL 523: 'HTTP GET with proxy and CURLOPT_PORT' HTTP, HTTP GET, HTTP proxy, CURLOPT_PORT, CURLOPT_PROXY FAIL 524: 'FTP upload with target URL ending with slash' FTP, UPLOAD FAIL 525: 'FTP PORT upload using multi interface' FTP, PORT, STOR, multi FAIL 526: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 527: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi FAIL 528: 'HTTP GET same file using different handles but same connection' HTTP, HTTP GET, multi FAIL 529: 'FTP PORT upload using multi interface (weird cleanup function sequence)' FTP, PORT, STOR, multi FAIL 530: 'multi_socket interface transfer with callbacks returning error' multi, HTTP FAIL 531: 'FTP PORT upload using multi interface and get 425 response' FTP, PORT, STOR, multi FAIL 532: 'FTP RETR same file using reset handles between each transfer' FTP, PASV, RETR, multi FAIL 533: 'FTP RETR a non-existing file twice using the multi interface' FTP, PASV, RETR, multi FAIL 534: 'FTP RETR twice using multi: non-existing host and non-existing file' FTP, PASV, RETR, multi, non-existing host FAIL 535: 'HTTP GET multi two files with FAILONERROR' HTTP, HTTP GET, multi FAIL 536: 'CURLINFO_USED_PROXY' HTTP, HTTP GET, HTTP proxy, CURLOPT_PROXY, CURLOPT_NOBODY, CURLINFO_USED_PROXY FAIL 537: 'HTTP GET with a HUGE number of file descriptors open' HTTP, HTTP GET FAIL 538: 'FTP multi-interface download, failed login: PASS not valid' FTP, FAILURE, multi FAIL 539: 'Two FTP fetches using different CURLOPT_FTP_FILEMETHOD' FTP FAIL 540: 'HTTP proxy auth Digest multi API reusing connection' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi FAIL 541: 'FTP upload and upload same file again without rewind' FTP, STOR FAIL 542: 'FTP a file with NOBODY yes and HEADER no' FTP, PASV, RETR FAIL 543: 'curl_easy_escape' curl_easy_escape FAIL 544: 'HTTP POST text data using CURLOPT_COPYPOSTFIELDS' HTTP, HTTP POST FAIL 545: 'HTTP POST binary with embedded zero and no trailing zero' HTTP, HTTP POST FAIL 546: 'FTP RETR a non-existing file then a found one using the multi interface' FTP, PASV, RETR, multi FAIL 547: 'HTTP proxy auth NTLM with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 548: 'HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS' HTTP, HTTP POST, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 549: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE' FTP, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, HTTP proxy FAIL 550: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE and ASCII transfer' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY FAIL 551: 'HTTP proxy auth Digest with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 552: 'HTTP proxy auth Digest with 70K POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth FAIL 553: 'HTTP post with huge request headers and post data from callback' HTTP, HTTP POST, POST callback, huge request header FAIL 554: 'HTTP multi-part formpost using read callback for the file part' HTTP, HTTP POST, FORM FAIL 555: 'HTTP proxy auth NTLM with POST data from read callback multi-if' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, multi, NTLM FAIL 556: 'send and recv HTTP' HTTP, HTTP GET FAIL 557: 'curl_mprintf() testing' printf, unittest FAIL 559: 'use tiny CURLOPT_BUFFERSIZE' CURLOPT_BUFFERSIZE, HTTP FAIL 561: 'FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, type= FAIL 562: 'FTP a type=A URL and CURLOPT_PORT set' FTP, PASV, RETR FAIL 563: 'FTP type=A URL and CURLOPT_PORT set and proxy' FTP, CURLOPT_PORT, HTTP proxy FAIL 564: 'FTP RETR a file over a SOCKS proxy using the multi interface' FTP, PASV, RETR, multi, SOCKS4 FAIL 565: 'send HTTP POST using read callback, chunked transfer-encoding and Digest' HTTP, HTTP POST, HTTP Digest auth, chunked Transfer-Encoding FAIL 566: 'HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer' HTTP, HTTP GET FAIL 567: 'simple RTSP OPTIONS command' RTSP, OPTIONS FAIL 568: 'RTSP Announce (PUT and POST style) test' RTSP, ANNOUNCE FAIL 569: 'RTSP Session ID parsing' RTSP, SESSION_ID FAIL 570: 'RTSP CSeq and Session Mismatch checks' RTSP, Mismatch checking FAIL 571: 'RTSP RTP Interleaving Test' RTSP, RTP FAIL 572: 'RTSP GET_PARAMETER (Put/Heartbeat/Post)' RTSP, GET_PARAMETER FAIL 574: 'FTP wildcard download - changed fnmatch, 2x perform (Unix LIST response)' FTP, LIST, RETR, wildcardmatch, ftplistparser FAIL 575: 'FTP wildcard download - dup_handle and multi interface' FTP, RETR, multi, wildcardmatch, ftplistparser FAIL 576: 'FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)' FTP, wildcardmatch, ftplistparser FAIL 577: 'Funny RTSP version in response' RTSP, OPTIONS FAIL 578: 'HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback' HTTP, HTTP POST FAIL 579: 'small chunked HTTP POSTs with digest auth and progress callback' HTTP, HTTP POST, HTTP Digest auth FAIL 580: 'multi interface, multiple Location: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 581: 'multi interface, multiple Content-Type: headers' HTTP, HTTP GET, multi, Duplicate-header FAIL 584: 'CURLOPT_MIMEPOST first set then set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 585: 'socket open/close callbacks' HTTP, HTTP GET, multi, CURLOPT_OPENSOCKETFUNCTION, CURLOPT_CLOSESOCKETFUNCTION FAIL 586: 'FTP and open/close socket callbacks' FTP, PASV, CURLOPT_PORT FAIL 588: 'FTP PORT upload using multi interface, EPRT does not work' FTP, PORT, STOR, multi, EPRT refused FAIL 589: 'make an HTTP MIME POST set to NULL' HTTP, HTTP POST, HTTP MIME FAIL 590: 'HTTP proxy offers Negotiate+NTLM, use only NTLM' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 591: 'FTP multi PORT and 425 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN425 FAIL 592: 'FTP multi PORT and 421 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN421 FAIL 593: 'FTP multi PORT upload, no data conn and no transient neg. reply' FTP, PORT, STOR, multi, EPRT refused, NODATACONN150 FAIL 595: 'verify close callbacks with passive FTP' FTP FAIL 596: 'verify close callbacks with active FTP' FTP FAIL 597: 'FTP connect only option' FTP, CONNECT_ONLY FAIL 598: 'curl_easy_reset with referer and other strings set' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 599: 'HTTP GET with progress callback and redirects changing content sizes' HTTP, HTTP POST, chunked Transfer-Encoding FAIL 632: 'SFTP syntactically invalid host key' SFTP, FAILURE, server key check FAIL 643: 'HTTP multi-part mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 645: 'HTTP multi-part chunked mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST FAIL 646: 'SMTP multipart using mime API' SMTP, MULTIPART FAIL 647: 'IMAP APPEND multipart using mime API' IMAP, APPEND, UPLOAD, MULTIPART FAIL 648: 'SMTP multipart with transfer content encoders' SMTP, MULTIPART FAIL 649: 'SMTP multipart with 7-bit encoder error' SMTP, MULTIPART FAIL 650: 'HTTP formpost using form API - with redirect and re-POST' HTTP, HTTP POST, FORM FAIL 651: 'curl_formadd with huge COPYCONTENTS' HTTP, HTTP POST, FORM FAIL 652: 'SMTP with encoded huge mime data contents' SMTP, MIME FAIL 653: 'Reuse of handle after altering mime data' HTTP, HTTP POST, MIME FAIL 654: 'HTTP duplicate easy handle with mime data' HTTP, HTTP POST, HTTP MIME POST FAIL 655: 'resolver start callback' HTTP FAIL 658: 'Pass URL to libcurl with CURLOPT_CURLU' HTTP, HTTP GET, CURLOPT_CURLU FAIL 659: 'CURLOPT_CURLU without the path set - over proxy' HTTP, HTTP GET, CURLOPT_CURLU, proxy FAIL 660: 'IMAP CONNECT_ONLY option' IMAP, CONNECT_ONLY FAIL 661: 'Avoid redundant CWDs' FTP FAIL 662: 'HTTP redirect with whitespace in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 663: 'HTTP redirect with dotdots and whitespaces in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 666: 'HTTP mime post with binary-encoded huge data contents' HTTP, HTTP POST, HTTP MIME POST, MIME FAIL 667: 'HTTP chunked mimepost using single-byte read callback with encoder' HTTP, HTTP POST, HTTP MIME POST FAIL 668: 'HTTP mimepost early end of data detection' HTTP, HTTP POST, HTTP MIME POST FAIL 669: 'HTTP custom Content-Type with parameter' HTTP, HTTP POST, HTTP MIME POST, HTTP FORMPOST FAIL 670: 'Request pause from mime read callback: multi' HTTP, HTTP POST, MIME FAIL 671: 'Request pause from mime read callback: easy' HTTP, HTTP POST, MIME FAIL 672: 'Request pause from form read callback: multi' HTTP, HTTP POST, FORM FAIL 673: 'Request pause from form read callback: easy' HTTP, HTTP POST, FORM FAIL 674: 'Set CURLOPT_CURLU and dupe the handle' HTTP, HTTP GET, CURLOPT_CURLU, curl_easy_duphandle FAIL 675: 'HTTP connection reuse and different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 676: 'verify setting CURLOPT_COOKIEFILE to NULL again' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset FAIL 677: 'IMAP with CONNECT_ONLY, custom command then exit' IMAP, CONNECT_ONLY FAIL 679: 'netrc with quoted password' HTTP, netrc FAIL 680: 'netrc with quoted password but missing end quote' HTTP, netrc FAIL 681: '--remote-name-all with --no-remote-name' HTTP, HTTP GET FAIL 682: 'netrc with multiple logins - pick first' HTTP, netrc FAIL 683: 'netrc with multiple logins - pick second' HTTP, netrc FAIL 684: 'netrc with no login' HTTP, netrc FAIL 685: 'netrc with no login - provided user' HTTP, netrc FAIL 686: 'verify return code for missing URL after --next' errorcode FAIL 689: 'fuzzing crash issue #12701' RTSP, OPTIONS FAIL 690: '-O with URL without path using trailing slash' HTTP, HTTP GET FAIL 691: '-O with URL with path using trailing slash' HTTP, HTTP GET FAIL 692: '-JO with URL without path using trailing slash' HTTP, HTTP GET FAIL 693: '--etag-save with --create-dirs' HTTP, HTTP GET, etag FAIL 694: 'HTTP with NTLM twice, verify CURLINFO_HTTPAUTH_USED' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy NTLM auth, NTLM FAIL 695: 'MIME parts reuse as a child part' MIME FAIL 696: 'CONNECT_ONLY and doing a second curl_easy_perform' HTTP, HTTP GET FAIL 697: 'netrc with missing netrc file' HTTP, netrc FAIL 698: 'FTP with ACCT and connection reuse' FTP, ACCT FAIL 699: '--config with single-letter options plus one that is cleared' HTTP, --config FAIL 700: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 701: 'HTTP GET via SOCKS5 proxy' HTTP, HTTP GET, SOCKS5 FAIL 702: 'Attempt connect to non-listening HTTP server via SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 703: 'Attempt connect to non-listening HTTP server via SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 704: 'Attempt connect to non-listening SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen, FAILURE FAIL 705: 'Attempt connect to non-listening SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen, FAILURE FAIL 706: 'FTP dir list PASV via SOCKS4' FTP, PASV, LIST, SOCKS4 FAIL 707: 'FTP dir list PASV via SOCKS5' FTP, PASV, LIST, SOCKS5 FAIL 708: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 709: 'HTTP GET via SOCKS5 set in http_proxy environment variable' HTTP, HTTP GET, SOCKS5, http_proxy FAIL 710: 'HTTP GET via SOCKS5 set with --proxy' HTTP, HTTP GET, SOCKS5 FAIL 711: 'FTP fetch with all_proxy set to socks5' FTP, PASV, RETR, SOCKS5, all_proxy FAIL 712: 'FTP fetch with --proxy set to socks5://' FTP, PASV, RETR, SOCKS5 FAIL 713: 'FTP fetch with --proxy set to socks5:// and with --connect-to' FTP, PASV, RETR, SOCKS5, CURLOPT_CONNECT_TO FAIL 714: 'FTP fetch with --proxy set to http:// and with --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, CURLOPT_CONNECT_TO FAIL 715: 'FTP fetch with --preproxy, --proxy and --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, SOCKS5, CURLOPT_CONNECT_TO FAIL 716: 'SOCKS5 proxy with too long username' HTTP, SOCKS5, all_proxy FAIL 717: 'SOCKS5 proxy auth' HTTP, SOCKS5, all_proxy FAIL 718: 'HTTP proxy CONNECT (no auth) with proxy returning 407 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 719: 'HTTP GET with IPv6 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 720: 'HTTP GET with IPv4 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 721: 'HTTP GET with hostname using SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 722: 'IPFS' IPFS FAIL 723: 'IPFS with malformed gateway URL (bad function argument error)' IPFS FAIL 724: 'IPFS with gateway URL from gateway file' IPFS FAIL 725: 'IPFS with malformed gateway URL from gateway file' IPFS FAIL 726: 'IPFS with no gateway URL (no environment or home file either)' IPFS FAIL 727: 'IPNS' IPNS FAIL 728: 'SOCKS5h with HTTP redirect to hostname too long' HTTP, HTTP GET, SOCKS5, SOCKS5h, followlocation FAIL 729: 'SOCKS4 with long proxy username' HTTP, HTTP GET, SOCKS4 FAIL 730: 'IPFS arg gateway with path' IPFS FAIL 731: 'IPFS with gateway URL and path from gateway file' IPFS FAIL 732: 'IPFS with path' IPFS FAIL 733: 'IPFS with path and query args' IPFS FAIL 734: 'IPFS with path, query args and gateway with path' IPFS FAIL 735: 'IPNS with path, query args and gateway with path' IPFS FAIL 736: 'IPFS with IPFS_PATH set, no trailing slash' IPFS FAIL 737: 'IPFS with IPFS_PATH set, with trailing slash' IPFS FAIL 738: 'IPFS with IPFS_PATH, no gateway file' IPFS FAIL 739: 'IPNS path and query args for gateway and IPFS URL (malformed gateway URL)' IPFS FAIL 740: 'IPFS with gateway URL from multiline gateway file' IPFS FAIL 741: 'IPFS malformed gw URL from multiline gateway file, first line no url' IPFS FAIL 742: 'SOCKS5-hostname with max length credentials and max hostname length' HTTP, SOCKS5, all_proxy FAIL 743: '--config with a 127 byte line' HTTP, --config FAIL 744: '--netrc-file with a 127 byte line' HTTP, --netrc-file, netrc FAIL 746: 'too large numerical value passed to -m' cmdline FAIL 747: 'Reject too many HTTP response headers' HTTP, HTTP GET FAIL 748: 'A --config file that uses -h and no URL' --config FAIL 749: 'HTTP CONNECT with proxy returning 400 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 750: 'HTTP CONNECT with proxy returning just HTML and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 751: 'multi - add many easy handles' MULTI FAIL 752: '--retry and -f on an HTTP 404 response' HTTP, HTTP GET, -f, --retry FAIL 754: 'FTP list with quote ops' FTP, list, post-quote, pre-quote FAIL 755: 'netrc with NETRC pointing out the file' HTTP, netrc FAIL 756: 'mix --output and --out-null' HTTP FAIL 757: 'MIME parts reused as a child part, using data_cb' MIME FAIL 759: 'glob '{,'' globbing FAIL 760: 'more cmdline options than URLs and --next' globbing FAIL 761: 'too many {} globs' globbing FAIL 762: 'HTTP GET with --remote-time with file date from 1940' HTTP, HTTP GET, --remote-time FAIL 763: 'Unicode hostname ending up in a blank name' IDN FAIL 764: '-w with multiple header output' HTTP, HTTP GET, -w, %header FAIL 765: '-w with multiple header output using } in separator' HTTP, HTTP GET, -w, %header FAIL 766: 'FTP PORT with sockopt callback refusing the accept' FTP, PORT, CURLOPT_SOCKOPTFUNCTION FAIL 767: 'HTTP with two Content-Length response header fields same size' HTTP, HTTP GET FAIL 768: 'HTTP with letters after the number in Content-Length' HTTP, HTTP GET FAIL 769: 'HTTP with space after Content-Length number' HTTP, HTTP GET FAIL 770: 'HTTP with Content-Length headers using comma separated list' HTTP, HTTP GET FAIL 771: 'HTTP with two Content-Length headers using different sizes' HTTP, HTTP GET FAIL 772: 'HTTP with two Location: headers triggers error' HTTP, HTTP GET, Location FAIL 773: 'HTTP with two identical Location: headers triggers no error' HTTP, HTTP GET, Location FAIL 774: 'config file recursively including itself' --config FAIL 775: 'HTTP with NTLM with too long username' HTTP, HTTP NTLM auth, NTLM FAIL 778: 'HTTP --oauth2-bearer redirect to new host (not passed on)' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, oauth2-bearer FAIL 779: 'HTTP --oauth2-bearer redirects to IMAP' HTTP, IMAP, oauth2-bearer, followlocation FAIL 784: '--variable with a file byte range' HTTP, --variable FAIL 785: '--variable with a file byte range without end' HTTP, --variable FAIL 786: '--variable with a file byte range, reading from stdin' HTTP, --variable FAIL 787: '--variable with a file byte range, bad range' HTTP, --variable FAIL 788: '--variable with a file and single-byte byte range' HTTP, --variable FAIL 789: '--variable with a file and byte range out of file' HTTP, --variable FAIL 790: '--variable with a byte range using plain assign' HTTP, --variable FAIL 791: '--variable with a byte range using plain assign, out of range' HTTP, --variable FAIL 792: '.netrc with embedded NULL byte' netrc, FTP FAIL 793: '.netrc with embedded NULL byte, with quoted token' netrc, FTP FAIL 794: '--follow + --location with custom POST method, 302 => GET' --follow, --location FAIL 795: 'HTTP with credentials redirects to IMAP' HTTP, IMAP, followlocation FAIL 796: '--follow with custom POST method, 302 => GET' --follow, --location FAIL 797: '--follow with custom POST method, 308 => custom' --follow, --location FAIL 798: 'HTTP cookies in a folded header' HTTP, HTTP GET, cookies, cookiejar FAIL 799: 'IMAP with --login-options 'AUTH=+LOGIN'' IMAP, Clear Text, SASL AUTH +LOGIN FAIL 800: 'IMAP FETCH message' IMAP, Clear Text, FETCH FAIL 801: 'IMAP FETCH message by MAILINDEX and SECTION' IMAP, Clear Text, FETCH FAIL 802: 'IMAP SELECT UIDVALIDITY Success' IMAP, Clear Text, SELECT, UIDVALIDITY FAIL 803: 'IMAP SELECT UIDVALIDITY Failure' IMAP, Clear Text, SELECT, UIDVALIDITY, FAILURE FAIL 804: 'IMAP does not perform SELECT if reusing the same mailbox' IMAP, Clear Text, SELECT FAIL 805: 'IMAP APPEND message' IMAP, Clear Text, APPEND, UPLOAD FAIL 806: 'IMAP LIST mailbox' IMAP, Clear Text, LIST FAIL 807: 'IMAP LSUB mailbox' IMAP, Clear Text, LSUB, CUSTOMREQUEST FAIL 808: 'IMAP EXAMINE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, EXAMINE, CUSTOMREQUEST FAIL 809: 'IMAP mailbox STATUS (CUSTOMREQUEST)' IMAP, Clear Text, STATUS, CUSTOMREQUEST FAIL 810: 'IMAP SEARCH for NEW messages' IMAP, Clear Text, SEARCH FAIL 811: 'IMAP CREATE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CREATE, CUSTOMREQUEST FAIL 812: 'IMAP DELETE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, DELETE, CUSTOMREQUEST FAIL 813: 'IMAP RENAME mailbox (CUSTOMREQUEST)' IMAP, Clear Text, RENAME, CUSTOMREQUEST FAIL 814: 'IMAP CHECK mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CHECK, CUSTOMREQUEST FAIL 815: 'IMAP STORE - delete message (CUSTOMREQUEST)' IMAP, Clear Text, STORE, CLOSE, CUSTOMREQUEST FAIL 816: 'IMAP STORE - delete message with confirmation (CUSTOMREQUEST)' IMAP, Clear Text, STORE, EXPUNGE, CUSTOMREQUEST FAIL 817: 'IMAP COPY message to mailbox (CUSTOMREQUEST)' IMAP, Clear Text, COPY, CUSTOMREQUEST FAIL 818: 'IMAP NOOP (CUSTOMREQUEST)' IMAP, Clear Text, NOOP, CUSTOMREQUEST FAIL 819: 'IMAP plain authentication' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 820: 'IMAP login authentication' IMAP, SASL, SASL AUTH LOGIN FAIL 821: 'IMAP CRAM-MD5 authentication' IMAP, SASL, SASL AUTH CRAM-MD5, RFC2195 FAIL 822: 'IMAP NTLM authentication' IMAP, SASL, SASL AUTH NTLM, NTLM FAIL 824: 'IMAP OAuth 2.0 (XOAUTH2) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749 FAIL 825: 'IMAP plain authentication with initial response' IMAP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616 FAIL 826: 'IMAP login authentication with initial response' IMAP, SASL, SASL AUTH LOGIN, SASL-IR FAIL 827: 'IMAP NTLM authentication with initial response' IMAP, SASL, SASL AUTH NTLM, SASL-IR, NTLM FAIL 828: 'IMAP OAuth 2.0 (XOAUTH2) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749 FAIL 829: 'IMAP with URL-encoded CR LF in the URL' IMAP, CRLF-in-URL FAIL 830: 'IMAP CRAM-MD5 graceful cancellation' IMAP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195 FAIL 831: 'IMAP NTLM graceful cancellation' IMAP, SASL, SASL AUTH NTLM, SASL CANCELLATION FAIL 833: 'IMAP CRAM-MD5 authentication with SASL downgrade' IMAP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195 FAIL 834: 'IMAP NTLM authentication with SASL downgrade' IMAP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE FAIL 837: 'IMAP external authentication' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 838: 'IMAP external authentication without credentials' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 839: 'IMAP external authentication with initial response' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 840: 'IMAP external authentication with initial response without credentials' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 841: 'IMAP custom request does not check continuation data' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 842: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 843: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 844: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 845: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 846: 'IMAP PREAUTH response' IMAP FAIL 847: 'IMAP FETCH message' IMAP, Clear Text, FETCH FAIL 848: 'IMAP plain authentication with alternative authorization identity' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 849: 'IMAP plain auth with alt authorization identity (Not authorized)' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 850: 'POP3 RETR message' POP3, Clear Text, RETR FAIL 851: 'POP3 LIST one message' POP3, Clear Text, LIST FAIL 852: 'POP3 LIST invalid message' POP3, Clear Text, LIST, FAILURE FAIL 853: 'POP3 LIST messages from *SLOW* server' POP3, Clear Text, LIST, SLOWDOWN FAIL 854: 'POP3 LIST no messages available' POP3, Clear Text, LIST FAIL 855: 'POP3 RETR invalid message' POP3, Clear Text, RETR, FAILURE FAIL 856: 'POP3 invalid login' POP3, Clear Text, FAILURE FAIL 857: 'POP3 RETR message with dot-prefixed line' POP3, Clear Text, RETR FAIL 858: 'POP3 DELE message (CUSTOMREQUEST)' POP3, Clear Text, DELE, CUSTOMREQUEST FAIL 859: 'POP3 STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST FAIL 860: 'POP3 NOOP (CUSTOMREQUEST)' POP3, Clear Text, NOOP, CUSTOMREQUEST FAIL 861: 'POP3 UIDL (CUSTOMREQUEST)' POP3, Clear Text, UIDL, CUSTOMREQUEST, RFC2449 FAIL 862: 'POP3 retrieve message header (CUSTOMREQUEST)' POP3, Clear Text, TOP, CUSTOMREQUEST, RFC2449 FAIL 863: 'POP3 RSET (CUSTOMREQUEST)' POP3, Clear Text, RSET, CUSTOMREQUEST FAIL 864: 'POP3 APOP authentication' POP3, APOP FAIL 865: 'POP3 plain authentication' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 866: 'POP3 login authentication' POP3, SASL, SASL AUTH LOGIN, RFC1734, RFC5034 FAIL 867: 'POP3 CRAM-MD5 authentication' POP3, SASL, SASL AUTH CRAM-MD5, RFC1734, RFC2195, RFC5034 FAIL 868: 'POP3 NTLM authentication' POP3, SASL, SASL AUTH NTLM, RFC1734, RFC5034, NTLM FAIL 870: 'POP3 OAuth 2.0 (XOAUTH2) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749 FAIL 871: 'POP3 plain authentication with initial response' POP3, SASL, SASL AUTH PLAIN, SASL-IR, RFC1734, RFC4616, RFC5034 FAIL 872: 'POP3 login authentication with initial response' POP3, SASL, SASL AUTH LOGIN, SASL-IR, RFC1734, RFC5034 FAIL 873: 'POP3 NTLM authentication with initial response' POP3, SASL, SASL AUTH NTLM, SASL-IR, RFC1734, RFC5034, NTLM FAIL 874: 'POP3 OAuth 2.0 (XOAUTH2) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749 FAIL 875: 'POP3 with URL-encoded CR LF in the URL' POP3, CRLF-in-URL FAIL 876: 'POP3 CRAM-MD5 graceful cancellation' POP3, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC1734, RFC2195, RFC5034 FAIL 877: 'POP3 NTLM graceful cancellation' POP3, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC1734, RFC5034 FAIL 879: 'POP3 CRAM-MD5 authentication with SASL downgrade' POP3, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC2195, RFC5034 FAIL 880: 'POP3 NTLM authentication with SASL downgrade' POP3, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC5034 FAIL 883: 'POP3 external authentication' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 884: 'POP3 external authentication without credentials' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 885: 'POP3 external authentication with initial response' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 886: 'POP3 external authentication with initial response without credentials' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 887: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 888: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 889: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 890: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 891: 'POP3 with short authentication response' POP3 FAIL 892: 'POP3 plain authentication with alternative authorization identity' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 893: 'POP3 plain auth with alt authorization identity (Not authorized)' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 894: 'POP3 with CR in username' POP3, Clear Text, RETR FAIL 895: 'IMAP with --login-options 'AUTH=*'' IMAP, Clear Text, FETCH, --login-options FAIL 896: 'IMAP with --login-options 'AUTH=dummy' (failing)' IMAP, Clear Text, FETCH, --login-options FAIL 897: 'IMAP and envelope meta data after body transfer' IMAP, Clear Text, FETCH FAIL 898: 'HTTP with custom auth and cookies redirected to HTTP on a diff port' HTTP, HTTP proxy, --location, Authorization, cookies FAIL 899: 'URL with credentials redirects to URL with different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 900: 'SMTP' SMTP FAIL 901: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 902: 'RFC821-only SMTP server (EHLO not supported)' SMTP, SMTP HELO, RFC821 FAIL 903: 'SMTP plain authentication' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 904: 'SMTP login authentication' SMTP, SASL, SASL AUTH LOGIN, RFC4954 FAIL 905: 'SMTP CRAM-MD5 authentication' SMTP, SASL, SASL AUTH CRAM-MD5, RFC2195, RFC4954 FAIL 906: 'SMTP NTLM authentication' SMTP, SASL, SASL AUTH NTLM, RFC4954, NTLM FAIL 908: 'SMTP OAuth 2.0 (XOAUTH2) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749 FAIL 909: 'SMTP without SIZE support' SMTP FAIL 910: 'SMTP without terminating CRLF' SMTP FAIL 911: 'SMTP with no mail data' SMTP FAIL 912: 'SMTP with SIZE support' SMTP, SIZE FAIL 913: 'SMTP with large message SIZE' SMTP, SIZE FAIL 914: 'SMTP invalid --mail-from' SMTP FAIL 915: 'SMTP without --mail-from' SMTP FAIL 916: 'SMTP with invalid --mail-rcpt' SMTP FAIL 917: 'SMTP with multiple --mail-rcpt' SMTP FAIL 918: 'SMTP with multiple and invalid --mail-rcpt' SMTP FAIL 919: 'SMTP plain authentication with initial response' SMTP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616, RFC4954 FAIL 920: 'SMTP login authentication with initial response' SMTP, SASL, SASL AUTH LOGIN, SASL-IR, RFC4954 FAIL 921: 'SMTP NTLM authentication with initial response' SMTP, SASL, SASL AUTH NTLM, SASL-IR, RFC4954, NTLM FAIL 922: 'SMTP OAuth 2.0 (XOAUTH2) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749 FAIL 923: 'SMTP VRFY' SMTP, VRFY FAIL 924: 'SMTP ambiguous VRFY' SMTP, VRFY FAIL 925: 'SMTP external VRFY' SMTP, VRFY FAIL 926: 'SMTP unknown user VRFY' SMTP, VRFY FAIL 927: 'SMTP mailing list EXPN (CUSTOMREQUEST)' SMTP, EXPN, CUSTOMREQUEST FAIL 928: 'SMTP HELP' SMTP, HELP FAIL 929: 'SMTP NOOP (CUSTOMREQUEST)' SMTP, NOOP, CUSTOMREQUEST FAIL 930: 'SMTP RSET (CUSTOMREQUEST)' SMTP, RSET, CUSTOMREQUEST FAIL 931: 'SMTP with URL-encoded CR LF in the URL' SMTP, CRLF-in-URL FAIL 932: 'SMTP CRAM-MD5 graceful cancellation' SMTP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195, RFC4954 FAIL 933: 'SMTP NTLM graceful cancellation' SMTP, SASL, SASL AUTH NTLM, SASL CANCELLATION, RFC4954 FAIL 935: 'SMTP CRAM-MD5 authentication with SASL downgrade' SMTP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195, RFC4954 FAIL 936: 'SMTP NTLM authentication with SASL downgrade' SMTP, SASL, SASL AUTH NTLM, SASL AUTH PLAIN, SASL DOWNGRADE, RFC4954 FAIL 939: 'RFC821-only SMTP with username and password' SMTP, RFC821 FAIL 940: 'SMTP with username and password but no AUTH capability' SMTP FAIL 941: 'SMTP with --crlf' SMTP, --crlf FAIL 942: 'SMTP external authentication' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 943: 'SMTP external authentication without credentials' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 944: 'SMTP external authentication with initial response' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 945: 'SMTP external authentication with initial response without credentials' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 946: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 947: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 948: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 949: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 950: 'SMTP VRFY with custom request' SMTP, VRFY, --request FAIL 951: 'SMTP data with dot as first character' SMTP FAIL 952: 'SMTP data with single dot-only line' SMTP FAIL 953: 'SMTP plain authentication with alternative authorization identity' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 954: 'SMTP plain auth with alt authorization identity (Not authorized)' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 955: 'SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)' SMTP FAIL 956: 'SMTP without SMTPUTF8 support - UTF-8 based recipient (local part only)' SMTP FAIL 957: 'SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)' SMTP, VRFY FAIL 958: 'SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part only)' SMTP, VRFY FAIL 962: 'SMTP without SMTPUTF8 support - UTF-8 based sender (host part only)' SMTP, IDN FAIL 963: 'SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)' SMTP, IDN FAIL 964: 'SMTP external VRFY without SMTPUTF8 (IDN) - UTF-8 recipient (host part)' SMTP, VRFY, IDN FAIL 965: 'SMTP with SMTPUTF8 support - UTF-8 based sender' SMTP, IDN FAIL 966: 'SMTP with SMTPUTF8 support - UTF-8 based recipient' SMTP, IDN FAIL 967: 'SMTP external VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 968: 'SMTP VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 969: 'SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support' SMTP, EXPN, CUSTOMREQUEST, IDN FAIL 973: 'HTTP with auth redirected to FTP w/o auth' HTTP, FTP, --location FAIL 974: 'HTTP with auth redirected to HTTP on a diff port w/o auth' HTTP, HTTP proxy, --location FAIL 975: 'HTTP with auth redirected to FTP allowing auth to continue' HTTP, FTP, --location-trusted FAIL 976: 'HTTP with auth redirected to HTTP on a diff port --location-trusted' HTTP, HTTP proxy, --location-trusted FAIL 977: 'URL with trailing dot and receiving a cookie for the TLD with dot' HTTP, HTTP proxy, cookies FAIL 978: 'verify that --stderr works for -w's stderr as well' HTTP, --stderr FAIL 979: '-u with redirect to absolute URL using same origin and auth' HTTP, HTTP GET, HTTP Basic auth FAIL 980: 'SMTP STARTTLS pipelined server response' SMTP, STARTTLS FAIL 981: 'IMAP STARTTLS pipelined server response' IMAP, STARTTLS FAIL 982: 'POP3 STARTTLS pipelined server response' POP3, STARTTLS FAIL 983: 'FTP STARTTLS pipelined server response' FTP, STARTTLS FAIL 984: 'IMAP require STARTTLS with failing capabilities' IMAP, STARTTLS FAIL 985: 'POP3 require STARTTLS with failing capabilities' POP3, STARTTLS FAIL 986: 'FTP require STARTTLS while preauthenticated' FTP, STARTTLS FAIL 990: 'use -w %output{}' HTTP, HTTP GET, -w FAIL 991: 'use -w %output{} append' HTTP, HTTP GET, -w FAIL 992: 'SASL verify default mechanisms are reset by login options' SMTP, SASL, UPLOAD FAIL 993: 'POP3 LIST 1000 messages' POP3, Clear Text, LIST FAIL 994: '--skip-existing with globbing' HTTP, HTTP GET FAIL 995: '--skip-existing without file present' HTTP, HTTP GET FAIL 996: '--skip-existing with file present' HTTP, HTTP GET FAIL 997: 'POP3 retrieve STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST, RFC2449 FAIL 998: 'HTTP with auth in URL redirected to another host' HTTP, --location-trusted FAIL 999: 'HTTP with auth in first URL but not second' HTTP, --location-trusted FAIL 1000: 'FTP dir list PASV with -I' FTP, PASV, LIST, NOBODY FAIL 1001: 'HTTP POST --digest with PUT and resumed upload and modified method' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1002: 'HTTP PUT with Digest auth, resumed upload and modified method, twice' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 1003: 'FTP with excessively large server command response line' FTP, RETR, huge response FAIL 1004: 'HTTP GET with empty proxy' HTTP, HTTP GET, HTTP proxy FAIL 1005: 'FTP with excessively large number of server command response lines' FTP, RETR, huge response FAIL 1006: 'FTP with large number of command response lines (boundary condition)' FTP, RETR, huge response FAIL 1007: 'TFTP send with invalid permission on server' TFTP, TFTP WRQ, FAILURE FAIL 1008: 'HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, chunked Transfer-Encoding, NTLM FAIL 1009: 'TFTP retrieve with --local-port' TFTP, TFTP RRQ, --local-port FAIL 1010: 'FTP dir list nocwd' FTP, PASV, LIST FAIL 1011: 'HTTP POST with 301 redirect' HTTP, HTTP POST, followlocation FAIL 1012: 'HTTP POST with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1013: 'Compare curl --version with curl-config --protocols' curl-config FAIL 1014: 'Compare curl --version with curl-config --features' curl-config FAIL 1015: '--data-urlencode' HTTP, HTTP POST, --data-urlencode FAIL 1016: 'X-Y range on a file:// URL to stdout' FILE, Range FAIL 1017: '0-Y range on a file:// URL to stdout' FILE, Range FAIL 1018: 'X-X range on a file:// URL to stdout' FILE, Range FAIL 1019: 'X- range on a file:// URL to stdout' FILE, Range FAIL 1020: '-Y range on a file:// URL to stdout' FILE, Range FAIL 1021: 'HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy NTLM auth, --proxy-anyauth, NTLM FAIL 1022: 'Compare curl --version with curl-config --version' curl-config FAIL 1023: 'Compare curl --version with curl-config --vernum' curl-config FAIL 1024: 'HTTP Location: following with cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1025: 'HTTP Location: following with command-line and server cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1027: 'curl --help' --help FAIL 1028: 'HTTP Location: redirect to FTP URL' HTTP, HTTP GET, followlocation, FTP, PASV, FILE FAIL 1029: 'HTTP Location: and 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1030: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 1031: 'HTTP Location: following to a query string' HTTP, HTTP GET, followlocation FAIL 1032: 'HTTP HEAD with --range' HTTP, HTTP HEAD, Range FAIL 1033: 'HTTP GET with 102 response!' HTTP, HTTP GET FAIL 1034: 'HTTP over proxy with malformatted IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE, config file FAIL 1035: 'HTTP over proxy with too long IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE FAIL 1036: 'FTP download resume from end of file' FTP, PASV, RETR, Resume FAIL 1037: 'FTP download resume from end of empty file' FTP, PASV, RETR, Resume FAIL 1038: 'FTP PASV upload resume from end of file' FTP, EPSV, APPE, Resume FAIL 1039: 'FTP PASV upload resume from end of empty file' FTP, EPSV, APPE, Resume FAIL 1040: 'HTTP GET with resume from end of entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1041: 'HTTP PUT with resume from end of already-uploaded file' HTTP, HTTP PUT, Resume, Content-Range FAIL 1042: 'HTTP GET beyond end of entirely-downloaded file, no server resume' HTTP, HTTP GET, Resume, FAILURE FAIL 1043: 'HTTP GET with resume from end of file' HTTP, HTTP GET, Resume FAIL 1044: 'FTP download large file info with -I' FTP, NOBODY, Largefile FAIL 1045: 'HTTP GET with numeric localhost --interface' HTTP, HTTP GET, --interface FAIL 1046: 'HTTP-IPv6 GET with numeric localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1047: 'FTP dir list PASV with localhost --interface' FTP, PASV, LIST, --interface FAIL 1048: 'FTP-IPv6 dir list PASV with localhost --interface' FTP, FTP-ipv6, IPv6, PASV, LIST, --interface FAIL 1049: 'TFTP retrieve with localhost --interface' TFTP, TFTP RRQ, --interface FAIL 1050: 'FTP-IPv6 dir list, EPRT with specified IP' FTP, FTP-ipv6, IPv6, EPRT FAIL 1051: 'HTTP PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1052: 'HTTP 1.0 PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1053: 'HTTP RFC1867-type formposting from file with Location: following' HTTP, HTTP FORMPOST, HTTP file upload, followlocation FAIL 1054: 'HTTP POST from file with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1055: 'HTTP PUT Location: redirect to FTP URL' HTTP, HTTP PUT, followlocation, FTP, EPSV, STOR FAIL 1056: 'HTTP follow redirect from IPv4 to IPv6 with scope' HTTP, HTTP GET, followlocation, IPv6 FAIL 1057: 'FTP retrieve a byte-range relative to end of file' FTP, EPSV, RETR, Range FAIL 1058: 'HTTP range relative to end of file' HTTP, HTTP GET, Content-Range FAIL 1059: 'HTTP CONNECT with proxytunnel to unsupported FTP URL' HTTP, HTTP CONNECT, proxytunnel, FTP, FAILURE FAIL 1060: 'HTTP proxy CONNECT auth Digest, large headers and data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 1061: 'HTTP proxy CONNECT auth Digest, large headers and chunked data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, chunked Transfer-Encoding, proxytunnel, HTTP proxy Digest auth FAIL 1062: 'FTP with excessively long server command response lines, boundary condition' FTP, RETR, huge response FAIL 1063: 'Invalid large X- range on a file://' FILE, Range, FAILURE FAIL 1064: 'HTTP PUT twice' HTTP, HTTP PUT FAIL 1065: 'HTTP PUT with one file but two URLs' HTTP, HTTP PUT, HTTP GET FAIL 1066: 'HTTP --dump-header - with two URLs' HTTP, HTTP GET FAIL 1067: 'HTTP Location: following with auto-referer' HTTP, HTTP GET, followlocation FAIL 1068: 'HTTP PUT from stdin' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1069: 'HTTP 1.0 PUT from stdin with no content length' HTTP, HTTP PUT, HTTP/1.0 FAIL 1070: 'HTTP POST with server closing connection before (all) data is received' HTTP, HTTP POST FAIL 1071: 'Downgraded HTTP PUT to HTTP 1.0 with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0 FAIL 1072: 'HTTP chunked PUT to HTTP 1.0 server with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0, chunked Transfer-Encoding FAIL 1073: 'HTTP chunked PUT to HTTP 1.0 server with redirect' HTTP, HTTP PUT, HTTP/1.0, followlocation, chunked Transfer-Encoding FAIL 1074: 'HTTP downgrade to HTTP/1.0 on second request' HTTP, HTTP GET, HTTP/1.0, DELAY FAIL 1075: 'HTTP PUT with --anyauth authorization (picking Basic)' HTTP, HTTP PUT, HTTP Basic auth, --anyauth FAIL 1076: 'HTTP POST with 302 redirect and --post302' HTTP, HTTP POST, followlocation FAIL 1077: 'FTP over HTTP proxy with downgrade to HTTP 1.0' FTP, HTTP, HTTP/1.0, HTTP GET, HTTP proxy FAIL 1078: 'HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0' HTTP, HTTP/1.0, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1079: 'HTTP retry after closed connection and empty response' HTTP, HTTP GET, HTTP Digest auth FAIL 1080: 'HTTP Location: on two URLs 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1081: 'HTTP no Location: on second URL 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1082: 'HTTP GET with localhost --interface' HTTP, HTTP GET, --interface FAIL 1083: 'HTTP-IPv6 GET with ip6-localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1084: 'HTTP GET with invalid --interface' HTTP, HTTP GET, --interface, FAILURE, non-existing host FAIL 1085: 'HTTP-IPv6 GET with invalid --interface' HTTP, HTTP GET, --interface, IPv6, FAILURE, non-existing host FAIL 1087: 'HTTP, proxy with --anyauth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth FAIL 1088: 'HTTP, proxy with --anyauth and Location: to new host using location-trusted' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth, --location-trusted FAIL 1089: 'HTTP GET --write-out with redirected fetch' HTTP, HTTP GET, followlocation, --write-out FAIL 1090: 'HTTP GET --write-out with redirected fetch and chunked reply' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 1091: 'FTP URL with type=i' FTP, RETR, type= FAIL 1092: 'FTP with type=i over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy, type= FAIL 1093: 'TFTP retrieve with mode=octet' TFTP, TFTP RRQ, mode= FAIL 1094: 'TFTP retrieve with mode=netascii' TFTP, TFTP RRQ, mode= FAIL 1095: 'HTTP with Digest and realm with quoted quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 1096: 'Two FTP downloads, with failed RETR but reused control connection' FTP, PASV, RETR, FAILURE FAIL 1098: 'FTP RETR twice over proxy confirming persistent connection' FTP, HTTP proxy, CURLOPT_PROXY FAIL 1099: 'TFTP get first a non-existing file then an existing' TFTP, TFTP RRQ, FAILURE FAIL 1101: 'NO_PROXY test, with username in URL' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, http_proxy, NO_PROXY FAIL 1102: 'FTP OS/400 server name format check' FTP, SYST, SITE, OS400 FAIL 1103: 'FTP non-OS/400 server' FTP, SYST, SITE, OS400 FAIL 1104: 'HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1105: 'HTTP with cookie parser and header recording' HTTP, HTTP POST, cookies, cookiejar FAIL 1106: 'FTP URL and with ftp_proxy environment variable set' FTP, CURLOPT_PORT, HTTP proxy FAIL 1107: 'FTP RETR PASV with PRET' FTP, PASV, RETR, PRET FAIL 1108: 'FTP RETR PASV with PRET not supported' FTP, PASV, RETR, PRET FAIL 1109: 'HTTP GET with URL that contains fragment after the path' HTTP, CURLOPT_URL FAIL 1110: 'HTTP GET with URL that contains a fragment after the query part' HTTP, CURLOPT_URL FAIL 1111: 'HTTP GET with URL whose fragment contains a # (which is illegal)' HTTP, CURLOPT_URL FAIL 1114: 'FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)' FTP, wildcardmatch, ftplistparser FAIL 1115: 'HTTP GET with unexpected 1xx response' HTTP, HTTP 1xx response code FAIL 1116: 'HTTP GET with chunked trailer without Trailer:' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1117: 'HTTP with invalid range then another URL' HTTP, HTTP GET, Range, DELAY FAIL 1118: 'URL without slash and @-letter in query' HTTP, HTTP GET FAIL 1120: 'FTP with 421 timeout response' FTP, PORT, RETR, 421, timeout, FAILURE FAIL 1121: 'HTTP multiple provided Host: headers' HTTP FAIL 1122: 'HTTP GET gzip transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1123: 'HTTP GET deflate transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1124: 'HTTP GET gzip+chunked transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding, chunked Transfer-Encoding FAIL 1125: 'HTTP GET transfer-encoding with custom Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1126: 'HTTP 200 If-Modified-Since with newer document' HTTP, HTTP GET, If-Modified-Since FAIL 1127: 'HTTP 200 If-Modified-Since with older document' HTTP, HTTP GET, If-Modified-Since FAIL 1128: 'HTTP 200 If-Modified-Since with old+new documents' HTTP, HTTP GET, If-Modified-Since FAIL 1129: 'HTTP POST expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1130: 'HTTP POST forced expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1131: 'HTTP PUT expect 100-continue with a 400' HTTP, HTTP PUT, Expect: 100-continue FAIL 1132: 'MQTT CONNACK with bad Remaining Length' MQTT, MQTT CONNACK FAIL 1133: 'HTTP RFC1867-type formposting with filename/data contains ',', ';', '"'' HTTP, HTTP FORMPOST FAIL 1134: 'HTTP connection reuse with different credentials' HTTP, HTTP HEAD, -G FAIL 1136: 'Check cookies against PSL' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, PSL FAIL 1137: 'FTP RETR --ignore-content-length' FTP, PASV, RETR, --ignore-content-length FAIL 1138: 'HTTP redirect with UTF-8 characters' HTTP, HTTP GET, followlocation FAIL 1141: 'HTTP redirect to http:/// (three slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1142: 'HTTP redirect to http://// (four slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1143: 'HTTP URL with http:/ (one slash!)' HTTP, HTTP GET, followlocation FAIL 1144: 'HTTP HEAD, receive no headers only body' HTTP, HTTP HEAD, HTTP/0.9 FAIL 1145: 'file:// bad host' FILE FAIL 1146: '--proto-default file' FILE, --proto-default FAIL 1147: 'Get -H headers from a file' HTTP, HTTP GET, -H FAIL 1148: 'progress-bar' HTTP, progressbar FAIL 1149: 'FTP dir list multicwd then again nocwd' FTP, PASV, LIST FAIL 1150: 'HTTP proxy with URLs using different ports' HTTP, HTTP GET, HTTP proxy FAIL 1151: 'HTTP with too long cookies' HTTP, HTTP GET, cookies FAIL 1152: 'FTP with uneven quote in PWD response' FTP, PASV, LIST FAIL 1153: 'FTP with quoted double quotes' FTP, PASV, LIST FAIL 1154: 'HTTP GET with 100K (too long) response header' HTTP, HTTP GET FAIL 1155: 'HTTP cookie with parameter word as name' HTTP, HTTP GET, cookies FAIL 1156: 'HTTP resume/range fail range-error content-range combinations' HTTP, HTTP GET, Content-Range, Resume, Range FAIL 1157: 'Get -H headers from empty file' HTTP, HTTP GET, -H FAIL 1158: 'HTTP RFC1867-type formposting with filename containing '"'' HTTP, HTTP FORMPOST FAIL 1159: 'HTTP Location: and 'redirect_url' with non-supported scheme' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1160: 'HTTP with long funny format cookie' HTTP, HTTP GET, cookies FAIL 1161: 'HTTP cookie with path set twice' HTTP, HTTP GET, cookies FAIL 1164: 'HTTP/0.9 GET and all zeroes' HTTP, HTTP GET FAIL 1166: 'HTTP response with cookies but not receiving!' HTTP, HTTP GET, followlocation, cookies FAIL 1168: 'HTTP redirect with credentials using # in user and password' HTTP, HTTP GET, followlocation FAIL 1170: 'HTTP GET transfer-encoding with removed Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1171: 'HTTP GET transfer-encoding with blanked Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1172: 'HTTP/0.9 GET response denied' HTTP, HTTP/0.9 FAIL 1174: 'HTTP/0.9 GET response denied by default' HTTP, HTTP/0.9 FAIL 1176: '--output using #0' globbing FAIL 1178: 'HTTP proxy auth with credentials longer than 256 bytes' HTTP, HTTP GET, HTTP proxy FAIL 1180: 'HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"' HTTP, HTTP proxy FAIL 1181: 'HTTP GET request with proxy and "Proxy-Connection: Keep-Alive"' HTTP, HTTP proxy FAIL 1183: '%TESTNUMBER used instead of actual test number' HTTP, HTTP GET FAIL 1186: 'Multipart formposting with backslash-escaping filename containing '"'' HTTP, HTTP FORMPOST FAIL 1187: 'SMTP multipart with filename escaping' SMTP, MULTIPART FAIL 1188: '--write-out with %{onerror} and %{urlnum} to stderr' HTTP, HTTP GET, --write-out FAIL 1189: 'Multipart formposting with backslash-escaping of name= and filename=' HTTP, HTTP FORMPOST FAIL 1190: 'MQTT SUBSCRIBE' MQTT, MQTT SUBSCRIBE FAIL 1191: 'MQTT PUBLISH' MQTT, MQTT PUBLISH FAIL 1192: 'MQTT SUBSCRIBE 2k topic' MQTT, MQTT SUBSCRIBE FAIL 1193: 'MQTT PUBLISH 2k payload' MQTT, MQTT PUBLISH FAIL 1194: 'MQTT SUBSCRIBE with PUBLISH before SUBACK' MQTT, MQTT SUBSCRIBE FAIL 1195: 'MQTT SUBSCRIBE with short PUBLISH' MQTT, MQTT SUBSCRIBE FAIL 1196: 'MQTT with error in CONNACK' MQTT, MQTT SUBSCRIBE FAIL 1197: 'HTTP POST redirected to GET and --write-out method' HTTP, HTTP GET, followlocation, --write-out FAIL 1198: 'MQTT PUBLISH empty payload, single space topic' MQTT, MQTT SUBSCRIBE FAIL 1199: 'MQTT PUBLISH empty payload, no topic' MQTT, MQTT SUBSCRIBE FAIL 1200: 'Gopher index' GOPHER, INDEX FAIL 1201: 'Gopher selector' GOPHER, SELECTOR FAIL 1202: 'Gopher query' GOPHER, QUERY FAIL 1203: 'Gopher IPv6 index' GOPHER-ipv6, IPv6, INDEX FAIL 1204: 'HTTP with WWW-Authenticate and multiple auths in a single line' HTTP, HTTP GET, HTTP Basic auth, --anyauth FAIL 1205: 'HTTP GET with 18K HTTP header' HTTP, HTTP GET FAIL 1206: 'FTP PORT and 425 on download' FTP, PORT, RETR, NODATACONN425 FAIL 1207: 'FTP PORT and 421 on download' FTP, PORT, RETR, NODATACONN421 FAIL 1210: 'HTTP GET with -J without Content-Disposition' HTTP, HTTP GET, -J FAIL 1212: 'noproxy setting together with socks proxy' HTTP, SOCKS5, NO_PROXY, noproxy FAIL 1213: 'HTTP with proxy and host-only URL' HTTP, HTTP GET, HTTP proxy FAIL 1214: 'HTTP with proxy and URL with ? and no slash separator' HTTP, HTTP GET, HTTP proxy FAIL 1215: 'HTTP with server NTLM authorization using a proxy' HTTP, HTTP GET, HTTP NTLM auth, HTTP proxy, NTLM FAIL 1216: 'HTTP cookie domains tailmatching the hostname' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1217: 'FTP with rubbish before name in 257-response' FTP, PORT, NLST, --data-binary FAIL 1218: 'HTTP cookies and domains with same prefix' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1219: 'FTP with no user+password required (230 response)' FTP, PASV, RETR FAIL 1220: 'file:// URLs with query string' FILE, URL FAIL 1221: '--url-query with --data-urlencode' HTTP, HTTP POST, --data-urlencode, --url-query FAIL 1223: 'HTTP GET -w remote_ip and -w remote_port' HTTP, HTTP GET FAIL 1224: 'FTP fetch a file from the root directory' FTP, PASV, RETR FAIL 1225: 'FTP fetch two files using absolute paths' FTP, PASV, RETR FAIL 1226: 'FTP fetch a file from the root directory with singlecwd' FTP, PASV, RETR FAIL 1227: 'FTP fetch a file from the root directory with nocwd' FTP, PASV, RETR FAIL 1228: 'HTTP cookie path match' HTTP, HTTP GET, HTTP proxy, cookies, cookie path FAIL 1229: 'HTTP with Digest authorization with username needing escape' HTTP, HTTP GET, HTTP Digest auth FAIL 1230: 'HTTP CONNECT to IPv6 numerical address' HTTP, HTTP CONNECT, HTTP proxy, IPv6 FAIL 1231: 'HTTP URL with dotdot removal from path' HTTP, HTTP GET, dotdot removal FAIL 1232: 'HTTP URL with dotdot removal from path using an HTTP proxy' HTTP, HTTP GET, HTTP proxy, dotdot removal FAIL 1233: 'FTP failing to connect to EPSV port, switching to PASV' FTP, connect to non-listen FAIL 1234: 'abusing {}-globbing' globbing, {} list, FAILURE FAIL 1235: 'multiple requests using {}{} in the URL' HTTP, HTTP GET, globbing, {} list FAIL 1236: '[] globbing overflowing the range counter' globbing, FAILURE FAIL 1237: 'URL with 1000+ letter username + password' HTTP, HTTP Basic auth FAIL 1238: 'slow TFTP retrieve cancel due to -Y and -y' TFTP, TFTP RRQ, timeout, FAILURE, DELAY FAIL 1239: 'HTTP with -z + -w response_code and simulated 304' HTTP, HTTP GET, -z FAIL 1240: 'glob [0-1] with stuff after range (7.33.0 regression)' globbing, HTTP FAIL 1241: 'HTTP _without_ dotdot removal' HTTP, HTTP GET, HTTP proxy FAIL 1242: 'TFTP retrieve without TFTP options requests' TFTP, TFTP RRQ FAIL 1243: 'TFTP send without TFTP options requests' TFTP, TFTP WRQ FAIL 1245: '--proto deny must override --proto-redir allow' FTP, HTTP, HTTP GET, --proto, --proto-redir, followlocation FAIL 1246: 'URL with '#' at end of hostname instead of '/'' HTTP, HTTP GET, HTTP proxy FAIL 1247: '--fail-early' HTTP, --fail-early FAIL 1248: 'Non-proxied host plus --proxy option and --noproxy option' HTTP, HTTP proxy, noproxy FAIL 1249: 'Non-proxied plus --proxy option and NO_PROXY env var' HTTP, HTTP proxy, NO_PROXY FAIL 1250: 'Non-proxied host plus http_proxy env var and --noproxy option' HTTP, HTTP proxy, http_proxy, noproxy FAIL 1251: 'Non-proxied host plus http_proxy env var and NO_PROXY env var' HTTP, HTTP proxy, http_proxy, NO_PROXY FAIL 1252: '--proxy, override NO_PROXY by --noproxy and access target URL directly' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1253: '--proxy, override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1254: 'override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1255: 'http_proxy, override NO_PROXY by --noproxy and access target URL directly' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1256: 'http_proxy, override NO_PROXY by --noproxy and target URL through proxy' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1257: 'http_proxy, override NO_PROXY by --noproxy and target URL through proxy' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1258: 'HTTP, use cookies with localhost' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 1259: 'HTTP URL with semicolon in password' HTTP, HTTP GET FAIL 1260: 'HTTP URL with rubbish after port number' HTTP, HTTP GET FAIL 1261: ''redirect_url' with --location and --max-redirs' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1262: 'FTP request and denied to download an older file with -z' FTP, RETR, -z FAIL 1263: 'HTTP URL with rubbish after IPv6 bracket' HTTP, HTTP GET FAIL 1264: 'HTTP URL with space in hostname' HTTP, HTTP GET FAIL 1265: 'NO_PROXY with IPv6 numerical address' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy, IPv6 FAIL 1266: 'HTTP GET with a single-byte HTTP/0.9 response' HTTP/0.9 FAIL 1267: 'HTTP GET with an invalid HTTP/1 response line start' HTTP/0.9 FAIL 1268: 'filename argument looks like a flag' warning FAIL 1269: 'too large --retry-delay value' --retry-delay FAIL 1270: 'Basic 'redirect_url'' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1271: '--write-out from file with empty file' HTTP, HTTP GET, --write-out FAIL 1273: '-f and resume transfer of an entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1274: 'HTTP header line folding' HTTP, HTTP GET, header line folding FAIL 1277: 'HTTP GET with both content and transfer encoding' HTTP, HTTP GET, compressed, Transfer-Encoding, Content-Encoding FAIL 1278: 'verify extra --no-remote-name' --no-remote-name FAIL 1280: 'simple [a-d] globbing' globbing FAIL 1281: 'reject non-numerical port number in URL' URL FAIL 1282: 'FTP with 633 response to auth' FTP, PASV, RETR FAIL 1283: 'globbing range with same start and stop' HTTP, HTTP GET, globbing, [] range FAIL 1284: 'HTTP POST --digest with user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 1285: 'HTTP PUT --digest with user-specified Content-Length header' HTTP, HTTP PUT, HTTP Digest auth FAIL 1286: 'HTTP GET --digest increasing nonce-count' HTTP, HTTP GET, HTTP Digest auth, followlocation FAIL 1287: 'HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses' HTTP, HTTP GET, HTTP CONNECT, proxytunnel, verbose logs FAIL 1288: 'Suppress proxy CONNECT response headers' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1289: 'globbing with overflow and bad syntax' HTTP, HTTP GET, globbing FAIL 1290: 'Verify URL globbing ignores []' HTTP, HTTP GET, globbing FAIL 1291: 'Attempt to upload 1000 files but fail immediately' HTTP, HTTP PUT FAIL 1292: 'Replaced internal headers with a blank one' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 1293: 'Multipart formpost to two URLs, the first failing' HTTP, HTTP GET, -F FAIL 1296: 'HTTP URL with %0a in name part' HTTP, HTTP Basic FAIL 1297: 'CONNECT to peer that returns nothing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1298: 'HTTP GET special path with --request-target' HTTP, HTTP GET, --request-target FAIL 1299: 'Send "OPTIONS *" with --request-target' HTTP, --request-target FAIL 1300: 'llist unit tests' unittest, llist FAIL 1302: 'base64 encode/decode unit tests' unittest, base64 FAIL 1303: 'Curl_timeleft_ms unit tests' unittest, Curl_timeleft_ms FAIL 1308: 'formpost tests' curl_formadd, curl_formget, FORM FAIL 1309: 'splay unit tests' unittest, splay FAIL 1310: 'HTTP GET with -J + --show-headers' HTTP, HTTP GET, -J, --show-headers FAIL 1311: 'HTTP GET with -J and Content-Disposition' HTTP, HTTP GET, -J FAIL 1312: 'HTTP GET with -J, Content-Disposition and ; in filename' HTTP, HTTP GET, -J FAIL 1313: 'HTTP GET with -J, Content-Disposition, uneven quotes' HTTP, HTTP GET, -J FAIL 1314: 'HTTP Location: following a // prefixed url' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1315: 'HTTP RFC1867-type formposting - -F with three files, one with explicit type' HTTP, HTTP FORMPOST, HTTP file upload FAIL 1317: 'HTTP with --resolve' HTTP, HTTP GET, --resolve FAIL 1318: 'HTTP with --resolve and same hostname using different cases' HTTP, HTTP GET, --resolve FAIL 1319: 'POP3 fetch tunneled through HTTP proxy' POP3, RETR, HTTP, HTTP CONNECT, HTTP proxy FAIL 1320: 'SMTP send tunneled through HTTP proxy' SMTP, HTTP, HTTP CONNECT, HTTP proxy FAIL 1321: 'IMAP FETCH tunneled through HTTP proxy' IMAP, FETCH, HTTP, HTTP CONNECT, HTTP proxy FAIL 1322: 'HTTP with --resolve and hostname with trailing dot' HTTP, HTTP GET, --resolve, trailing-dot FAIL 1324: 'HTTP with --resolve and [ipv6address]' HTTP, HTTP GET, IPv6, --resolve FAIL 1325: 'HTTP 308-redirect with POST' HTTP, HTTP GET, 308, followlocation FAIL 1326: 'TELNET to HTTP server' TELNET, UPLOAD FAIL 1327: 'TELNET check of upload with stdout redirected' TELNET, UPLOAD FAIL 1328: 'HTTP GET a globbed range with -f' HTTP, HTTP GET, globbing, --fail FAIL 1329: '/-prefixed proxy name' HTTP proxy FAIL 1331: 'HTTP --proxy-anyauth and 407 with cookies' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1332: 'HTTP POST with 303 redirect and --post303' HTTP, HTTP POST, followlocation FAIL 1333: 'HTTP POST zero length, chunked-encoded' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1334: 'HTTP GET with -O without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1335: 'HTTP GET with -O without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1336: 'HTTP GET with -O and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1337: 'HTTP GET with -O and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1338: 'HTTP GET with -O -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1339: 'HTTP GET with -O -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1340: 'HTTP GET with -O -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1341: 'HTTP GET with -O -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1342: 'HTTP GET with -O -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1343: 'HTTP GET with -O -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1344: 'HTTP GET with -O -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1345: 'HTTP GET with -O -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1346: 'HTTP GET with -O -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1347: 'HTTP GET with -O -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1348: 'FTP download, file without Content-Disposition inside, using -O' FTP, RETR FAIL 1349: 'FTP download, file without C-D inside, using -O -D file' FTP, RETR FAIL 1350: 'FTP download, file without C-D inside, using -O -D stdout' FTP, RETR FAIL 1351: 'FTP download, file without C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1352: 'FTP download, file without C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1353: 'FTP download, file without C-D inside, using -O -i -D file' FTP, RETR FAIL 1354: 'FTP download, file without C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1355: 'FTP download, file without C-D inside, using -O -i, without -D' FTP, RETR FAIL 1356: 'FTP download, file with Content-Disposition inside, using -O' FTP, RETR FAIL 1357: 'FTP download, file with C-D inside, using -O -D file' FTP, RETR FAIL 1358: 'FTP download, file with C-D inside, using -O -D stdout' FTP, RETR FAIL 1359: 'FTP download, file with C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1360: 'FTP download, file with C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1361: 'FTP download, file with C-D inside, using -O -i -D file' FTP, RETR FAIL 1362: 'FTP download, file with C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1363: 'FTP download, file with C-D inside, using -O -i, without -D' FTP, RETR FAIL 1364: 'HTTP GET -o fname without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1365: 'HTTP GET -o fname without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1366: 'HTTP GET -o fname and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1367: 'HTTP GET -o fname and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1368: 'HTTP GET -o fname -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1369: 'HTTP GET -o fname -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1370: 'HTTP GET -o fname -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1371: 'HTTP GET -o fname -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1372: 'HTTP GET -o fname -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1373: 'HTTP GET -o fname -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1374: 'HTTP GET -o fname -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1375: 'HTTP GET -o fname -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1376: 'HTTP GET -o fname -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1377: 'HTTP GET -o fname -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1378: 'FTP DL, file without Content-Disposition inside, using -o fname' FTP, RETR FAIL 1379: 'FTP DL, file without C-D inside, using -o fname -D file' FTP, RETR FAIL 1380: 'FTP DL, file without C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1381: 'FTP DL, file without C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1382: 'FTP DL, file without C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1383: 'FTP DL, file without C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1384: 'FTP DL, file without C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1385: 'FTP DL, file without C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1386: 'FTP DL, file with Content-Disposition inside, using -o fname' FTP, RETR FAIL 1387: 'FTP DL, file with C-D inside, using -o fname -D file' FTP, RETR FAIL 1388: 'FTP DL, file with C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1389: 'FTP DL, file with C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1390: 'FTP DL, file with C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1391: 'FTP DL, file with C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1392: 'FTP DL, file with C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1393: 'FTP DL, file with C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1396: 'curl_easy_escape and curl_easy_unescape' unittest, curl_easy_escape, curl_easy_unescape FAIL 1398: 'curl_msnprintf unit tests' unittest, curl_msnprintf FAIL 1400: '--libcurl for simple HTTP GET' HTTP, HTTP GET, --libcurl FAIL 1401: '--libcurl for GET with various options' HTTP, HTTP GET, HTTP Basic auth, HTTP set cookie, cookies, --libcurl FAIL 1402: '--libcurl for simple POST' HTTP, HTTP POST, --libcurl FAIL 1403: '--libcurl for GET with query' HTTP, HTTP GET, --libcurl FAIL 1404: '--libcurl plus -F with 3 files, one with explicit type and encoder' HTTP, HTTP FORMPOST, HTTP file upload, --libcurl FAIL 1405: '--libcurl for FTP with quote ops' FTP, post-quote, pre-quote, --libcurl FAIL 1406: '--libcurl for SMTP' SMTP, --libcurl FAIL 1407: '--libcurl for POP3 LIST one message' POP3, Clear Text, LIST, --libcurl FAIL 1408: 'HTTP receive cookies over IPV6' HTTP, HTTP GET, IPv6, cookies, cookiejar FAIL 1409: 'Pass in string to -C' cmdline, FAILURE FAIL 1410: 'Pass in negative number to --max-time' cmdline, FAILURE FAIL 1411: 'HTTP with zero size file PUT' HTTP, HTTP PUT FAIL 1412: 'HTTP GET with --anyauth with two URLs (picking Digest)' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 1413: 'HTTP redirect with fragment in new URL' HTTP, HTTP GET, followlocation FAIL 1414: 'FTP PORT without SIZE or EPRT support' FTP, PORT, RETR, no SIZE FAIL 1415: 'Delete expired cookies' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, delete expired cookie FAIL 1416: 'HTTP GET with chunked Transfer-Encoding overflowed chunked size' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1417: 'HTTP GET with chunked encoding and chunked trailer without CRs' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1418: 'HTTP with --anyauth and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1419: 'HTTP with --anyauth (but no auth!) and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1420: '--libcurl for IMAP FETCH message' IMAP, Clear Text, FETCH, --libcurl FAIL 1421: 'Reusing HTTP proxy connection for two different hostnames' HTTP, HTTP GET, HTTP proxy FAIL 1422: 'HTTP GET with -O -J and Content-Disposition (empty file)' HTTP, HTTP GET, -J FAIL 1423: 'HTTP GET -o fname without Content-Disposition (empty file)' HTTP, HTTP GET FAIL 1424: 'HTTP GET -o fname without Content-Disposition (unmet time condition)' HTTP, HTTP GET, If-Modified-Since, -z FAIL 1427: 'too large -m timeout value' integer overflow FAIL 1428: 'HTTP over proxy-tunnel with --proxy-header and --header' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 1429: 'HTTP GET with 999 response code' HTTP, HTTP GET, HTTP/0.9 FAIL 1430: 'HTTP GET with negative response code' HTTP, HTTP GET FAIL 1431: 'HTTP GET with single-digit response code' HTTP, HTTP GET FAIL 1432: 'HTTP GET with 100-digit response code and survive' HTTP, HTTP GET FAIL 1433: 'HTTP GET with 100-digit subversion number in response' HTTP, HTTP GET FAIL 1434: 'HTTP GET resume at exactly the existing file size is fine' HTTP, HTTP GET, Resume FAIL 1435: 'simple HTTP GET over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1436: 'HTTP requests with multiple connections over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1437: 'HTTP with duplicated WWW-Authenticate parameters' HTTP, HTTP GET, HTTP Digest auth FAIL 1438: 'Check if %{scheme} returns HTTP' HTTP, protocol, --write-out FAIL 1439: 'Check if %{http_version} returns 1.1' HTTP, --write-out FAIL 1440: 'Check --write-out with trailing %{' --write-out, FILE FAIL 1441: 'Check --write-out with trailing %' --write-out, FILE FAIL 1442: 'Check --write-out with trailing \' --write-out, FILE FAIL 1443: 'HTTP GET with -O and --remote-time' HTTP, HTTP GET, -O, --remote-time FAIL 1444: 'FTP with --remote-time' FTP, EPSV, RETR, --remote-time FAIL 1445: 'file:// with --remote-time' FILE, --remote-time FAIL 1447: 'Provide illegal proxy name' HTTP proxy, FAILURE FAIL 1448: 'Redirect following to UTF-8 IDN hostname' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 1449: 'FTP download range with integer overflow' FTP, PASV, RETR, Resume FAIL 1453: 'Too long tftp filename' Too long tftp filename, FAILURE FAIL 1455: 'HTTP GET when PROXY Protocol enabled' HTTP, HTTP GET, proxy, haproxy FAIL 1456: 'HTTP-IPv6 GET with PROXY protocol' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 1457: 'Check if %{stderr} and %{stdout} switch between stdout and stderr.' HTTP, protocol, --write-out FAIL 1458: 'HTTP with wildcard --resolve' HTTP, HTTP GET, --resolve FAIL 1460: 'HTTP GET with -Ji and Content-Disposition with existing file' HTTP, HTTP GET, -J FAIL 1462: 'curl invalid category --help' --help FAIL 1463: 'curl file category --help' FILE, --help FAIL 1464: 'curl file category --help with lower/upper mix' FILE, --help FAIL 1465: '--libcurl for POST with binary content' HTTP, HTTP POST, --libcurl FAIL 1466: 'HTTP GET with 3-digit response and only digits in reason' HTTP, HTTP GET FAIL 1467: 'HTTP GET via SOCKS5 proxy via Unix sockets' HTTP, HTTP GET, SOCKS5, UnixSockets FAIL 1468: 'HTTP GET with hostname using SOCKS5h via Unix sockets' HTTP, HTTP GET, SOCKS5, SOCKS5h, UnixSockets FAIL 1469: 'Space in FTP upload URL' FTP, URL, FAILURE FAIL 1471: 'Fail to resolve .onion TLD' Onion, Tor, FAILURE FAIL 1472: 'Fail to resolve .onion. TLD' Onion, Tor, FAILURE FAIL 1473: 'first HTTP header starts with white space' HTTP, HTTP GET, header line folding FAIL 1474: '--proto -all disables all protocols' HTTP, HTTP GET, --proto FAIL 1475: '-f and 416 with Content-Range: */size' HTTP, HTTP GET, Resume FAIL 1476: 'PSL violating cookie with mixed case domain and cookie domain property' HTTP, HTTP GET, cookies FAIL 1479: 'HTTP/1.1 response followed by an HTTP/0.9 response over the same connection' HTTP, HTTP/0.9 FAIL 1480: 'HTTP Continue response without final response' HTTP FAIL 1481: '--libcurl with TLS version options' HTTP, HTTP GET, --libcurl FAIL 1482: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1483: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1484: 'HTTP HEAD with response body to ignore' HTTP, HTTP HEAD FAIL 1485: 'get curlinfo on last header in callback' HTTP, HTTP GET FAIL 1487: 'HTTP GET with -J and Content-Disposition on 301' HTTP, HTTP GET, -J FAIL 1489: '-D sent to stderr' HTTP, HTTP GET FAIL 1490: '"upload" with file:// overwriting existing' FILE FAIL 1491: 'file:// do not overwrite self with --skip-existing' FILE FAIL 1492: 'HTTP GET with -J + --show-headers but no Content-Disposition:' HTTP, HTTP GET, -J, --show-headers FAIL 1493: 'HTTP GET with identity + chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1494: 'HTTP GET with identity twice in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1495: 'HTTP GET with chunked + identity in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1496: 'HTTP GET with gzip + chunked transfer-encoding without being asked' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1497: 'HTTP GET --retry on 503 error with output to /dev/null' HTTP, HTTP GET, retry FAIL 1498: 'HTTP PUT from stdin using period' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1499: 'HTTP chunked encoding and chunked trailer, twice' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1500: 'curl_multi_wait' HTTP, HTTP GET, multi FAIL 1501: 'FTP with multi interface and slow LIST response' FTP, RETR, multi, LIST, DELAY FAIL 1502: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1503: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1504: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1505: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE FAIL 1506: 'HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)' HTTP, multi, verbose logs FAIL 1507: 'SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK' SMTP, multi FAIL 1508: 'Close a multi handle without using it' HTTP, multi FAIL 1509: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1511: 'HTTP GET time conditions in repeated requests' HTTP, CURLOPT_TIMECONDITION FAIL 1513: 'return failure immediately from progress callback' PROGRESSFUNCTION, DELAY FAIL 1514: 'HTTP POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1515: 'caching of manual libcurl DNS entries after DNS cache timeout' HTTP, multi, FAILURE, resolve FAIL 1516: 'caching of manual libcurl DNS entries after dead connection' HTTP, multi, FAILURE, resolve FAIL 1517: 'HTTP POST, server responds before completed send' HTTP, POST, POST callback, slow callback, early response FAIL 1518: 'Extract Location: with broken URL' HTTP FAIL 1519: 'Extract Location: with broken absolute URL' HTTP FAIL 1520: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 1521: 'Test all curl_easy_setopt and curl_easy_getinfo options' curl_easy_setopt FAIL 1522: 'CURLINFO_SIZE_UPLOAD with small SO_SNDBUF' CURLINFO_SIZE_UPLOAD FAIL 1523: 'CURLINFO_LOW_SPEED_LIMIT' CURLINFO_LOW_SPEED_LIMIT, DELAY FAIL 1524: 'HTTP PUT with 303 redirect' HTTP, HTTP PUT, followlocation FAIL 1525: 'CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1526: 'CURLOPT_PROXYHEADER: separate host/proxy headers' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER FAIL 1527: 'Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1528: 'Separately specified proxy/server headers sent in a proxy GET' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1529: 'HTTP request-injection in URL sent over proxy' HTTP, HTTP GET, HTTP proxy FAIL 1530: 'CURLOPT_OPENSOCKETFUNCTION returns bad socket' CURLOPT_OPENSOCKETFUNCTION FAIL 1531: 'CURLOPT_POSTFIELDS with binary data set after multi_add_handle' CURLOPT_POSTFIELDS FAIL 1532: 'Test CURLINFO_RESPONSE_CODE' HTTP, HTTP GET FAIL 1533: 'HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response' HTTP, HTTP POST, CURLOPT_KEEP_SENDING_ON_ERROR FAIL 1534: 'CURLINFO_FILETIME init and reset' HTTP, HTTP GET, CURLINFO_FILETIME FAIL 1535: 'Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL' HTTP, HTTP GET FAIL 1536: 'Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME' HTTP, HTTP GET FAIL 1539: 'HTTP 1.0 POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding FAIL 1540: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, CURLPAUSE_RECV, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1541: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, chunked Transfer-Encoding, Trailer:, DELAY FAIL 1542: 'connection reuse with CURLOPT_MAXLIFETIME_CONN' HTTP, connection reuse, persistent connection, CURLOPT_MAXLIFETIME_CONN, verbose logs FAIL 1543: 'CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL' HTTP, CURLOPT_CURLU FAIL 1545: 'use curl_formadd() data twice with unreadable file' HTTP, HTTP GET FAIL 1546: 'HTTP transfer-encoding wrong order' HTTP, HTTP GET, Transfer-Encoding FAIL 1547: 'FTP dir list PASV overriding PORT' FTP, PASV, LIST FAIL 1548: 'TELNET read stdin without upload file' TELNET FAIL 1549: 'Receive expired cookies and CURLINFO_COOKIELIST' HTTP, cookies FAIL 1550: 'verify setting pipelining blocklisting options' multi FAIL 1551: 're-run redirected transfer without setting URL again' multi FAIL 1552: 'IMAP multi transfer error without curl_multi_remove_handle' IMAP, Clear Text, FETCH FAIL 1553: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1554: 'HTTP with shared connection cache' HTTP, HTTP GET, shared connections FAIL 1555: 'verify api is protected against calls from callbacks' RECURSIVE_API_CALL, DELAY FAIL 1556: 'send long HTTP headers to header callback' HTTP, HTTP GET FAIL 1557: 'Remove easy handle in pending connections does not leave dangling entry' multi, crash FAIL 1558: 'CURLINFO_PROTOCOL for file:// transfer' curl_easy_getinfo, CURLINFO_PROTOCOL FAIL 1559: 'Set excessive URL lengths' CURLOPT_URL, verbose logs FAIL 1563: 'Make sure redirects to CURLPROTO_GOPHER are forbidden by default' GOPHER, HTTP GET, followlocation FAIL 1564: 'wakeup before poll with no easy handles' multi, wakeup FAIL 1565: 'wakeup from another thread' HTTP, HTTP GET, multi, multi-threaded, wakeup FAIL 1566: '--etag-compare that gets a 304 back should not overwrite the file' HTTP, HTTP GET, --etag-compare FAIL 1567: 're-run redirected transfer without setting CURLU URL again' HTTP, URL API, CURLOPT_CURLU, CURLOPT_FOLLOWLOCATION FAIL 1568: 'HTTP with Digest authorization on custom CURLOPT_PORT' HTTP, HTTP GET, HTTP Digest auth FAIL 1569: 'FTP first type=A then regular URL' FTP, PASV, RETR FAIL 1570: 'FTP first type=D then regular URL' FTP, PASV, RETR FAIL 1571: 'CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1572: 'CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1573: 'CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1574: 'CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1575: 'CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1576: 'CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1577: 'CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1578: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1579: 'CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1580: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION FAIL 1581: 'CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION FAIL 1584: 'HTTP GET with -J and Content-Disposition including path' HTTP, HTTP GET, -J FAIL 1585: 'HTTP GET with -J and Content-Disposition including DOS path' HTTP, HTTP GET, -J FAIL 1590: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH FAIL 1591: 'HTTP PUT with trailers at the end' HTTP, HTTP PUT, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1593: 'HTTP custom header overrides CURLOPT_TIMECONDITION' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1594: 'HTTP Retry-After header parsing and extraction' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1595: 'HTTP Retry-After header extraction (without header)' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1596: 'HTTP Retry-After header parsing using a date' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since FAIL 1597: 'CURLOPT_PROTOCOLS_STR' CURLOPT_PROTOCOLS_STR FAIL 1598: 'HTTP POST with trailers at the end' HTTP, HTTP POST, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA FAIL 1599: 'FTP with netrc using no user but control code in password' FTP, netrc FAIL 1600: 'NTLM unit tests' unittest, NTLM FAIL 1601: 'MD5 unit tests' unittest, MD5 FAIL 1605: 'Test negative data lengths as input to libcurl functions' unittest FAIL 1606: 'verify speedcheck' unittest, speedcheck FAIL 1607: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE FAIL 1608: 'verify DNS shuffling' unittest, curlopt_dns_shuffle_addresses FAIL 1609: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE FAIL 1610: 'SHA256 unit tests' unittest, SHA256 FAIL 1611: 'MD4 unit tests' unittest, MD4 FAIL 1612: 'HMAC unit tests' unittest, HMAC FAIL 1613: 'Send "OPTIONS *" with --request-target to a proxy' HTTP, HTTP proxy, --request-target FAIL 1615: 'SHA-512/256 unit tests' unittest, SHA-512/256 FAIL 1617: 'HTTP GET transfer-encoding with two user Connection: headers' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1620: 'unit tests for url.c' unittest, URL FAIL 1621: 'unit tests for stripcredentials from URL' unittest, stripcredentials FAIL 1624: 'URL + --url-query with --next and another URL without --url-query' HTTP, --url-query, --next FAIL 1633: '--retry with a 429 response and Retry-After:' HTTP, HTTP GET, RETRY-AFTER FAIL 1634: '--retry with a 429 response and Retry-After: and --fail' HTTP, HTTP GET, RETRY-AFTER FAIL 1635: '--retry with a 429 response and Retry-After: and --fail-with-body' HTTP, HTTP GET, RETRY-AFTER FAIL 1637: 'HTTP 502 with --fail and --retry 2' HTTP, --retry, --fail FAIL 1641: 'HTTP GET with -J, a redirect and Content-Disposition in the second response' HTTP, HTTP GET, -J FAIL 1642: 'HTTP GET with -J, redirect, no Content-Disposition use the Location: name' HTTP, HTTP GET, -J FAIL 1643: 'HTTP -J, two redirects, use the last Location: name' HTTP, HTTP GET, -J FAIL 1652: 'infof' unittest, infof FAIL 1654: 'alt-svc' unittest, Alt-Svc FAIL 1660: 'HSTS' unittest, HSTS FAIL 1665: 'HTTP with only headers and no final CRLF separator' HTTP FAIL 1670: '-w individual header output' HTTP, HTTP GET, -w, %header FAIL 1671: '-w header JSON output' HTTP, HTTP GET, -w, %header FAIL 1680: 'HTTP GET with explicit clobber' HTTP, HTTP GET, --clobber FAIL 1681: 'HTTP GET without clobber' HTTP, HTTP GET, --no-clobber FAIL 1682: 'HTTP GET without clobber and --output-dir' HTTP, HTTP GET, --no-clobber FAIL 1683: 'HTTP GET without clobber when 100 files already exist' HTTP, HTTP GET, --no-clobber FAIL 1704: 'HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response' HTTP, HTTP GET, HTTP/2 FAIL 1711: 'Send >64K over SMTP' SMTP FAIL 1712: 'config file with argument using single quotes' HTTP, --config FAIL 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1802: 'HTTP CONNECT with custom headers for proxy and server' HTTP, HTTP CONNECT FAIL 1847: 'IMAP FETCH message with custom request' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 1848: 'IMAP FETCH message with custom request to get list of email.' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 1900: 'HSTS curl_easy_duphandle' HTTP, HSTS FAIL 1901: 'Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set' HTTP, HTTP POST, CURLOPT_READFUNCTION FAIL 1902: 'set COOKIEFILE and COOKIEJAR but make no transfer' cookies FAIL 1903: 'CURLOPT_COOKIEFILE then reset then set again' HTTP, cookies, CURLOPT_COOKIEFILE FAIL 1904: 'HTTP CONNECT with 204 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1905: 'CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object' HTTP, cookies, FLUSH FAIL 1906: 'CURLOPT_CURLU and CURLOPT_PORT' CURLOPT_CURLU, CURLOPT_PORT FAIL 1907: 'CURLINFO_EFFECTIVE_URL with non-scheme URL' CURLINFO_EFFECTIVE_URL FAIL 1909: 'HTTP GET --retry-all-errors to overcome partial transfer' HTTP, HTTP GET, retry FAIL 1910: 'HTTP credentials with newline and redirect' HTTP, HTTP Basic, CURLOPT_FOLLOWLOCATION FAIL 1911: 'verify that curl_easy_setopt() rejects too long string inputs' curl_easy_option FAIL 1913: 'FTP with NOBODY set, getting a missing file' FTP, CURLOPT_NOBODY FAIL 1914: 'FTP with NOBODY and FILETIME set, getting a missing file' FTP, CURLOPT_NOBODY, CURLOPT_FILETIME FAIL 1915: 'HSTS read/write callbacks' HTTP, HSTS, CURLOPT_HSTSREADFUNCTION FAIL 1916: 'MQTT PUBLISH with no POSTFIELDSIZE set' MQTT, MQTT PUBLISH FAIL 1917: 'MQTT PUBLISH with CURLOPT_POST set (no payload)' MQTT, MQTT PUBLISH FAIL 1919: 'set CURLOPT_XOAUTH2_BEARER and do connection reuse' connection reuse FAIL 1920: 'load cookies, perform then reset before cleanup' cookies FAIL 1940: 'curl_easy_header' curl_easy_header FAIL 1941: 'curl_easy_header with CONNECT' curl_easy_header, CONNECT FAIL 1942: 'curl_easy_header with 1xx response' curl_easy_header, CONNECT FAIL 1943: 'curl_easy_header with trailers' curl_easy_header, CONNECT FAIL 1944: 'curl_easy_header with redirect' curl_easy_header FAIL 1945: 'curl_easy_nextheader with server + CONNECT' curl_easy_header, CONNECT FAIL 1946: 'curl_easy_header with redirect but get headers from first request' curl_easy_header FAIL 1947: 'curl_easy_nextheader on second request after first did redirects' curl_easy_nextheader FAIL 1948: 'CURLOPT_POST after CURLOPT_UPLOAD reusing handle' HTTP, HTTP POST, HTTP PUT FAIL 1960: 'application hands over already connected socket' HTTP, CURLOPT_SOCKOPTFUNCTION, CURL_SOCKOPT_ALREADY_CONNECTED FAIL 1964: 'HTTP AWS_SIGV4 with X-Xxx-Date header set manually' HTTP, CURLOPT_AWS_SIGV4 FAIL 1977: 'CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL' CURLOPT_CURLU, CURLINFO_EFFECTIVE_URL FAIL 2000: 'FTP RETR followed by FILE' FTP, PASV, FILE, multiprotocol FAIL 2001: 'HTTP GET followed by FTP RETR followed by FILE' HTTP, HTTP GET, FTP, PASV, FILE, multiprotocol FAIL 2002: 'HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2003: 'HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2005: 'netrc match with password only in file, no username. machine follows' HTTP, netrc FAIL 2006: '.netrc default with redirect plus oauth2-bearer' netrc, HTTP FAIL 2023: 'HTTP authorization retry (Basic)' HTTP, HTTP GET, HTTP Basic auth FAIL 2024: 'HTTP authorization retry (Basic switching to Digest)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2025: 'HTTP authorization retry (Basic switching to NTLM)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2026: 'HTTP authorization retry (Digest switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth FAIL 2027: 'HTTP authorization retry (Digest)' HTTP, HTTP GET, HTTP Digest auth FAIL 2028: 'HTTP authorization retry (Digest switching to NTLM)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2029: 'HTTP authorization retry (NTLM switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP NTLM auth, NTLM FAIL 2030: 'HTTP authorization retry (NTLM switching to Digest)' HTTP, HTTP GET, HTTP Digest auth, HTTP NTLM auth, NTLM FAIL 2031: 'HTTP authorization retry (NTLM)' HTTP, HTTP GET, HTTP NTLM auth, NTLM FAIL 2039: 'FTP (optional .netrc with 'default' override; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 2040: 'HTTP Basic authorization, then without authorization' HTTP, HTTP GET, HTTP Basic auth FAIL 2044: 'Attempt to set a default protocol that does not exist' --proto-default FAIL 2045: 'Set the default protocol to ftp for a schemeless URL' FTP, --proto-default FAIL 2046: 'Connection reuse with IDN hostname' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 2047: 'Connection reuse with IDN hostname over HTTP proxy' HTTP, HTTP GET, HTTP proxy, IDN, followlocation, --write-out FAIL 2049: 'Connect to specific host' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2050: '--connect-to via HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO FAIL 2051: 'Connect to specific host: Reuse existing connections if possible' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2052: '--connect-to: do not mix connections with and without a "connect to host"' HTTP, HTTP GET, CURLOPT_CONNECT_TO, --resolve FAIL 2053: 'Connect to specific host with IP addresses' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2054: 'Connect to specific host: use the first "connect-to" string that matches' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2055: '--connect-to via SOCKS proxy and HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO, SOCKS5 FAIL 2058: 'HTTP Digest with PUT, resumed upload, modified method and SHA-256' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2059: 'HTTP Digest with PUT, resumed upload, modified method, SHA-256 and userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2060: 'HTTP Digest with PUT, resumed upload, SHA-512-256, userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST FAIL 2061: 'HTTP with RFC7616 SHA256 Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 2062: 'HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false' HTTP, HTTP GET, HTTP Digest auth FAIL 2063: 'HTTP with RFC7616 SHA-256 Digest authorization and userhash=true' HTTP, HTTP GET, HTTP Digest auth FAIL 2064: 'HTTP with RFC7616 Digest authorization with bad password and SHA256' HTTP, HTTP GET, HTTP Digest auth FAIL 2065: 'HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash' HTTP, HTTP GET, HTTP Digest auth FAIL 2066: 'HTTP with RFC7616 Digest, bad password, SHA-256 and userhash' HTTP, HTTP GET, HTTP Digest auth FAIL 2067: 'HTTP POST --digest with SHA256 and user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2068: 'HTTP POST Digest with SHA-512-256, userhash and set Content-Length' HTTP, HTTP POST, HTTP Digest auth FAIL 2069: 'HTTP POST Digest with SHA-256, userhash and set Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2071: 'basic file:// file with "127.0.0.1" hostname' FILE FAIL 2072: 'file:// with Unix path resolution behavior for the case of extra slashes' FILE FAIL 2073: 'HTTP form posts with handle reset' HTTP, HTTP FORMPOST FAIL 2074: 'HTTP GET' HTTP, HTTP GET, AUTH OAUTHBEARER FAIL 2075: 'Verify usernames are not allowed in url' --disallow-username-in-url, HTTP FAIL 2076: 'HTTP with digest auth and URI contains query' HTTP, HTTP GET, HTTP Digest auth FAIL 2077: 'curl --fail --negotiate to unauthenticated service fails' HTTP, HTTP GET, GSS-API FAIL 2078: 'curl --negotiate should not send empty POST request only' HTTP, HTTP GET, GSS-API FAIL 2080: 'config file with overly long option' FILE, config, --config FAIL 2081: 'Automatic referrer credential and anchor stripping check' HTTP, HTTP GET, referer, followlocation, --write-out FAIL 2082: 'Pre-request callback for HTTP' HTTP FAIL 2083: 'Pre-request callback for FTP' FTP FAIL 2084: 'Pre-request callback for HTTP with callback terminating transfer' HTTP FAIL 2085: 'Pre-request callback for HTTP with location following' HTTP, followlocation FAIL 2086: 'Pre-request callback for HTTP IPv6' HTTP, IPv6 FAIL 2091: 'HTTP Digest auth with OWS and escaped quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 2200: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2201: 'MQTT PUBLISH with user and password valid' MQTT, MQTT PUBLISH FAIL 2202: 'MQTT PUBLISH with invalid user and password' MQTT, MQTT PUBLISH FAIL 2203: 'MQTT with error in CONNACK' MQTT, MQTT SUBSCRIBE FAIL 2204: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2205: 'MQTT with 64 KiB long username' MQTT, MQTT SUBSCRIBE FAIL 2306: 'HTTP GET reused handle with first header folded' HTTP, HTTP GET FAIL 2307: 'FTP retrieve a byte-range with end larger than file' FTP, EPSV, RETR, Range FAIL 2308: 'verify return code when write callback returns error' HTTP, HTTP GET FAIL 2309: 'HTTP with .netrc using duped easy handle' netrc, HTTP FAIL 2601: 'bufq unit tests' unittest, bufq FAIL 2603: 'http1 parser unit tests' unittest, http1 FAIL 2604: 'Curl_get_pathname unit test' unittest FAIL 2605: 'Curl_ssh_range unit test' unittest, sftp FAIL 3002: 'SMTP multiple and invalid (first) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3003: 'SMTP multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3004: 'SMTP multiple and invalid (middle) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3005: 'SMTP multiple invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3006: 'SMTP with multiple invalid (all) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3007: 'SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3008: '--output-dir' -O FAIL 3009: '--output-dir a non-existing directory' -O FAIL 3010: 'HTTP retry-after reset' HTTP, HTTP Basic, RETRY-AFTER FAIL 3011: '--output-dir with --create-dirs' -O FAIL 3012: '--output-dir with -J and -R' -O, -J, --output-dir, --remote-time FAIL 3013: 'Two --output-dir with --next in between' -O, -J, --output-dir FAIL 3014: 'Check if %{num_headers} returns correct number of headers' HTTP, --write-out FAIL 3015: 'HTTP GET -w num_headers with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 3016: 'GET a directory using file://' HTTP, HTTP GET, FILE FAIL 3017: 'MQTT SUBSCRIBE with pathological PUBLISH length' MQTT, MQTT SUBSCRIBE FAIL 3018: 'MQTT SUBSCRIBE with PUBLISH larger than --max-filesize' MQTT, MQTT SUBSCRIBE, --max-filesize FAIL 3019: 'HTTP with invalid --resolve syntax' HTTP, HTTP GET, --resolve FAIL 3020: 'HTTP with invalid --connect-to syntax' HTTP, HTTP GET, --connect-to FAIL 3025: 'CURLOPT_HTTP200ALIASES' HTTP, HTTP GET FAIL 3027: 'Get a file via FTP but 550 after MDTM command' FTP, CURLOPT_FILETIME, MDTM fail FAIL 3028: 'HTTP GET when PROXY Protocol enabled behind a proxy' HTTP, HTTP CONNECT FAIL 3029: 'HTTP with multiple -D' HTTP FAIL 3030: 'HTTP with multiple transfers in one -D' HTTP FAIL 3031: '--output-dir with --create-dirs' --dump-header FAIL 3032: 'HTTP redirect loop 3x swsbounce test' HTTP, --location FAIL 3033: 'CURLOPT_FRESH_CONNECT=2' curl_easy_setopt, connection reuse, libtest FAIL 3034: 'Test reset resolves rewind failure' CURLOPT_READFUNCTION, curl_easy_reset, rewind FAIL 3035: 'HTTP retry failed download with keep data and auto-resume' HTTP, HTTP GET, Content-Range, Resume, retry FAIL 3100: 'RTSP Authentication check' RTSP, RTSP Basic auth FAIL 3101: 'HTTP auth without redirection protocols' HTTP, HTTP Basic auth FAIL 3103: 'CURLOPT_COOKIELIST without expiry' cookies FAIL 3104: 'CURLOPT_COOKIELIST with Netscape format' cookies FAIL 3105: 'curl_multi_remove_handle twice' curl_multi_remove_handle FAIL 3201: 'HTTP GET when PROXY Protocol enabled and spoofed client IP' HTTP, HTTP GET, proxy, haproxy FAIL 3202: 'HTTP-IPv6 GET with PROXY protocol with spoofed client IP' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 3203: 'GET a directory using file://' HTTP, HTTP GET, FILE FAIL 3204: 'Use --etag-compare and --etag-save on an existing file' HTTP, HTTP GET FAIL 3206: 'IMAP custom FETCH with larger literal response (~7KB)' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 3209: 'Upload message via IMAP with upload flags' IMAP, Clear Text, APPEND, UPLOAD FAIL 3210: 'Upload message unread via IMAP' IMAP, Clear Text, APPEND, UPLOAD FAIL 3211: 'uint_bset unit tests' unittest, uint_bset FAIL 3212: 'uint_bset unit tests' unittest, uint_bset FAIL 3213: 'uint_spbset unit tests' unittest, uint_spbset FAIL 3215: 'SMTP DSN' SMTP DSN TESTFAIL: These test cases failed: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 314 315 316 317 318 319 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 357 360 361 362 365 366 367 368 369 370 371 372 373 374 376 378 379 380 381 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 402 405 411 415 416 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 434 435 436 440 441 442 443 444 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 467 468 469 470 471 473 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 507 508 509 510 511 512 513 514 515 516 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 559 561 562 563 564 565 566 567 568 569 570 571 572 574 575 576 577 578 579 580 581 584 585 586 588 589 590 591 592 593 595 596 597 598 599 632 643 645 646 647 648 649 650 651 652 653 654 655 658 659 660 661 662 663 666 667 668 669 670 671 672 673 674 675 676 677 679 680 681 682 683 684 685 686 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 746 747 748 749 750 751 752 754 755 756 757 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 778 779 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 824 825 826 827 828 829 830 831 833 834 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 870 871 872 873 874 875 876 877 879 880 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 935 936 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 962 963 964 965 966 967 968 969 973 974 975 976 977 978 979 980 981 982 983 984 985 986 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1098 1099 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1114 1115 1116 1117 1118 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1136 1137 1138 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1164 1166 1168 1170 1171 1172 1174 1176 1178 1180 1181 1183 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1210 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1273 1274 1277 1278 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1296 1297 1298 1299 1300 1302 1303 1308 1309 1310 1311 1312 1313 1314 1315 1317 1318 1319 1320 1321 1322 1324 1325 1326 1327 1328 1329 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1396 1398 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1447 1448 1449 1453 1455 1456 1457 1458 1460 1462 1463 1464 1465 1466 1467 1468 1469 1471 1472 1473 1474 1475 1476 1479 1480 1481 1482 1483 1484 1485 1487 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1511 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1539 1540 1541 1542 1543 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1584 1585 1590 1591 1593 1594 1595 1596 1597 1598 1599 1600 1601 1605 1606 1607 1608 1609 1610 1611 1612 1613 1615 1617 1620 1621 1624 1633 1634 1635 1637 1641 1642 1643 1652 1654 1660 1665 1670 1671 1680 1681 1682 1683 1704 1711 1712 1800 1802 1847 1848 1900 1901 1902 1903 1904 1905 1906 1907 1909 1910 1911 1913 1914 1915 1916 1917 1919 1920 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1964 1977 2000 2001 2002 2003 2005 2006 2023 2024 2025 2026 2027 2028 2029 2030 2031 2039 2040 2044 2045 2046 2047 2049 2050 2051 2052 2053 2054 2055 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2071 2072 2073 2074 2075 2076 2077 2078 2080 2081 2082 2083 2084 2085 2086 2091 2200 2201 2202 2203 2204 2205 2306 2307 2308 2309 2601 2603 2604 2605 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3025 3027 3028 3029 3030 3031 3032 3033 3034 3035 3100 3101 3103 3104 3105 3201 3202 3203 3204 3206 3209 3210 3211 3212 3213 3215 make[1]: *** [Makefile:837: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1084: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_5c1e3b9f-8cbe-443a-bdb5-92ebcaf0b08f/build